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了
- ROS+SLAM笔记(5)创建包
- ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM
- ROS笔记:(7)创建ROS消息和ROS服务
- SLAM代码(SVO ros )
- ROS进阶学习笔记(11)- Turtlebot Navigation and SLAM - ROSMapModify - ROS地图修改
- ROS的学习(四)创建一个ROS包
- ROS学习笔记1--工作空间和功能包创建
- ROS---用catkin创建ROS包、编译
- ROS移动机器人之SLAM(1)
- ROS+SLAM学习日志(1)
- ROS+SLAM学习日志(2)基础
- ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 3 创建一个ROS包
- ROS 进阶学习笔记(18):ROS导航3:关于 ROS ActionLib 包
- catkin创建一个ROS包
- 1、ros包的创建
- ROS学习笔记三:创建ROS软件包
- ROS和SLAM 【gmapping】
- ROS hector slam
- leetcode: 36. Valid Sudoku
- Go(全栈)开发企业级后台管理系统
- uva-10299-Relatives-(欧拉函数)
- c++字符串操作函数的源码实现
- 系统之间的通讯方式之(Java AIO异步详解)(五)
- ROS+SLAM笔记(5)创建包
- 2017-11-9
- 通过FTP软件树莓派(Raspberry Pi 3)可以和电脑上传或者下载文件
- 腾讯视频格式转换(重点是CMD的命令)
- 贪吃蛇(C语言)
- 40. Combination Sum II
- javascript实现导航栏
- c++11多线程编程(八):std::future , std::promise和线程的返回值
- 告别低水平勤奋,深度思考