ROS2学习日志:TurtleSim测试日志(基于ROS2 Eloquent Elusor)
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)的更多相关文章
- ROS2学习日志:QoS学习日志
QoS学习日志 参考:ROS2API 及 https://index.ros.org/doc/ros2/Concepts/About-Quality-of-Service-Settings 1.概述 ...
- ROS2学习之旅(4)——理解ROS2 Graph中的节点
ROS(2)图(ROS(2) graph)是一个同时处理数据的基于ROS2元素的网络,它包含了所有的可执行文件以及它们之间的连接.图中的基本元素包括:节点(nodes).话题(topics).服务(s ...
- ROS2学习之旅(1)——初识ROS2
本系列用来记录ROS2的学习过程,有错误或者不合理的地方请大家指正.由于博主具有ROS1的学习经历,会添加一些与ROS1的一些对比,当然这对于ROS2本身的学习内容没有丝毫影响,欢迎大家积极与我在评论 ...
- 基于Flask框架搭建视频网站的学习日志(一)
------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境 ...
- 基于Flask框架搭建视频网站的学习日志(二)
基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask ...
- 基于Flask框架搭建视频网站的学习日志(三)之原始web表单
基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老 ...
- 基于ros2 dashing的建图导航探索
基于ros2 dashing的建图导航探索 1. 环境准备 安装ros2 dashing, 参考链接: https://index.ros.org/doc/ros2/Installation/Dash ...
- webpack2学习日志
webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是 ...
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
本文目录 1. Net下日志记录 2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 ...
随机推荐
- 在 Mac/Windows 系统中使用 Laradock 搭建基于 Docker 的 Laravel 开发环境 (改)
开篇 Use Docker First And Learn About It Later 简介 Laradock 是为 Docker 提供的完整 PHP 本地开发环境,和 Homestead 一样提供 ...
- MAC Matlab 中文乱码
环境:macOS High Sierra 10.13.4 问题:文件中文注释乱码(再次打开文件时) / 控制台输出中文乱码 解决方法: 官网下载补丁(https://ww2.mathworks.cn/ ...
- Java 8 Stream 的终极技巧——Collectors 操作
1. 前言 昨天在 Collection移除元素操作 相关的文章中提到了 Collectors .相信很多同学对这个比较感兴趣,那我们今天就来研究一下 Collectors . 2. Collecto ...
- SQL Server DATEADD() 函数 一步步使用教程
SQL Server DATEADD() 函数 DATEADD() 函数在日期中添加或减去指定的时间间隔. DATEADD(datepart,number,date)date 参数是合法的日期表达式. ...
- freemarker技术入门例子(结合struts2)
由于最近项目里面要求要使用freemarker技术来做展现层,所以在网上搜索了好多资料,基础知识是看了李刚原来写的那本<struts2权威指南>.一直想在网上找一个很基础的例子来入门,但是 ...
- python内置函数二
issubclass(a,b) 判断a类是否属于b的子类 返回为布尔值 locals() 显示局部变量 max() 取最大值 min() 取最小值 zip() 拉链方法 ...
- QAM格雷码映射的规则(Gray Code Mapping in QAM)
高阶调制(QAM,MQAM)信号中做基带映射,格雷码作为一种规范的映射规则,加上I,Q方向上相邻两个星座点对应的Bit_Cluster中只有一个Bit不同,所以有方便统一的特性. 以16QAM为例,先 ...
- PCA主成分分析算法的数学原理推导
PCA(Principal Component Analysis)主成分分析法的数学原理推导1.主成分分析法PCA的特点与作用如下:(1)是一种非监督学习的机器学习算法(2)主要用于数据的降维(3)通 ...
- P1071 小赌怡情
P1071 小赌怡情 转跳点:
- Day5 - C - Agri-Net POJ - 1258
Farmer John has been elected mayor of his town! One of his campaign promises was to bring internet c ...