ros Catkin工作空间
程序员文章站
2024-03-15 14:14:23
...
安装tree,图形化显示文件结构
~$ sudo apt install tree
创建Ros工作空间:
$ mkdir -p catkin_ws/src # 创建文件
$ cd catkin_ws/ # 进入工作空间
$ tree # 显示catkin_ws下文件
$ catkin_make # 初始化工作空间
$ tree # 再次查看
$ tree -L 1 # 只看目录下的一级目录
PS:平时只用到 SRC
$ cd src
$ ls
SRC下创建package
$ catkin_create_pkg test1 # test1 包名
$ tree
$ catkin_create_pkg test2 roscpp rospy std_msgs nav_msgs # 创建包和依赖项
$ tree
到github网址下下载包(https://github.com/DroidAITech/ROS-Academy-for-Beginners)
(在src目录下)
- 克隆或下载ROS-Academy-for-Beginners教学包到工作空间的
/src
目录下,例如~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
2.安装教学包所需的依赖(所需要的依赖 定义在每个package下的package.xml文件里的built depend run depend )
$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
3.编译并刷新环境
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash #刷新坏境
~$ rospack list | grep catkin_ws
ps:记得source工作空间下的setup.bash文件,这样,系统才知道到哪里去找我们写的package
~$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
# 把这句话写到.bashrc文件里,再打开其他terminal,package还是能找到的
~$ vi .bashrc # 查看这个文件
PS:不source的情况(这些路径并不在catkin_ws下):
~/catkin_ws$ rospack list # 查看 系统 上有哪些 ros package
对输出结果做管道操作:
~/catkin_ws$ rospack list | grep catkin_ws # grep 查找文件里catkin_ws 关键词
执行命令后,没有输出,说明工作空间里没有ros package
常见的命令:
~$ rospack find test2 # 定位某一个包的路径
~$ rosls topic_demo/ # 查看topic_demo这个包下有哪些文件
~$ rosed topic_demo CMakeLists.txt # 定位包里某个文件,显示文件内容
~$ roscd robot_sim_demo/ # cd到一些package功能包底下 高效
编译:
$ cd ~/catkin_ws #回到工作空间,catkin_make必须在工作空间下执行
$ catkin_make #开始编译
$ source ~/catkin_ws/devel/setup.bash #刷新坏境