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. 4.8.2.JSDOM对象控制HTML元素详解

    1 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title ...

  2. Android简单计时器(转)

    原文:http://blog.csdn.net/fwwdn/article/details/7550822 本文利用ContextMenu(上下文菜单),Chronometer实现简单计数器. Mai ...

  3. 使用IDEA,Eclispe搭建Spring Boot项目

    如何创建一个Spring Boot项目?这里使用maven来进行依赖管理,根据常用的IDE,可以使用IDEA.Eclipse.或者访问官方网站搭建. 项目搭建环境准备 JDK:1.8 MAVEN:3. ...

  4. 使用Linux命令修改数据库密码

    通过登录mysql系统,# mysql -uroot -pEnter password: [输入原来的密码]mysql>use mysql;mysql> update user set p ...

  5. 学成在线(第17天)用户认证 Zuul

    用户认证 用户认证流程分析 用户认证流程如下: 业务流程说明如下: 1.客户端请求认证服务进行认证.2.认证服务认证通过向浏览器cookie写入token(身份令牌)认证服务请求用户中心查询用户信息. ...

  6. 5.5 Nginx 负载均衡

    ip_hash 语法:ip_hash 默认值:none 使用字段:upstream 这个指令将基于客户端连接的IP地址来分发请求.哈希的关键字是客户端的C类网络地址,这个功能将保证这个客户端请求总是被 ...

  7. MyEclipse插件github安装使用

    MyEclipse插件github安装使用   网络上的介绍一堆堆的,但是自己尝试了下,发现问题很多,就动手做个教程. 大纲 1.git客户端安装 2.ssh配置 3.egit安装配置 4.参考资料 ...

  8. 2-10 就业课(2.0)-oozie:8、定时任务的执行

    4.5.oozie的任务调度,定时任务执行 在oozie当中,主要是通过Coordinator 来实现任务的定时调度,与我们的workflow类似的,Coordinator 这个模块也是主要通过xml ...

  9. uni app中关于图片的分包加载

    因为在项目中使用了大量的静态资源图片,使得主包体积过大, 而把这些图片全部放到服务器又有点麻烦,就想能不能把图片也分包,但是直接放在分包下的话导致图片资源找不到了, 在社区中看到大佬分享的十分有用,特 ...

  10. 062、Java中的方法重载

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...