理清ROS通信的一些细节

news/2025/1/11 22:48:36/

目标:掌握ros的python编程
基本教程:https://www.bilibili.com/video/BV1sU4y1z7mw/?spm_id_from=333.788&vd_source=32148098d54c83926572ec0bab6a3b1d

terminator

快捷键需要自己去重新启用
ctrl+shift+e 横向分屏
ctrl+shift+o 纵向分屏
ctrl+shift+w 取消分屏
去除占用

阿杰的ws的使用

git clone https://github.com/6-robot/wpr_simulation.git
在script中:
./install_for_noetic.sh
(注意学习怎么写sh脚本快速执行指令了)
source——载入工作空间的环境设置
roslaunch wpr_simulation wpb_simple.launch
rosrun rqt_robot_steering rqt_robot_steering # 速度控制

第二个功能包:
git clone https://github.com/ros/ros_tutorials.git
###怎么指定编译一个功能包 ###catkin_make -DCATKIN_WHITELIST_PACKAGES=“package1;package2”

roscore
rosrun turtlesim turtlesim_node
修改了源码后打开rosrun发生了变化,说明是确实对应的

roscore
rosrun ssr_pkg chao_node

写第一个cpp源程序和ros通信的节点程序

显示有乱码:
rostopic echo 话题名称

录制数据msg:

rosbag record /topic_name 录制话题
rosbag info 查看话题名称、类型、消息数量
rosbag play name.bag 回放数据包

rqt显示工具:
rosrun rqt_tf_tree rqt_tf_tree
rosrun rqt_graph rqt_graph
rosrun rqt_plot rqt_plot
rosrun rqt_topic rqt_topic # 这个不错,监控话题及数据

不好用rosrun
直接拿出工具来用:
查看话题类型:
rostopic type /话题
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

rqt_plot /话题/X # x是消息

echo -e 复制一下消息(注意带"")

python实现节点消息发布和订阅:

rosrun ssr_pkg chao_node.py

自定义消息类型:

add_message_files(
FILES
Carry.msg
)

generate_messages(
DEPENDENCIES
std_msgs
)

CATKIN_DEPENDS message_generation message_runtime roscpp rospy std_msgs

修改package.xml:
只需要加上 <build_depend>message_runtime</build_depend> <exec_depend>message_generation</exec_depend>
即可

<buildtool_depend>catkin</buildtool_depend>
<build_depend>message_generation</build_depend>
<build_depend>message_runtime</build_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_export_depend>roscpp</build_export_depend>
<build_export_depend>rospy</build_export_depend>
<build_export_depend>std_msgs</build_export_depend>
<exec_depend>message_runtime</exec_depend>
<exec_depend>message_generation</exec_depend>
<exec_depend>roscpp</exec_depend>
<exec_depend>rospy</exec_depend>
<exec_depend>std_msgs</exec_depend>

总结一下,重点的内容是:catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"rostopic echo 话题名称
rostopic type /话题如果打印出来的话数据有乱码,那就复制一下,然后echo -e 复制一下消息(注意带"")录制数据msg:
rosbag record /topic_name    录制话题
rosbag info 查看话题名称、类型、消息数量
rosbag play name.bag 回放数据包rqt显示工具:
rosrun rqt_tf_tree rqt_tf_tree
rosrun rqt_graph rqt_graph
rosrun rqt_plot rqt_plot
rosrun rqt_topic rqt_topic   # 这个不错,监控话题及数据注意,基本没有必要输入这么一大串,只需要:
rqt_tf_tree
rqt_graph
rqt_plot
rqt_topic

请添加图片描述


http://www.ppmy.cn/news/869741.html

相关文章

CPU GPU爆显存

用CPU的环境训练》&#xff1f; 换成GPU环境 爆显存

TensorFlow 显存占用率高 GPU利用率低

文章目录 nvidia-smi指令动态刷新GPU信息显存占用高&#xff0c;但是CPU使用率低回头再看 nvidia-smi指令 命令位置&#xff1a; 所以Path中添加环境变量&#xff1a; C:\Program Files\NVIDIA Corporation\NVSMI 试验一哈&#xff1a; 要注意的点&#xff1a; Driver Vers…

[数组]移除元素

我用好长时间才写出来&#xff0c;看了题解感觉他思路贼好 一、leecode题目链接 力扣 二、题解 数组中移除元素并不容易&#xff01; | LeetCode&#xff1a;27. 移除元素_哔哩哔哩_bilibili 三、代码 1、老师的 思路 1&#xff09;用快慢指针的思路来解决问题 slow指针…

【Jeston Nano】刷机

Jeston Nano刷机 有两种方法 1.使用SD卡 2.使用SDK Manager 使用SD卡 1.下载镜像 JetPack JetPack存档 下载4.6版本的 找到Nano 2.烧写SD image 下载balenaetcher&#xff0c;链接&#xff1a;balenaetcher 选择合适的版本。 windows版本的可以直接下载安装 选择镜像…

Shuttle ESB实现消息推送

ESB全称Enterprise Service Bus&#xff0c;即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。 ESB的出现改变了传统的软件架构&#xff0c;能够提供比传统中间件产品更为便宜的解决方式。同一时候它还能够消除不同应用之间的技术差异&#xff0c;让不同的应…

usaco Shuttle Puzzle

有个2*N1的线性的棋盘&#xff0c;开始时最左边全是白&#xff0c;右边全是黑&#xff0c;中间一个空格。目标是黑白全部互换。求输出最少步数的操作的棋子的下标。并且要字典序最小的。 980ms险过。 不判重700ms能过。我居然多此一举的用map判重。 /* ID: modengd1 PROG: shut…

阿里云Elasticsearch搜索服务框架Shuttle

随着阿里云生态的蓬勃发展&#xff0c;我们看到越来越多的开发者开始基于ECS体系开发自己的分布式应用。的确&#xff0c;阿里云ECS提供的弹性云计算服务、多样化的规格配置支持、安全网络隔离等多种灵活便利的一站式服务&#xff0c;大大降低了用户开发新应用的技术门槛与成本…