ROS+SLAM笔记(5)创建包

来源:互联网 发布:王侯将相宁有种乎出自 编辑:程序博客网 时间:2024/06/06 07:38

1 先创建工作空间

$ mkdir –p ~/dev/catkin_ws/src$ cd ~/dev/catkin_ws/src$ catkin_init_workspace

2 编译工作空间

$ cd ~/dev/catkin_ws$ catkin_make

3永久添加环境变量

echo "source /opt/ros/xxx/setup.bash" >> ~/.bashrc

其中xxx是所用的ROS类型

4 创建包

$ cd ~/dev/catkin_ws/src$ catkin_create_pkg name std_msgs roscpp

catkin_creat_pkg的参数依次为包名,依赖1,依赖2。。。。
这里的std_msgs是一种通用消息类型,表示原始数据与其他基本消息结构例如人多维列表等。
ros_cpp表示这是用C++来实现的ROS,提供了客户端库是C++程序猿可以快速获得ROS中话题,服务,参数的接口。

当建立完一个新的包后,需要编译一下这个包。当编译包之后,包中的代码也相应的编译完成了。
注意:catkin_make需要在workspace根目录下才行,虽然pack里面也有个Cmakekist文件。

创建一个用于消息发布与接收的包

这里创建包以及代码解释直接贴wiki上的,主要分为以下几步:
1 创建ROS程序包:http://wiki.ros.org/cn/ROS/Tutorials/CreatingPackage
2 编译ROS程序包:http://wiki.ros.org/cn/ROS/Tutorials/BuildingPackages
3 创建ROS消息和ROS服务:http://wiki.ros.org/cn/ROS/Tutorials/CreatingMsgAndSrv
4 写一个简单的消息发布器和订阅器:
python: http://wiki.ros.org/cn/ROS/Tutorials/WritingPublisherSubscriber%28python%29
C++: http://wiki.ros.org/cn/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29
5 测试消息发布器和订阅器: http://wiki.ros.org/cn/ROS/Tutorials/ExaminingPublisherSubscriber

这里补充一下遇到的问题,我用的是jade版本的ROS,在编写package.xml时教程上有添加
<run_depend>message_runtime</run_depend>
这样会报错,说在format2 中不能使用run_depend 改成所以需要

<exec_depend>message_runtime</exec_depend>

这样之后便可以编译通过。
然后运行节点之前别忘了在source devel/setup.bash一下,不然会报错说找不到包。最好直接将source catkin_ws/devel/setup.bash 加到 ~/.bashrc中,这样就不用每次都source了

原创粉丝点击