ROS环境下进行package的简单创建并编译
来源:互联网 发布:微信公众号推荐 知乎 编辑:程序博客网 时间:2024/06/05 15:36
ROS环境下进行package的简单创建并编译
1、 安装ROS工作环境。
本人是基于ubuntu12.04环境下的fuerte的安装,安装参考文档见:
http://ros.org/wiki/fuerte/Installation/Ubuntu;安装完毕之后,打开终端,运行一下“roscore”,如果没有问题,安装就成功了!
2、 修改环境变量。在终端运行$ export | grep ROS,就会得到ROS的一些版本信息及包的路径等,如下所示:
declare -xROSLISP_PACKAGE_DIRECTORY="/opt/ros/fuerte/share/common-lisp/ros"
declare -xROS_DISTRO="fuerte"
declare -xROS_ETC_DIR="/opt/ros/fuerte/etc/ros"
declare -xROS_MASTER_URI="http://localhost:11311"
declare -xROS_PACKAGE_PATH="/opt/ros/fuerte/stacks:/opt/ros/fuerte/share"
declare -xROS_ROOT="/opt/ros/fuerte/share/ros"
在终端执行$ export ROS_PACKAGE_PATH=/opt/ros/fuerte/stacks:/opt/ros/fuerte/share:/home/liuqin/ros_workspace,即将自己要建立的ROS的包(我的路径:/home/liuqin/ros_workspace)与ROS装的包建立起联系,ROS并从这些包含的路径中去寻找相应的包。再次运行$ export | grep ROS就会得到更新的一些信息。
declare -xROSLISP_PACKAGE_DIRECTORY="/opt/ros/fuerte/share/common-lisp/ros"
declare -xROS_DISTRO="fuerte"
declare -xROS_ETC_DIR="/opt/ros/fuerte/etc/ros"
declare -xROS_MASTER_URI="http://localhost:11311"
declare -xROS_PACKAGE_PATH="/opt/ros/fuerte/stacks:/opt/ros/fuerte/share:
/home/liuqin/ros_workspace"
declare -xROS_ROOT="/opt/ros/fuerte/share/ros"
为什么要这样添加呢?
因为ROS的package是ROS_ROOT或者ROS_PACKAGE_PATH里面的一个目录/文件夹,包含一个manifest.xml文件。
3、 根据个人安装的ROS的版本,选择合适的编译方式。Groovy(含)以上的版本采用catkin,以下的版本采用rosbuild。由于我是采用的fuerte版本,因此采用基于rosbuild的创建及编译方式。
3.1 创建一个包:
cd 进入自己的包的路径,我的路径是/home/liuqin/ros_workspace
参考网址:http://wiki.ros.org/ROS/Tutorials/CreatingPackage
利用 rorcreate-pkg 创建 package,比如$ roscreate-pkg beginner_tutorials std_msgs roscpp rospy
得到的结果:
Created packagedirectory /home/liuqin/ros_workspace/beginner_tutorials
Created includedirectory /home/liuqin/ros_workspace/beginner_tutorials/include/beginner_tutorials
Created cpp sourcedirectory /home/liuqin/ros_workspace/beginner_tutorials/src
Created packagefile/home/liuqin/ros_workspace/beginner_tutorials/Makefile
Created packagefile /home/liuqin/ros_workspace/beginner_tutorials/manifest.xml
Created packagefile /home/liuqin/ros_workspace/beginner_tutorials/CMakeLists.txt
Created packagefile /home/liuqin/ros_workspace/beginner_tutorials/mainpage.dox
Please editbeginner_tutorials/manifest.xml and mainpage.dox to finish creating yourpackage
3.2查看 package相关第一层依赖项
$ rospack depends1 beginner_tutorials ----package第一层依赖项查询
$ rospack depends1 rospy ----package依赖项rospy的第一层依赖项查询
$ rospack depends beginner_tutorials ---package所有依赖项查询
结果如下:
std_msgs
roslang
rospy
roscpp
以上只是建立了一个包,参看这个包的文件,发现有include、src和一些manifest等文件。
3.3 建立和编译package
参考文档:http://wiki.ros.org/ROS/Tutorials/CreatingPackage
http://wiki.ros.org/ROS/Tutorials/BuildingPackages
3.3.1系统关联
rosdep命令 ----根据ROS packages来安装系统变量,执行$ rosdepinstall beginner_tutorials。
3.3.2 编译package
rosmake命令 ---编译package
$ rosmake beginner_tutorials
同理,编译多个package,执行$ rosmake [package1] [package2] [package3]
此时beginner_tutorials这个包里的文件为bin、build、include、src和一些makefile、manifest等文件。
试验平台:ubuntu12.04+fuerte
- ROS环境下进行package的简单创建并编译
- 创建、编译ros package
- ROS 创建package,并加入到eclipse开发环境中
- ROS 创建package,并加入到eclipse开发环境中
- ROS中找并编译已存在的Package
- 创造一个简单的ROS package 和 建立和编译package
- 创造一个简单的ROS package 和 建立和编译package
- 03-创建一个ROS的Package包
- ROS(一)关于创建一个工作空间并且编译一个package的两种方法
- QTcreator 编译 ROS package
- Ubuntu下对ROS进行开发的eclipse环境
- ros创建package 总结
- 如何编译并运行Package下的java文件
- ubuntu16.04下ros功能包Package的两种正确编译方式
- Ubuntu安装ROS及ROS下的一些package
- redhat挂载window的共享文件夹源码,并在redhat环境下进行编译
- AR Drone系列之:使用ROS catkin创建package并使用cv_bridge实现对ar drone摄像头数据的处理
- ROS学习--(五)编译ROS Package
- Netty-一个简单的服务器
- 软件测试人员的修行新篇
- 数字图像处理—图像滤波(中值滤波)
- 文件和目录(IO)操作
- Spring学习笔记之Spring事务及事务测试
- ROS环境下进行package的简单创建并编译
- C#工厂方法模式
- <学习笔记>Postfix邮件服务器的详细配置
- 字符串匹配
- [MFC]Shapes程序(4):菜单项的加速键、MFC注释宏
- HDU 1875-kruskal
- NGUI: UIToggle
- C++ protected 和 private 在子类继承时的区别
- 【剑指offer】 面试题50: 树中两个结点的最低公共祖先