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 依赖配置及调用 ...
随机推荐
- 新闻网大数据实时分析可视化系统项目——9、Flume+HBase+Kafka集成与开发
1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File ...
- BOM--location对象、history对象
location对象 location 是最有用的BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能. 事实上,location 对象是很特别的一个对象,因为它既是win ...
- mutiset的简单介绍转载
原文链接:https://blog.csdn.net/sodacoco/article/details/84798621 c++语言中,multiset是<set>库中一个非 ...
- 图的Prim,Kruskal,Dijkstra,Floyd算法
代码部分有点问题,具体算法没问题, 最近期末考,要过段时间才会修改 //邻接矩阵,具体情况看上一篇的图的实现template<class T>class MGraph {public: ...
- Spring JMSTemplate 与 JMS 原生API比较
博客分类: JMS Spring 2.x JMSUtil与Spring JmsTemplate的对比 Author:信仰 Date:2012-4-20 未完待续,截止日期2012-4-20 从以下 ...
- C++ Primer Plus 6 笔记(1)
1-3章 1.cin.get(),在程序末尾,让窗口一直打开. 2.c++版本的math.h为cmath 3.<< 在c++中是插入运算符,在c中是左移运算符 4.&在C中既表示地 ...
- Echarts学习宝典
1,可以使用百度图说中的图表代码复制到option中,还可在百度图说中以可视化的方式编辑数据,调整参数和编辑样式.(也可借助百度图说更改部分样式) 2,借助网站 https://echarts.bai ...
- shell命令、调度工具、后台执行线程和软连接
一.shell命令 1.后缀.sh 第一行需要加#!/bin/bash 没有的话,需呀sh 命令执行 示例test.sh: #!/bin/bash date ./test.sh 提示没有权限,此时,需 ...
- Linux下四种安装软件方式
1.yum源安装 可以解决依赖关系,但不确定安装的位置 2.rpm 基础安装 要自己解决依赖问题 rpm -ivh 安装 rpm -uvh 更新 rpm -e --nodeps 卸载 取消依赖 ...
- lambda表达式-很好---《转载》
Lambda表达式详解 前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0 ...