TurtleSim测试日志(基于ROS2 Eloquent Elusor)

1.ros2 run

1.1 ros2 run turtlesim turtlesim_node --ros-args --remap __node:=robotMan

1.2 ros2 run turtlesim turtle_teleop_key --ros-args --remap __node:=robotRC

2.ros2 node

2.1 ros2 node list

/robotMan

/robotRC

2. 2 ros2 node info /robotMan

/robotMan

Subscribers:

/parameter_events: rcl_interfaces/msg/ParameterEvent

/turtle1/cmd_vel: geometry_msgs/msg/Twist

Publishers:

/parameter_events: rcl_interfaces/msg/ParameterEvent

/rosout: rcl_interfaces/msg/Log

/turtle1/color_sensor: turtlesim/msg/Color

/turtle1/pose: turtlesim/msg/Pose

Service Servers:

/clear: std_srvs/srv/Empty

/kill: turtlesim/srv/Kill

/reset: std_srvs/srv/Empty

/robotMan/describe_parameters: rcl_interfaces/srv/DescribeParameters

/robotMan/get_parameter_types: rcl_interfaces/srv/GetParameterTypes

/robotMan/get_parameters: rcl_interfaces/srv/GetParameters

/robotMan/list_parameters: rcl_interfaces/srv/ListParameters

/robotMan/set_parameters: rcl_interfaces/srv/SetParameters

/robotMan/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically

/spawn: turtlesim/srv/Spawn

/turtle1/set_pen: turtlesim/srv/SetPen

/turtle1/teleport_absolute: turtlesim/srv/TeleportAbsolute

/turtle1/teleport_relative: turtlesim/srv/TeleportRelative

Service Clients:

Action Servers:

/turtle1/rotate_absolute: turtlesim/action/RotateAbsolute

Action Clients:

3.ros2 topic

3.1 ros2 topic list -t

/parameter_events [rcl_interfaces/msg/ParameterEvent]

/rosout [rcl_interfaces/msg/Log]

/turtle1/cmd_vel [geometry_msgs/msg/Twist]

/turtle1/color_sensor [turtlesim/msg/Color]

/turtle1/pose [turtlesim/msg/Pose]

3.2 ros2 topic type /turtle1/cmd_vel

geometry_msgs/msg/Twist

ros2 interface show geometry_msgs/msg/Twist

# This expresses velocity in free space broken into its linear and angular parts.

Vector3  linear

Vector3  angular

3.3 ros2 topic info /turtle1/cmd_vel

Type: geometry_msgs/msg/Twist

Publisher count: 1

Subscriber count: 1

3. 4 ros2 topic hz /turtle1/cmd_vel

average rate: 0.406

min: 0.001s max: 4.923s std dev: 2.46103s window: 2

average rate: 1.329

min: 0.000s max: 4.923s std dev: 1.58888s window: 8

3. 5 ros2 topic bw /turtle1/cmd_vel

Subscribed to [/turtle1/cmd_vel]

average: 218.03B/s

mean: 52.00B/s min: 52.00B/s max: 52.00B/s window: 2

average: 140.26B/s

mean: 52.00B/s min: 52.00B/s max: 52.00B/s window: 4

3.6 ros2 topic delay /turtle1/cmd_vel

msg does not have header

3.7 ros2 topic echo /turtle1/cmd_vel

linear:

x: 0.0

y: 0.0

z: 0.0

angular:

x: 0.0

y: 0.0

z: -2.0

---

linear:

x: 0.0

y: 0.0

z: 0.0

angular:

x: 0.0

y: 0.0

z: -2.0

3.8 ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist “{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}”

publisher: beginning loop

publishing #1: geometry_msgs.msg.Twist(linear=geometry_msgs.msg.Vector3(x=2.0, y=0.0, z=0.0), angular=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=1.8))

ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

publisher: beginning loopss

publishing #1: geometry_msgs.msg.Twist(linear=geometry_msgs.msg.Vector3(x=2.0, y=0.0, z=0.0), angular=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=1.8))

publishing #2: geometry_msgs.msg.Twist(linear=geometry_msgs.msg.Vector3(x=2.0, y=0.0, z=0.0), angular=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=1.8))

publishing #3: geometry_msgs.msg.Twist(linear=geometry_msgs.msg.Vector3(x=2.0, y=0.0, z=0.0), angular=geometry_msgs.msg.Vector3(x=0.0, y=0.0, z=1.8))

3.9 ros2 topic find geometry_msgs/msg/Twist

