| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 快速记录 ros 写publisher 与 subscriber 节点 -> 正文阅读 |
|
[人工智能]快速记录 ros 写publisher 与 subscriber 节点 |
之前草草的“过了”下ros的基本操作,没有好好实践,这次重新记录下自己的实践主要步骤,方便下次再切换工作时快速捡起来: 此贴仅供个人参考~ 更多 直接移步 ros doc 官网 。。。。。。 工作空间: ~/catkin_ws/ 代码一般放在: ~/catkin_ws/ src/ 在~/catkin_ws/ src/ 下面快速创建个功能包: (命令 + 包名 + 依赖包名 ) $catkin_create_pkg test_pkg_retro std_msgs rospy roscpp $cd ../ ? ?(到工作空间 ~/catkin_ws/下?)? $ catkin_make? $ source ./devel/setup.bash? $ rospack list 可以看到 这个 包了 $ roscd ?test_pkg_retro ?? $ mkdir scripts? 在scripts下书写代码(节点这些) 快速写一个发布节点,? topic 叫:'chatting_topic' node 名字叫:talker_node (实际启动后会随机添加后缀名,这是 ros里避免重名的操作)?
运行节点: $ chmod +x talker.py ? ? ? # 这个很重要,必须确保 talker.py具有可执行权限 $rosrun test_pkg_retro talker.py? 下面快速写一个 订阅(subscrpber): 在运行发布者之后,可通过 $ rostopic echo /chatting_topic 查看topic 发布的消息
修改包内的CMakeLists.txt? 将新写的 talker 与listener 脚本名称更新上去 catkin_install_python(PROGRAMS 重新构建一次 ,切换到工作空间目录? ~/catkin_ws/ $catkin_make? $ source ./devel/setup.bash? 运行订阅者 $ rosrun test_pkg_retro listener.py 如果此时关掉发布者节点,订阅者不再接收到消息,但此时通过 $rostopic pub /chatting_topic std_msgs/String "nihao" 来发布一条消息到?/chatting_topic 主题上来,订阅者则可以收到。 发布者与订阅者快速回顾完毕! ----------------------------------------------- --------- ? ? ?新增msg的定义与使用 ---------------- 在test_pkg_retro下新建 msg 文件夹并创建HelloMsg.msg空文件 写入内容:
需要修改包中设置: 1)package.xml 对以下两行内容去掉注释: <build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend> 2)去掉注释的行,并加入“message_generation” 找到对应包 find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs message_generation ) 3)catkin 编译的依赖: catkin_package( ... CATKIN_DEPENDS message_runtime ... (手动加入) ...) 4)增加文件 add_message_files( FILES HelloMsg.msg ) 5)取消注释: generate_messages( DEPENDENCIES std_msgs ) 在使用时:py脚本中:
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 16:32:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |