ros多个小乌龟_Ros 小乌龟节点启动
小乌龟节点启动
1. 启动小乌龟模拟器节点
rosrun turtlesim turtlesim_node
2. 启动小乌龟键盘输入节点
rosrun turtlesim turtle_teleop_key
启动完成后,可以通过键盘输入操控小乌龟移动。
小乌龟操控原理
1. 节点信息查看
小乌龟启动过程中,我们启动了两个可执行的程序:turtlesim_node和turtle_teleop_key 。可以通过命令查看当前的启动的节点:
rosnode list
可以查看到启动程序对应的节点/turtlesim和/teleop_turtle
通过命令可以查看/turtlesim节点的详情
rosnode info /turtlesim
命令运行后,可以看到以下结果:
Node [/turtlesim]
Publications:
* /rosout [rosgraph_msgs/Log]
* /turtle1/color_sensor [turtlesim/Color]
* /turtle1/pose [turtlesim/Pose]
Subscriptions:
* /turtle1/cmd_vel [geometry_msgs/Twist]
Services:
* /clear
* /kill
* /reset
* /spawn
* /turtle1/set_pen
* /turtle1/teleport_absolute
* /turtle1/teleport_relative
* /turtlesim/get_loggers
* /turtlesim/set_logger_level
contacting node http://ubuntu:42049/ ...
Pid: 20218
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS
* topic: /turtle1/cmd_vel
* to: /teleop_turtle (http://ubuntu:44433/)
* direction: inbound
* transport: TCPROS
rosnode info命令可以查看当前节点的一些信息:
Publications:此节点上定义的发布者
Subscriptions:此节点上定义的订阅者
Services:此节点上定义的服务
进程id,占用的网络端口
Connections: 此节点和其他节点间的连接信息
同理,我们也可以通过rosnode info查询/teleop_turtle节点的信息,结果如下:
--------------------------------------------------------------------------------
Node [/teleop_turtle]
Publications:
* /rosout [rosgraph_msgs/Log]
* /turtle1/cmd_vel [geometry_msgs/Twist]
Subscriptions: None
Services:
* /teleop_turtle/get_loggers
* /teleop_turtle/set_logger_level
contacting node http://ubuntu:44433/ ...
Pid: 20443
Connections:
* topic: /rosout
* to: /rosout
* direction: outbound
* transport: TCPROS
* topic: /turtle1/cmd_vel
* to: /turtlesim
* direction: outbound
* transport: TCPROS
现在我们大致可以搞清楚一些通讯的关系:
/teleop_turtle节点存在一个发布者,往/turtle1/cmd_vel主题中发布数据。
/turtlesim节点存在一个订阅者,去/turtle1/cmd_vel主题中获取数据。
2. 可视化工具查询节点关系
rqt_graph工具提供了可视化的工具方便我们查看这种节点间的关系:
rosrun rqt_graph rqt_graph
1
图片.png
图像显示,/teleop_turtle通过主题/turtle1/cmd_vel给/turtlesim进行数据传递
调试工具操控小乌龟
1. rqt_publisher模拟数据发送
启动rqt_publisher工具
rosrun rqt_publisher rqt_publisher
通过图形化配置参数:
图片.png
2. 通过命令行模拟数据发送
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 3.0"
小乌龟坐标系相关
面板
面板的坐标原点在左下脚,即左下角为(0,0)
面板的X轴是自左向右,数值是0开始正向增长
面板的Y轴是自下向上,数值是0开始正向增长
面板的宽度和高度相同,值为11.088899
小乌龟
小乌龟的坐标原点为小乌龟的中心点。
小乌龟移动指令参数
我们通过rostopic命令可以获得小乌龟的移动数据类型为geometry_msgs/Twist
rostopic type /turtle1/cmd_vel
通过rosmsg命令可以查看数据的详细格式:
rosmsg show geometry_msgs/Twist
输出的格式为:
geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
geometry_msgs/Vector3 linear指的是线速度,小乌龟只用到了float64 x,代表着乌龟向前进的线速度
geometry_msgs/Vector3 angular指的是角速度,小乌龟只用到了float64 z,代表着乌龟旋转的角速度
ros多个小乌龟_Ros 小乌龟节点启动相关推荐
- ros多个小乌龟_ROS小乌龟turtlesim详解
turtlesim 小乌龟模拟 小乌龟的启动 在安装完ROS之后,就可以启动小乌龟了,打开一个终端. 1. 首先要打开ROS服务 roscore 2. 打开一个新终端,打开小乌龟 rosrun tur ...
- 树莓派 ROS 学习(二)小乌龟 turtlesim
目录 创建catkin工作空间 小乌龟turtlesim节点 启动节点 turtlesim节点 turtlesim 话题与消息 查看话题的消息类型 查看消息类型的具体内容 查看话题的值 改变背景颜色 ...
- ROS机器人程序设计(原书第2版)3.1.2 ROS节点启动时调用gdb调试器
3.1.2 ROS节点启动时调用gdb调试器 我们需要一个启动文件(launch)去启动节点,如下: 想要在节点启动时调用gdb调试器,需要添加launch-prefix="xterm -e ...
- ros launch文件编写和节点启动顺序控制
ROS可以通过launch文件进行节点的管理.初始参数的设置,但是launch文件不能指定节点的启动顺序,因此本文简单介绍下通过launch进行节点启动管理,通过shell来控制节点启动顺序. 1,我 ...
- ROS笔记(40) 通讯节点
ROS笔记(40) 通讯节点 1. 节点分析 1.1. 建立仿真 1.2. 仿真分析 2. 建立节点(C++) 2.1. 节点配置 2.1.1 hhbot_bsp_serial_conf 2.1.2 ...
- ros 发布信息频率_ROS入门笔记二基础
1.创建工作空间 1.什么是工作空间 工作空间(workspace)是一个存放工作开发相关文件的文件夹 src:代码空间(Source Space) build:编译空间(Build Space) d ...
- 【ros/ros2】LCN及ros2节点的LCN改写
文章目录 序言 1. ros2两种节点类型 2. LCN是什么 3. LCN状态转换 4. LCN状态转换要做的事 5. LCN节点功能划分 6. ros2节点的LCN改写 6.1 CMakeList ...
- 比特币SPV节点启动流程图
2019独角兽企业重金招聘Python工程师标准>>> 比特币SPV节点启动流程图 图小点击右键在新窗口打开 转载于:https://my.oschina.net/penghaozh ...
- ROS基础四之roscpp/rospy节点编写
roscpp/rospy节点编写 subscriber/advertiser编写 roscpp实例 rospy实例 server/client编写 roscpp实例 rospy实例 actionlib ...
最新文章
- 第一个java程序释义_Java 学习之路(1)第一个Java程序
- ajax bootstrap 进度条,Bootstrap进度条与AJAX后端数据传递结合使用实例详解
- 5G万物智联下互联网通信技术升级之路
- Spring REST:异常处理卷。 2
- LeetCode刷题(35)--Permutation Sequence
- 记录一次laravel5.5的安装
- Akka向设备组添加Actor注册《thirteen》译
- 大华存储服务器系统,大华重磅推出64盘位网络视频存储服务器
- 传感器实验——蜂鸣器
- js读写json文件
- 【电脑运用及修理】6套台式组装机电脑配置清单大全(2022年618)
- 热敏打印机的工作原理
- citrix vdi 服务器性能要求,如何评估VDI存储要求
- 聆听结合AI技术的Steam教育课程
- deepin 20 推荐邮件客户端 Bluemail 邮箱
- React + Springboot + Quartz,从0实现Excel报表自动化
- webpack安装、配置
- 数据中心蓄冷系统选择-孙长青
- Android WiFi 权限、广播、连接、踩坑相关记录
- Android —MVP架构—登录页面示例