# 任务7_ROS **Repository Path**: MrDreamQ/task-7--ros ## Basic Information - **Project Name**: 任务7_ROS - **Description**: 任务7——ROS - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-07 - **Last Updated**: 2021-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 任务7_ROS ## 项目介绍——节点通讯 ### ROS工程 **ROS全称Robot Operating System(机器人操作系统)**,是适用于机器人的**开源**元操作系统。 通过该项目,实现以下目标: > + 创建ROS工作空间 > + 创建功能包,添加相应依赖项 > + 话题订阅机制下的发布者和订阅者节点源文件创建 > + 自定义消息类型,并编辑功能包下的CMakeLists.txt文件和package.xml以使用自定义消息类型和编译得到ROS工程的可执行文件 > + 创建.launch文件以一次性运行多个节点文件 > + 运行.launch文件实现节点间的通讯 ### 节点通讯消息 节点通讯消息如下: > string name > > float32 height > > float32 weight 输出姓名+身高+对应身高的标准体重,并在订阅者节点处改变数据。 相应的模型参考文献一篇数学建模比赛的文章——[身高与体重函数关系模型](https://wenku.baidu.com/view/7ede7fe0c8d376eeafaa310d.html) ![](https://s3.bmp.ovh/imgs/2021/10/7387621436c783e8.png) ## 使用说明 ### 运行任务7可执行文件 在该项目文件夹终端,运行如下指令: ```bash $ source ./devel/setup.bash $ roslaunch Ros person.launch ``` 即可查看任务7完成效果。 效果如下: ![](https://s3.bmp.ovh/imgs/2021/10/ce9d29eea4dbf7c6.png) ## 注意事项 **需要在终端启用该功能包的环境变量才能运行文件**:`source ./devel/setup.bash` 订阅者节点文件处有: ```c++ ros::Duration(3).sleep(); //休眠数秒让ros master能够来得及注册发布者和订阅者信息 ``` 需等待数秒才会输出消息。 最后,体重超过相同身高平均值的1.2倍为偏胖,低于0.8倍为偏瘦,注意控制体重,保持健康~