ROS学习
ros 新手学习:推荐b站故月居 和 奥特学院
两个学习链接:https://www.guyuehome.com/34657
https://www.ncnynl.com/archives/201701/1279.html
ROS构建工作空间
//一般在 /home/caros/ 下面添加ros工作空间
mkdir -p ~/catkin_ws/src
// mkdir 创建文件夹, -p参数 可以迭代创建,也就是可以创建多级目录
// catkin_ws为工作空间的文件夹,可以自己取名,ws为sorkspace的缩写
cd catkin_ws
catkin_make
// catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。
source devel/setup.bash
//这步是激活环境,而这个setup.bash的作用是让一些ROS* 开头的命令可以使用。
ROS 构建catkin包
//首先回到 /catkin_ws/src目录下
cd ~/catkin_ws/src/
//创建catkin包 !!!! 这一步极为关键,ros中运行程序和c++不一样,所有的程序必须创建包才能运行
catkin_create_pkg [包的名字] [依赖的ros库] [依赖的ros库] [...]
//eg :catkin_create_pkg helloword rospy roscpp std_msgs
创建包之后,包里面就自动有了CMakeLists.txt 和 package.xml 。这两个文件很关键!!!
ROS发布者Publish的编程实现
ros如何实现一个发布者:
- 初始化ROS节点
- 向ROS Master 注册节点信息,包括发布的话题名和话题中的消息类型
- 创建消息数据
- 按照一定频率循环发布消息
#include <ros/ros.h> //导入ROS系统包含核心公共头文件
#include <std_msgs/String.h> //导入std_msgs/String消息头文件,这个是由std_msgs包的string.msg文件自动生成。std_msgs这是标准的消息包,可参考std_m