您的位置:首页 > 编程语言

建立ROS的代码环境

2016-07-16 16:37 155 查看
PARAMETERS

 * /rosdistro: jade

 * /rosversion: 1.11.16

 一、创建ROS工作空间(catkin_workspace)

        参考:http://wiki.ros.org/catkin/Tutorials/create_a_workspace

              http://wiki.ros.org/catkin/Tutorials/using_a_workspace

        1、定位ROS的setup.bash

             source /opt/ros/indigo/setup.bash

        2、创建工作空间目录,并初始化。

            这一步会在src目录下面产生CMakefile.txt链接文件

            $ mkdir -p ~/m_ros_ws/src

            $ cd ~/m_ros_wss/src

            $ catkin_init_workspace

        3、编译工作空间。

           此步骤会在m_ros_ws工作空间目录下产生build、devel两个目录  

            $ cd ~/catkin_ws/

            $ catkin_make

        在build目录下会产生很多setup.*sh文件,source任何一个文件都会使当前目录成为顶层环境目录,当然可以加入~/.bashrc文件

            source ~/m_ros_ws/devel/setup.bash就不用每次都要定位一次了。

            将上面的这行加入~/.bashrc,在登陆shell终端时会读取到当前的工作空间,使用rospack find package_name指令就会找到当前的包

                    使用rosrun pkg_name node_name 就可以直接执行该程序包下的节点

        检测定位的结果使用 echo $ROS_PACKAGE_PATH

            显示如下: /home/sl/m_ros_ws/src:/opt/ros/jade/share:/opt/ros/jade/stacks

            说明这个工作空间(/home/sl/m_ros_ws/src)已经被操作系统识别了

        4、使用工作空间。

             在工作空间中编译程序包(packages)

             使用catkin_make工具,这个比较简单。可选的可以使用cmake、make

                简要步骤:

                    $ cd ~/m_ros_ws/src/m_package/src  #进入程序包下的src目录

                    # Add/Edit source files           #编辑源码文件

                    $ cd ~/m_ros_ws/src/m_package      #进入程序包的顶层目录

                    # Update CMakeFiles.txt to reflect any changes to your sources#编辑更新CMakefile.txt

                    $ cd ~/m_ros_ws                    #进入工作空间顶层目录

                    $ catkin_make -DCMAKE_BUILD_TYPE=Release  #使用catkin_make编译,编译发布方式Release

                通过上述步骤,工作空间的源码空间(~/m_ros_ws/src)就会被编译进其编译空间(~/m_ros_ws/build)

            所有的源码文件、python库文件、脚本文件、其他的静态文件还将保存在src目录下。所有的生成的文件如路文件,可执行文件,生成的代码都将放进开发目录(~/m_ros_ws/devel)下,这个目录下也会保存生成的setup.*sh文件,它在被定位时,使工作空间进入环境目录

            如果想给catkin_make传递任何参数,可以使用catkin_make para 如catkin_make install (等同于cd ~/m_ros_ws/build && make install)这样,将会在工作空间中产生安装空间目录(~/m_ros_ws/install),这个安装空间会包含其自己的setup.*sh文件,定位这个文件会将安装空间覆盖在环境顶部。使用安装空间目录和开发空间目录下的setup.*sh定位环境都是可以的,一般是使用devel目录。install目录也是有用的,比如在编译ROS安装时,可以加进你的工作空间下的安装包。

二、创建ROS程序包,使用catkin工具

        参考:http://wiki.ros.org/catkin/Tutorials/CreatingPackage

        关于ros程序包:我的理解ros程序包package和stack是ros文件系统级的基本单元,使用roscd命令可以直接定位到包所在的文件路径

     1、ROS程序包的组成

        package.xml ——提供有关程序包的元信息

        CMakeLists.txt ——catkin版本的

          每个package目录下只能有一个程序包,但在catkin工作空间中可以有多个程序目录包

     2、创建一个catkin程序包

        catkin_create_pkg <package_name> [depend1] [depend2] [depend3] 包名和依赖包名

        程序包的依赖关系保存在程序包的package.xml文件中

        自定义package.xml  描述标签<description>可以写描述程序包的一句话

                   维护者标签<maintainer> 维护者邮箱

                   许可标签<license> BSD

                   依赖项标签3部分,包含buildtool_depend项,build_depend项,run_depend项

        自定义CMakeLists.txt

        每次改动程序包,就需要在工作空间调用catkin_make来编译一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: