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 依赖配置及调用 ...
随机推荐
- 第1节 storm编程:3、storm的架构模型的介绍
nimbus:主节点,接收客户端提交的任务,并且分配任务,新的版本当中nimbus已经可以有多个了 zookeeper集群:storm依靠zk来保存一些节点信息,nimbus将分配的任务信息都写入到z ...
- 使用input选择本地图片,并且实现预览功能
1.使用input标签选择本地图片文件 用一个盒子来存放预览的图片 2.JS实现预览 首先添加一个input change事件,再用到 URL.createObjectURL() 方法 用来创建 UR ...
- redis中关闭rdb跟aof
https://zm10.sm-tc.cn/?src=l4uLj8XQ0IiIiNGdip2KlJDRnJCS0JaRmZCbmouelpPSzc%2FJz8vJxtGXi5KT&uid=49 ...
- win10下python3安装深度学习一般要用的库
matplotlib :绘图库 seaborn:基于matplotlib的图形可视化包 numpy:函数.矩阵运算库 pandas :基于numpy的结构化数据分析库 首先看一下cmd能不能使用pip ...
- 关闭Hyper-V后,天翼校园宽带(Netkeeper)依旧显示Sorry, this application cannot run under a Virtual Machin的解决方法
环境: win10专业版,版本1909 经过: 尝试了一下win10 更新后的沙盒系统,当时开启了沙盒,但是未打开Hyper-V,沙盒正常运行. 第二次开机后天翼校园宽带(Netkeeper)显示So ...
- Django(十九)文件上传:图片上传(后台上传、自定义上传)、
一.基本设置 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/http/file-uploads/ 1)配置project1/settings ...
- 判断ES数据是否更新成功
参考:https://stackoverflow.com/questions/38928991/how-to-detect-if-a-document-update-in-elasticsearch- ...
- flask-Bootstrap Jinja2 原生 模板 和 jumpserver 模板
#模板 {% block doc -%} <!DOCTYPE html> <html{% block html_attribs %}{% endblock html_attribs ...
- shell-Startup-Files
shell-Startup-Files 1. 相关阅读 2. 主流shell 3. shell实例类型 4. Shell启动文件的必要元素 4.1 路径: 命令路径, 4.2 提示符 5. 主流she ...
- centos安装sass环境必看
首先了解一下 sass是什么?! sass号称“世界上最成熟.最稳定.最强大的专业级css扩展语言” ,sass基于于Ruby语言开发而成,因此安装sass前需要安装Ruby, 1.安装ruby y ...