机器人操作系统(ROS)入门

机器人操作系统(ROS)入门目录一.ROS二.入门的实践练习三.相关资料一.ROS带你认识ROS什么是ROSROS(RobotOperatingSystem)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点

一.ROS

带你认识ROS

什么是ROS

ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。

ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu。

ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。

ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。

ROS的特点

ROS的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(即“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

(1)点对点设计
(2)不依赖编程语言
(3)精简与集成
(4)便于测试
(5)开源
(6)强大的库及社区:

ROS发展壮大的原因

随着技术的发展及人们需求的提高,机器人集成了越来越多的功能、传感器,对用户来说这越来越方便,但对开发者来说恰恰相反,功能的增加带来开发与集成难度迅速上升,机器人操作系统的出现有效缓解了这种问题。从计算机和智能手机的发展过程来看,合适与成熟的操作系统是智能机器人行业大规模发展和在人们的生活中普及的必要条件。可以预见,未来几年将会出现众多机器人操作系统,在经过充分的发展竞争后将会有为数不多的几个操作系统会发展壮大并占据绝大部分市场,就像曾经的计算机操作系统和现在的手机操作系统。

二.入门的实践练习

实践练习:在Ubuntu16或18系统中,安装对应版本的ROS软件;熟悉ROS基本命令;运行小海龟demo例子,通过键盘控制小海龟运动。记录整个实践过程。

1.安装
(1)设置安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

在这里插入图片描述
(2)设置密匙
使用如下命令:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

机器人操作系统(ROS)入门
(3)更新软件列表
在更新软件列表之前需要安装公钥,否则无法验证签名,命令如下:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

更新命令:

sudo apt update

在这里插入图片描述

(4)安装ROS
如下命令:

sudo apt-get install ros-melodic-desktop-full

如果出现如图情况:
在这里插入图片描述

解决办法,执行如下命令

ls /var/lib/dpkg/lock-frontend
sudo rm -r -f /var/lib/dpkg/lock-frontend
sudo  rm  -r -f /var/lib/dpkg/lock

在这里插入图片描述
如果出现如下如问题:
在这里插入图片描述
可以使用如下命令强制解锁:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

在这里插入图片描述
(5)初始化rosdep

初始化大家差不多都会遇到这个问题:

···Website may be down 或者 ···ERROR: unable to process source

只能放弃在线安装,先把所需的文件都存在本地,再来尝试了

在这里我借鉴了同学的博客进行了安装并配置文件,点此处学习

重新 rosdep update,结果如下图所示,则说明该步骤已经成功了

在这里插入图片描述
(6)添加 ROS 环境变量
命令:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

在这里插入图片描述
(7) 安装 rosinstall
命令:

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

在这里插入图片描述

(8)第一次启动ROS时,需要进行环境变量配置
执行如下命令:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

三.实验成果

先开启三个终端,然后分别依次输入如下命令:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

出来吧,龟精
在这里插入图片描述

四.参考网站

https://blog.csdn.net/xwmrqqq/article/details/114292547?spm=1001.2014.3001.5501

https://blog.csdn.net/qq_44830040/article/details/106049992

http://www.linuxdiyf.com/view_411290.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34701.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注