ROS基础学习笔记——工作空间、CMakeList、package.xml

ROS基础学习笔记——工作空间、CMakeList、package.xml_第1张图片



ROS学习笔记(一)



东南大学   zscseu


一、如何建立一个catkin工作空间

  如下步骤:

source/opt/ros/indigo/setup.bash

mkdir-p ~/catkin_ws/src

cd~/catkin_ws/src

catkin_init_workspace

cd~/catkin_ws

catkin_make

sourcedebel/setup.bash

echo$ROS_PACKAGE_PATH

/home/aicrobo/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks


$cdcatkin_ws/src

catkin_create_pkg beginner std_msgs rospy roscpp


二、关于package.xml


ROS基础学习笔记——工作空间、CMakeList、package.xml_第2张图片


三、关于CMakeList.txt


此文件主要配置以下几个方面:

1find_package( )

ROS基础学习笔记——工作空间、CMakeList、package.xml_第3张图片


2、如果需要运行python节点,需要去除此处注释


ROS基础学习笔记——工作空间、CMakeList、package.xml_第4张图片


3、动态参数的使用说明

ROS基础学习笔记——工作空间、CMakeList、package.xml_第5张图片


4、接下来是编译依赖性

ROS基础学习笔记——工作空间、CMakeList、package.xml_第6张图片

如果包含一些头文件,需要将INCLUDE_DIRS去除注释

若有需要的包,则第二项需要去除注释;

CATKIN_DEPENDS总是需要的

最后是一些系统依赖项;

ROS基础学习笔记——工作空间、CMakeList、package.xml_第7张图片


5、之后是关于messageservices、和action的说明

ROS基础学习笔记——工作空间、CMakeList、package.xml_第8张图片


6、关于自己写的CPP文件

ROS基础学习笔记——工作空间、CMakeList、package.xml_第9张图片


7、其余参照创建package时自动产生的CMakeList.txt的提示就可以了。


总体而言,此文件格式比较灵活,对于初学者可能比较乱,自己写几次之后就渐渐明白了。我一开始也是感觉很乱,后面慢慢就熟悉了。


四、使用msg


在程序包的根目录下建立msg文件夹,在此文件夹下建立xxx.msg文件即可;


五、使用srv


在在程序包的根目录下建立srv文件夹,在此文件夹下建立xxx.srv文件即可;格式如下


上面是请求,下面是响应。


所有在msg路径下的.msg文件都将转换为ROS所支持语言的源代码。生成的C++头文将会放置在~/catkin_ws/devel/include/beginner/Python脚本语言 ~/catkin_ws/devel/lib/python2.7/dist-packages/beginner/msg目录下创建。

Lisp文件会出现~/catkin_ws/devel/share/common-lisp/ros/beginner/msg/径下.


六、编写并测试发布器和订阅器、服务端和客户端


参考官网教程



你可能感兴趣的:(ROS)