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 依赖配置及调用 ...
随机推荐
- 标准模板库中的栈(stack)
////C++数据结构与算法(第4版) Adam Drozdek 著 徐丹 吴伟敏<<清华大学出版社>> STL中的通用栈类实现为容器适配器:使用以指定方式运行的容器.栈容 ...
- ROS学习笔记1-引言
该学习笔记参考ROS官方wiki的内容,见:http://wiki.ros.org/ROS/Introduction 什么是ROSROS的全称是Robot Operating System,即机器人操 ...
- 十六、myeclipse导入别人项目报错java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServle异常
问题原因:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServle异常 我是把别人的源码项目直接导 ...
- git客户端出现libpng warning: iCCP: known incorrect sRGB profile
在关闭gitk窗口的时候,会出现一系列的 libpng warning: iCCP: known incorrect sRGB profilelibpng warning: iCCP: known ...
- JAVA虚拟机:对象的创建
在虚拟机中,当遇到需要new一个对象时,虚拟机首先会去处于方法区的常量池中查找new指令的参数,即查找此类的符号引用是否已存在,并且检查此符号引用的代表类是否已经做过加载.解析和初始化,如果做过则不会 ...
- Matplotlib 安装
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- tomcat报错catalina.sh: line 401: /usr/java/jdk1.7.52/bin/java: No such file or directory(转)
原文:https://blog.csdn.net/reblue520/article/details/52588825 将生产服务器的Tomcat目录打包过来后解压后,启动Tomcat后,发现如下问题 ...
- arm linux 移植 OpenCV
背景: 由于学习了摄像头有关的开发,顺理成章地接触了这个部分. 搭建环境 openCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. OpenCV : v4.2
- 微信小程序语音(A)发给别人(B),也能播放,是需要先把语音上传到自己的服务器上才可以
小程序语音(A)发给别人(B),也能播放,是需要先把语音上传到自己的服务器上才可以. https://developers.weixin.qq.com/miniprogram/dev/api/medi ...
- 剑指offer 把字符串转化为整数
题目描述 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法 ...