/turtle1/cmd_vel

 

4.ros2 service

4.1 ros2 service list -t

/clear [std_srvs/srv/Empty]

/kill [turtlesim/srv/Kill]

/reset [std_srvs/srv/Empty]

/robotMan/describe_parameters [rcl_interfaces/srv/DescribeParameters]

/robotMan/get_parameter_types [rcl_interfaces/srv/GetParameterTypes]

/robotMan/get_parameters [rcl_interfaces/srv/GetParameters]

/robotMan/list_parameters [rcl_interfaces/srv/ListParameters]

/robotMan/set_parameters [rcl_interfaces/srv/SetParameters]

/robotMan/set_parameters_atomically [rcl_interfaces/srv/SetParametersAtomically]

/robotRC/describe_parameters [rcl_interfaces/srv/DescribeParameters]

/robotRC/get_parameter_types [rcl_interfaces/srv/GetParameterTypes]

/robotRC/get_parameters [rcl_interfaces/srv/GetParameters]

/robotRC/list_parameters [rcl_interfaces/srv/ListParameters]

/robotRC/set_parameters [rcl_interfaces/srv/SetParameters]

/robotRC/set_parameters_atomically [rcl_interfaces/srv/SetParametersAtomically]

/spawn [turtlesim/srv/Spawn]

/turtle1/set_pen [turtlesim/srv/SetPen]

/turtle1/teleport_absolute [turtlesim/srv/TeleportAbsolute]

/turtle1/teleport_relative [turtlesim/srv/TeleportRelative]

4.2 ros2 service type /spawn                                 /kill

turtlesim/srv/Spawn                                                                                turtlesim/srv/Kill

ros2 interface show turtlesim/srv/Spawn                           turtlesim/srv/Kill

float32 x                                                                                                                  string name

float32 y                                                                                                                  ---

float32 theta

string name # Optional.  A unique name will be created and returned if this is empty

---

string name

4.3 ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: 'turtleXYZ'}"

waiting for service to become available...

requester: making request: turtlesim.srv.Spawn_Request(x=2.0, y=2.0, theta=0.2, name='turtleXYZ')

response:

turtlesim.srv.Spawn_Response(name='turtleXYZ')

ros2 node list

/robotMan

/robotRC

ros2 topic list

/parameter_events

/rosout

/turtle1/cmd_vel

/turtle1/color_sensor

/turtle1/pose

/turtleXYZ/cmd_vel

/turtleXYZ/color_sensor

/turtleXYZ/pose

ros2 service list

/clear

/kill

/reset

/robotMan/describe_parameters

/robotMan/get_parameter_types

/robotMan/get_parameters

/robotMan/list_parameters

/robotMan/set_parameters

/robotMan/set_parameters_atomically

/robotRC/describe_parameters

/robotRC/get_parameter_types

/robotRC/get_parameters

/robotRC/list_parameters

/robotRC/set_parameters

/robotRC/set_parameters_atomically

/spawn

/turtle1/set_pen

/turtle1/teleport_absolute

/turtle1/teleport_relative

/turtleXYZ/set_pen

/turtleXYZ/teleport_absolute

/turtleXYZ/teleport_relative

ros2 service call /kill turtlesim/srv/Kill "{name: 'turtleXYZ'}"

waiting for service to become available...

requester: making request: turtlesim.srv.Kill_Request(name='turtleXYZ')

response:

turtlesim.srv.Kill_Response()

4.4 ros2 service find turtlesim/srv/Spawn                                           turtlesim/srv/Kill

/spawn                                                                                                                                     /kill

5.ros2 action

5.1 ros2 action list -t

/turtle1/rotate_absolute [turtlesim/action/RotateAbsolute]

5.2 ros2 action info /turtle1/rotate_absolute

Action: /turtle1/rotate_absolute

Action clients: 1

/robotRC

Action servers: 1

/robotMan

5.3 ros2 action show turtlesim/action/RotateAbsolute

# The desired heading in radians

float32 theta

---

# The angular displacement in radians to the starting position

float32 delta

---

# The remaining rotation in radians

float32 remaining

ros2 interface show turtlesim/action/RotateAbsolute

# The desired heading in radians

float32 theta

---

# The angular displacement in radians to the starting position

float32 delta

---

# The remaining rotation in radians

float32 remaining

5.4 ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: 1.57}"

Waiting for an action server to become available...

Sending goal:

theta: 1.57

Goal accepted with ID: 0f0afda3857f4c7393360e211f6701f9

