ROS1 Noetic 笔记
ROS1 Noetic 笔记
安装ROS1
根据当前Ubuntu系统版本下载对应的ROS版本
ROS1各个版本说明链接: http://wiki.ros.org/Distributions
ROS2各个版本说明链接: http://docs.ros.org/en/humble/Releases.html
笔记中记录安装ROS1 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 install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
安装完整版
sudo apt install ros-noetic-desktop-full
设置环境
source /opt/ros/noetic/setup.bash
如果需要确定ROS环境是否已经配置成功,可通过下面指令查看环境变量设置
printenv | grep ROS
为了避免每次运行ros都需要先重新指定环境,可以将环境配置.bashrc文件中,在每次进入用户目录时候shell都会自动执行.basrc脚本文件。
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
安装依软件包
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
使用ROS
创建工作空间
新建工作目录,并在该工作目录下创建src文件夹,以下示例为在当前目录下创建catkin_ws工作空间和src文件夹,并运行catkin_make,在src中自动生成CMakeLists.txt文件以及工作空间中的其他文件夹和文件。注意src文件中存储 包->节点、消息定义、主题、服务等元素。
mkdir -p ./catkin_ws/src
cd ./catkin_ws/
catkin_make
将当前工作空间相关环境配置到当前运行环境中,使用以下指令。注意在新终端中都需要执行该指令。
source devel/setup.bash
查看当前ROS包路径配置
echo $ROS_PACKAGE_PATH
ROS文件导航系统
安装
sudo apt-get install ros-noetic-ros-tutorials
常用软件指令
rospack find [package name]
roscd <package or stack>[/subdir]
rosls <package or stack>[/subdir]
创建包
进入src文件夹内,创建包,示例中的包名为pkg_demo,其中包名后为依赖包。指令执行成功后,会在包名对应目录下生成package.xml和CMakeLists.txt。
catkin_create_pkg pkg_demo std_msgs rospy roscpp
进入工作空间目录,重新编译,编译完成后再次配置环境,见前创建空间相关说明。
目录结构
workspace_folder/ -- WORKSPACE
src/ -- SOURCE SPACE
CMakeLists.txt -- 'Toplevel' CMake file, provided by catkin
package_1/
CMakeLists.txt -- CMakeLists.txt file for package_1
package.xml -- Package manifest for package_1
msg/ -- message file define
srv/ -- server define
script/ -- run py file
...
package_n/
CMakeLists.txt -- CMakeLists.txt file for package_n
package.xml -- Package manifest for package_n
msg/ -- message file define
srv/ -- server define
script/ -- run py file
创建节点和运行节点请见教程
http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber(python)
http://wiki.ros.org/ROS/Tutorials/ExaminingPublisherSubscriber
常用工具
rosrun rqt_plot rqt_plot #图像绘制工作
rosrun rqt_graph rqt_graph #主题数据流向图