机器人操作系统(ROS)入门
ROS简介
什么是ROS
ROS为Robot Operating System(机器人操作系统)的简写,是一个面向机器人的开源元操作系统。它能够提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、进程间消息传递和程序包管理等。此外,它还提供相关工具和库,用于获取、编译、编辑代码以及在多个计算机之间运行程序完成分布式计算。ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。
ROS产生、发展和壮大的原因
曾经,机器人创新的门槛非常高。如果你想在任何应用领域开发出有分量的产品,你需要建立一整套能够实现你想法的系统:包括硬件设备,当然还有控制系统,界面接口,以及让机器人运行并作为测试平台的检测工具。“没有什么是现成的设备,除了一些很差,闭源的东西外。”
随着机器人领域的快速发展和复杂化,代码复用和模块化的需求日益强烈,已有的开源系统已不能很好地适应需求,2010年Willow Garage公司发布了开源机器人操作系统ROS。
ubuntu18.04桌面版安装ROS软件并运行小海龟实例
ROS的安装
1.打开应用与升级并添加如下网址
#deb http://packages.ros.org/ros/ubuntu xenial main
deb http://packages.ros.org/ros-shadow-fixed/ubuntu xenial main
2.添加ROS的安装源,建议使用官网的命令, 再把链接替换成,国内镜像源。
sudo sh -c 'echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
3.使用官网命令添加keys
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116e
4.加载软件包列表sudo apt-get update
更新中可能出现如下错误:
解决方式:使用命令sudo gpg --keyserver.ubuntu.com --recv XXX
其中XXX会在问题中出现,再使用命令gpg --export --armor XXX |sudo apt-key add -
5.使用命令安装与ubuntu对应版本的ROS软件包这里我使用的是ubuntu18.04桌面版,查看ubuntu版本可以使用命令行sudo apt-get install ros-melodic-desktop-full
如果中途提示安装失败可以试着一直重复此命令
6.为初始化rosdep使用命令sudo rosdep init
7.rosdep更新,使用命令rosdep update
8.环境设定,将ROS坏境变量自动添加到bash会话中
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
9.安装管理库工具, 使用命令sudo apt install python-rosinstall python-rosintall-generator python-wstool build-essential
10.第一次使用,重复步骤8即可。
小海龟实例
1.在终端中输入如下命令roscore
2.打开第二个终端,可以使用快捷键Ctrl+Shift+T打开一个新的终端运行命令rosrun turtlesim turtlesim_node
将会出现一个静止的小海龟
3.移动小海龟:打开第三个终端,启动turtlesim的键盘控制节点turtle_teleop_key,命令为rosrun turtlesim turtle_teleop_key
,通过方向键可以控制小海龟移动。
键盘上面的“上下左右” | 小海龟移动情况 |
---|---|
上 | 前进 |
下 | 后退 |
左 | 原地向左转 |
右 | 原地向右转 |
4.海龟实例展示
参考文章
ROS发展历程
ROS产生、发展和壮大原因
ROS安装所需要的准备
加快ROS安装的一篇文章
无法定位软件包的可能原因
整体详细步骤
rosdep update 本地更新