Result:

delta: -1.5520002841949463

Goal finished with status: SUCCEEDED

6.ros2 param

6.1 ros2 param list

/robotMan:

background_b

background_g

background_r

use_sim_time

/robotRC:

scale_angular

scale_linear

use_sim_time

6.2 ros2 param get /robotMan background_r

Integer value is: 69

6.3 ros2 param set /robotMan background_r 255

Set parameter successful

ros2 param dump /robotMan

Saving to:  .\robotMan.yaml

robotMan:

ros__parameters:

background_b: 255

background_g: 86

background_r: 255

use_sim_time: false

6.4 ros2 param delete /robotMan background_r

Deleted parameter successfully

ros2 param list

/robotMan:

background_b

background_g

use_sim_time

/robotRC:

scale_angular

scale_linear

use_sim_time

6.5 ros2 param describe /robotMan /background_r

Parameter name: background_r

Type: integer

Description: Red channel of the background color

Constraints:

Min value: 0

Max value: 255

6.6 ros2 param dump /robotMan

Saving to:  .\robotMan.yaml

 

7.ros2 launch

7.1 ros2 launch turtlesim_mimic_launch.py

[INFO] [launch]: All log files can be found below C:\Users\Administrator\.ros/log\2020-01-02-20-17-03-535917-Win10PC-9152

[INFO] [launch]: Default logging verbosity is set to INFO

[INFO] [turtlesim_node.EXE-1]: process started with pid [3832]

[INFO] [turtlesim_node.EXE-2]: process started with pid [10064]

[INFO] [mimic.EXE-3]: process started with pid [8304]

from  launch import LaunchDescription

from launch_ros.actions import Node

def generate_launch_description():

return LaunchDescription([

Node(

package='turtlesim',

node_executable='turtlesim_node',

node_name='robotMan',

node_namespace='namespaceABC',

),

Node(

package='turtlesim',

node_executable='turtlesim_node',

node_name='robotMan',

node_namespace='namespaceXYZ'

),

Node(

package='turtlesim',

node_executable='mimic',

node_name='mimic',

remappings=[

('/input/pose', '/namespaceABC/turtle1/pose'),

('/output/cmd_vel', '/namespaceXYZ/turtle1/cmd_vel'),

]

)

])

ros2 topic pub -r 1 /namespaceABC/turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: -1.8}}"

ros2 node list

/launch_ros

/mimic

/namespaceABC/robotMan

/namespaceXYZ/robotMan

ros2 topic list

/namespaceABC/parameter_events

/namespaceABC/robotMan/pose

/namespaceABC/rosout

/namespaceABC/turtle1/cmd_vel

/namespaceABC/turtle1/color_sensor

/namespaceABC/turtle1/pose

/namespaceXYZ/parameter_events

/namespaceXYZ/robotMan/cmd_vel

/namespaceXYZ/rosout

/namespaceXYZ/turtle1/cmd_vel

/namespaceXYZ/turtle1/color_sensor

/namespaceXYZ/turtle1/pose

/parameter_events

/rosout

ros2 action list

/namespaceABC/turtle1/rotate_absolute

/namespaceXYZ/turtle1/rotate_absolute

ros2 param list

/launch_ros:

use_sim_time

/mimic:

use_sim_time

/namespaceABC/robotMan:

background_b

background_g

background_r

use_sim_time

/namespaceXYZ/robotMan:

background_b

background_g

background_r

use_sim_time

ros2 service list

/launch_ros/describe_parameters

/launch_ros/get_parameter_types

/launch_ros/get_parameters

/launch_ros/list_parameters

/launch_ros/set_parameters

/launch_ros/set_parameters_atomically

/mimic/describe_parameters

/mimic/get_parameter_types

/mimic/get_parameters

/mimic/list_parameters

/mimic/set_parameters

/mimic/set_parameters_atomically

/namespaceABC/clear

/namespaceABC/kill

/namespaceABC/reset

/namespaceABC/robotMan/describe_parameters

/namespaceABC/robotMan/get_parameter_types

/namespaceABC/robotMan/get_parameters

/namespaceABC/robotMan/list_parameters

/namespaceABC/robotMan/set_parameters

/namespaceABC/robotMan/set_parameters_atomically

/namespaceABC/spawn

/namespaceABC/turtle1/set_pen

/namespaceABC/turtle1/teleport_absolute

/namespaceABC/turtle1/teleport_relative

/namespaceXYZ/clear

/namespaceXYZ/kill

