ROS学习笔记(六) —— ROS系统试用练习(第一部分)
参考资料:
《ROS机器人程序设计》(原书第2版)第2.4节
文件系统导览
- rospack 下面例子是使用rospack命令来寻找turlesim包的路径
$ rospack find turtlesim
/opt/ros/indigo/share/turtlesim #输出的是turtlesim功能包的路径
- rosstack 下面例子是查找系统是否安装过ros_comm功能包集
$ rosstack find ros_comm
/opt/ros/indigo/share/ros_comm #输出的是ros_comm功能包集的路径
rospack和rosstack 用来获取有关的功能包、功能包集、路径和依赖性等信息
- 想要获得功能包或者功能包集的文件列表,那么需要使用:
$ rosls turtlesim
cmake images msg package.xml srv #这里输出的是功能包turtlesim的文件列表
- 如果你先进入某个文件夹,则需要使用roscd
$ roscd turtlesim
/opt/ros/indigo/share/turtlesim #这一行输出的是功能包turtlesim的路径
$ ls
cmake images msg package.xml srv #这一行输出的是该路径下的文件列表
创建工作空间
在开始具体工作之前,首先要创建工作空间
- 若要查看当前正在使用的工作空间,可以使用下面命令
$ROS_PACKAGE_PATH
/opt/ros/indigo/share:/opt/ros/indigo/stacks #这里输出的就是当前ROS的工作空间
创建文件夹
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
当我们创建了工作空间文件夹之后,里面并没有功能包,只有CMakeList.txt ,下一步就是编译工作空间m,使用catkin_make命令。
完成上述操作后,使用ls命令,你将看到build和devel文件夹,
完成配置后,使用下面命令:
source devel/setup.bash
这一步只是重新加载了setup.bash文件,再执行
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
创建ROS功能包和综合功能包
手动创建功能包的命令:
- catkin_create_package
此命令格式:
catkin_create_pkg [package_name] [depend1] [depend2] [depend3]
如:
$ catkin_create_pkg chapter2_tutorials std_msgs roscpp rospy
#这里写了三个依赖库 std_msgs、roscpp、rospy
#std_msgs 包含了常见的消息类型,表示基本数据类型和其他常见基本的消息构造,如多维数组。
#roscpp 使用C++实现ROS的各种功能。
#rospy 使用python实现ROS的各种功能。
Created file chapter2_tutorials/package.xml
Created file chapter2_tutorials/CMakeLists.txt
Created folder chapter2_tutorials/include/chapter2_tutorials
Created folder chapter2_tutorials/src
Successfully created files in /home/blvindon/catkin_ws/src/chapter2_tutorials. Please adjust the values in package.xml.
- 其他命令:
rospack profile 此命令用于通知新添加的内容
rospack find chapter2_tutorials 查找路径
rospack depends chapters2_tutorials 查看依赖关系
rosls chapter2_tutorials 查看文件列表 编译ROS功能包
为了编译功能包,可以使用catkin_make命令,你将看到
Note 必须在工作空间文件夹下运行catkin_make命令。
晚安!
2017年11月29日夜
杭