ROS新手极速入门教程

本文详细介绍了如何在Ubuntu20.04上快速安装ROSNoetic,包括设置软件源、安装依赖、添加环境变量,以及使用rqt_robot_steering和turtlesim进行基础操作和源码编译的过程。
摘要由CSDN通过智能技术生成

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_steeringturtlesim这两个软件包。

运行 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

在这里插入图片描述

这样就可以运行自己编译的源码了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值