教程网址:https://wiki.ros.org/ROS/Tutorials
(一)ROS文件系统
- rospack 查找包的信息
命令格式:rospack find [package_name]
Example1:rospack find roscpp
Example2:rospack find learning_service
- roscd ros的快速cd指令
命令格式:roscd [locationname[/subdir]]
Example1:roscd roscpp
Example2:roscd learning_service/src
- rosls ros自带的ls
命令格式:rosls [locationname[/subdir]]
Example:rosls learning_service
(二)创建一个ROS包
- 创建目录catkin_ws2/src
- cd src
- 指令 catkin_create_pkg <程序包名称> depend1 depend2 depend3
Example:catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
beginner_tutorials文件夹下
- 构建软件包
catkin_ws2目录下catkin_make生成下述文件
- 在个人空间点击显示隐藏文件找到.bashrc文件,加上
这个工作空间就可以用了 - 自定义软件包
打开/catkin_ws2/src/beginner_tutorials/package.xml
第五行 描述标签
<description>The beginner_tutorials package</description>
7-10行:维护者标签
<!-- One maintainer tag required, multiple allowed, one person per tag -->
<!-- Example: -->
<!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> -->
<maintainer email="czc@todo.todo">czc</maintainer>
可以把这里改成你自己的个人信息
13-16行:许可证标签
<!-- One license tag required, multiple allowed, one license per tag -->
<!-- Commonly used license strings: -->
<!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
<license>TODO</license>
依赖
<!-- The *depend tags are used to specify dependencies -->
<!-- Dependencies can be catkin packages or system dependencies -->
<!-- Examples: -->
<!-- Use depend as a shortcut for packages that are both build and exec dependencies -->
<!-- <depend>roscpp</depend> -->
<!-- Note that this is equivalent to the following: -->
<!-- <build_depend>roscpp</build_depend> -->
<!-- <exec_depend>roscpp</exec_depend> -->
<!-- Use build_depend for packages you need at compile time: -->
<!-- <build_depend>message_generation</build_depend> -->
<!-- Use build_export_depend for packages you need in order to build against this package: -->
<!-- <build_export_depend>message_generation</build_export_depend> -->
<!-- Use buildtool_depend for build tool packages: -->
<!-- <buildtool_depend>catkin</buildtool_depend> -->
<!-- Use exec_depend for packages you need at runtime: -->
<!-- <exec_depend>message_runtime</exec_depend> -->
<!-- Use test_depend for packages you need only for testing: -->
<!-- <test_depend>gtest</test_depend> -->
<!-- Use doc_depend for packages you need only for building documentation: -->
<!-- <doc_depend>doxygen</doc_depend> -->
<buildtool_depend>catkin</buildtool_depend>
<build_depend>roscpp</build_depend> //构建时依赖
<build_depend>rospy</build_depend>
<build_depend>std_msgs</build_depend>
<build_export_depend>roscpp</build_export_depend>
<build_export_depend>rospy</build_export_depend>
<build_export_depend>std_msgs</build_export_depend>
<exec_depend>roscpp</exec_depend> //执行时依赖
<exec_depend>rospy</exec_depend>
<exec_depend>std_msgs</exec_depend>