/namespaceXYZ/reset

/namespaceXYZ/robotMan/describe_parameters

/namespaceXYZ/robotMan/get_parameter_types

/namespaceXYZ/robotMan/get_parameters

/namespaceXYZ/robotMan/list_parameters

/namespaceXYZ/robotMan/set_parameters

/namespaceXYZ/robotMan/set_parameters_atomically

/namespaceXYZ/spawn

/namespaceXYZ/turtle1/set_pen

/namespaceXYZ/turtle1/teleport_absolute

/namespaceXYZ/turtle1/teleport_relative

ROS2学习日志:TurtleSim测试日志(基于ROS2 Eloquent Elusor)的更多相关文章

  1. ROS2学习日志:QoS学习日志

    QoS学习日志 参考:ROS2API 及 https://index.ros.org/doc/ros2/Concepts/About-Quality-of-Service-Settings 1.概述 ...

  2. ROS2学习之旅(4)——理解ROS2 Graph中的节点

    ROS(2)图(ROS(2) graph)是一个同时处理数据的基于ROS2元素的网络,它包含了所有的可执行文件以及它们之间的连接.图中的基本元素包括:节点(nodes).话题(topics).服务(s ...

  3. ROS2学习之旅(1)——初识ROS2

    本系列用来记录ROS2的学习过程,有错误或者不合理的地方请大家指正.由于博主具有ROS1的学习经历,会添加一些与ROS1的一些对比,当然这对于ROS2本身的学习内容没有丝毫影响,欢迎大家积极与我在评论 ...

  4. 基于Flask框架搭建视频网站的学习日志(一)

    ------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境 ...

  5. 基于Flask框架搭建视频网站的学习日志(二)

    基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask ...

  6. 基于Flask框架搭建视频网站的学习日志(三)之原始web表单

    基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老 ...

  7. 基于ros2 dashing的建图导航探索

    基于ros2 dashing的建图导航探索 1. 环境准备 安装ros2 dashing, 参考链接: https://index.ros.org/doc/ros2/Installation/Dash ...

  8. webpack2学习日志

    webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是 ...

  9. Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例

    本文目录 1. Net下日志记录 2. NLog的使用     2.1 添加nuget引用NLog.Web.AspNetCore     2.2 配置文件设置     2.3 依赖配置及调用     ...

随机推荐

  1. 新闻网大数据实时分析可视化系统项目——9、Flume+HBase+Kafka集成与开发

    1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File ...

  2. BOM--location对象、history对象

    location对象 location 是最有用的BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能. 事实上,location 对象是很特别的一个对象,因为它既是win ...

  3. mutiset的简单介绍转载

    原文链接:https://blog.csdn.net/sodacoco/article/details/84798621        c++语言中,multiset是<set>库中一个非 ...

  4. 图的Prim,Kruskal,Dijkstra,Floyd算法

    代码部分有点问题,具体算法没问题, 最近期末考,要过段时间才会修改 //邻接矩阵,具体情况看上一篇的图的实现template<class T>class MGraph {public:   ...

  5. Spring JMSTemplate 与 JMS 原生API比较

    博客分类: JMS Spring 2.x   JMSUtil与Spring JmsTemplate的对比 Author:信仰 Date:2012-4-20 未完待续,截止日期2012-4-20 从以下 ...

  6. C++ Primer Plus 6 笔记(1)

    1-3章 1.cin.get(),在程序末尾,让窗口一直打开. 2.c++版本的math.h为cmath 3.<< 在c++中是插入运算符,在c中是左移运算符 4.&在C中既表示地 ...

  7. Echarts学习宝典

    1,可以使用百度图说中的图表代码复制到option中,还可在百度图说中以可视化的方式编辑数据,调整参数和编辑样式.(也可借助百度图说更改部分样式) 2,借助网站 https://echarts.bai ...

  8. shell命令、调度工具、后台执行线程和软连接

    一.shell命令 1.后缀.sh 第一行需要加#!/bin/bash 没有的话,需呀sh 命令执行 示例test.sh: #!/bin/bash date ./test.sh 提示没有权限,此时,需 ...

  9. Linux下四种安装软件方式

    1.yum源安装 可以解决依赖关系,但不确定安装的位置 2.rpm 基础安装 要自己解决依赖问题 rpm -ivh 安装 rpm -uvh 更新 rpm -e --nodeps 卸载    取消依赖 ...

  10. lambda表达式-很好---《转载》

    Lambda表达式详解 前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0 ...