ROS新手极速入门
环境搭建
本文中的所有测试均在ubuntu20.04上。其他的Linux版本请记得和ROS对应的版本进行适配(作者使用的是20.04对应的noetic)
参考官方安装链接:http://wiki.ros.org/noetic/Installation/Ubuntu
1、设置软件下载源码
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2、设置下载密钥
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
上述第二步可能会出错,报 no valid OpenPGP data found 的错误。如果报错的话,执行下面的步骤:
wget http://packages.ros.org/ros.key
sudo apt-key add ros.key
sudo apt-get update --fix-missing
3、更新ROS在软件源上的文件索引并下载ROS所有的依赖
sudo apt install ros-noetic-desktop-full # 时间较长
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
4、添加 ROS 环境变量
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
5、初始化 ROS的依赖
sudo rosdep init
rosdep update
ROS体验
控制乌龟旋转
安装完之前的ros-noetic-desktop-full
依赖包时,会自动安装rqt_robot_steering
和turtlesim
这两个软件包。
运行 roscore
roscore相当于一个服务,所有的ros程序都要依赖于这个core。
roscore
运行rqt_robot_steering
rosrun rqt_robot_steering rqt_robot_steering
rqt_robot_steering是一个控制速度和转向的工具,在终端运行后效果图如下:
运行turtlesim
rosrun turtlesim turtlesim_node
turtlesim是官方的一个乌龟模型,用来模拟被控对象,运行完以后效果:
修改控制指令的主题
ROS各个节点node之间通过订阅主题的消息进行通信,更改控制速度和转向的主题为乌龟的主题,并改变速度和方向就可以看到乌龟在动:修改主题为turtle1/cmd_vel,就可以实现对右侧乌龟的控制。
编译源码
如果是自己写的源码或者是从其他地方获取的源码,都要放在一个ROS的workspace下,进行源码编译才能使用。
所有的源码存放的文件夹为catkin_ws下的src文件下,使用的编译工具为catkin_make
caktin_make一定要在catkin_ws目录下执行,这样才能去编译所有的源码。然后生成对应的devel、build目录。
添加环境变量
编译成功后,需要将devel文件下的setup.bash写入到~/.bashrc中,打开终端即生效
echo "path_devel/setup.bash" >> ~/.bashrc # path_devel/setup.bash就是setup.bash所在的绝对路径
source ~/.bashrc
这样就可以运行自己编译的源码了。