ROS命令
- 注:内容还在不断更新中,研究方向是无人机群体追踪,无人机零件已经购买,本周末会自己配真实无人机,之后会不断更新相关算法笔记。如果有相关研究同学,可以私聊我,一起讨论。
- 1. ros-noetic安装
- 2. ros基础命令
- 3. 用catkin创建ros workspace
- 4. 用catkin创建ros packet
- 5. 用catkin更新ros workspace
注:内容还在不断更新中,研究方向是无人机群体追踪,无人机零件已经购买,本周末会自己配真实无人机,之后会不断更新相关算法笔记。如果有相关研究同学,可以私聊我,一起讨论。
1. ros-noetic安装
# 设置软件安装源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 设置软件安装密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# 更新
sudo apt update
# 安装桌面完整版本
sudo apt install ros-noetic-desktop-full
# 查看可用软件包
apt search ros-noetic
# 安装其他软件包
sudo apt install ros-noetic-PACKAGE
# 查找软件包安装位置
dpkg -L softwarename
# ros环境启用
source /opt/ros/noetic/setup.bash
2. ros基础命令
# ros初始化
rosdep init
# ros更新
rosdep update
# ros软件包路径查找
rospack find <packet>
# ros软件包依赖库查询
rospack depends1 <packet>
# ros目录查看
rosls <dir>
# ros目录打开
roscd <dir>
3. 用catkin创建ros workspace
$ mkdir -p ~/catkin_ws/src
# catkin_ws为ros工作空间的名字,可修改
$ cd ~/catkin_ws/
$ catkin_make
# 构建ros工作空间的配置文件,如果报错,使用catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
$ source devel/setup.bash
# 启动ROS
当前目录应该能看到build和devel这两个目录。在devel文件夹里面你可以看到几个
setup.*sh
文件。source这些文件中的任何一个都可以将当前工作空间设置在环境的最顶层。默认为source /opt/rps/noetic/setup.sh
,启动系统默认的ROS软件开发环境
# 使用ROS_PACKAGE_PATH环境变量确定当前ros工作空间目录:
$ echo $ROS_PACKAGE_PATH
/home/<username>/catkin_ws/src:/opt/ros/<distro>/share
4. 用catkin创建ros packet
$ cd ~/catkin_ws/src
$ catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
# This is an example, do not try to run this
# catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
一个包要想称为catkin软件包,必须符合以下要求:
- 这个包必须有一个符合catkin规范的package.xml文件
- 这个package.xml文件提供有关该软件包的元信息
- 这个包必须有一个catkin版本的CMakeLists.txt文件
- 如果它是个Catkin元包的话,则需要有一个CMakeList.txt文件的相关样板
- 每个包必须有自己的目录
- 这意味着在同一个目录下不能有嵌套的或者多个软件包存在
创建后工作空间workspace和软件包packet的关系如下:
workspace_folder/ -- WORKSPACEsrc/ -- SOURCE SPACECMakeLists.txt -- 'Toplevel' CMake file, provided by catkinpackage_1/CMakeLists.txt -- CMakeLists.txt file for package_1package.xml -- Package manifest for package_1...package_n/CMakeLists.txt -- CMakeLists.txt file for package_npackage.xml -- Package manifest for package_n
5. 用catkin更新ros workspace
$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash
查找软件包安装位置命令
dpkg -L softwarename