机器人操作系统ROS入门

实验目的:
1.什么是ROS? ROS产生、发展和壮大的原因和意义?
2.在Ubuntu16或18系统中,安装对应版本的ROS软件;熟悉ROS基本命令;运行小海龟demo例子,通过键盘控制小海龟运动。记录整个实践过程。
实验环境:Windows10,Ubuntu18.04
参考资料:学习通课程资料,百度百科,别人的博客(点个赞)

一、ROS是什么?

百度解释为:

ROS是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。

其实ROS就是编写机器人软件程序的一个框架。ROS能够让程序员更轻松地开发机器人程序,和C语言的功能类似,帮助程序员完成对机器人软件程序的编写。ROS包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁,莽的机器人行为这一过程的难度与复杂度。
说得简单一点,ROS就是机器人的高级编程语言和工具。

二、为什么要学习ROS?

1.ROS的产生、发展和壮大的原因

(1)ROS的产生

在ROS诞生之前,很多学者认为,机器人研究需要一个开放式的协作框架,并且已经有不少类似的项目致力于实现这样的框架。在这些工作中,斯坦福大学在2000年年中开展了一系列相关研究项目,如斯坦福人工智能机器人(STandford AI Robot, STAIR)项目、个人机器人(Personal Robots, PR)项目等,在上述项目中,在研究具有代表性、集成式人工智能系统的过程中,创立了用于室内场景的高灵活性、动态软件系统,其可以用于机器人学研究。
2007年,柳树车库(Willow Garage)提供了大量资源,用于将斯坦福大学项目中的软件系统进行扩展与完善,同时,在无数研究人员的共同努力下,ROS的核心思想和基本软件包逐渐得到完善。

(2)ROS的发展
在这里插入图片描述
(3)ROS壮大的原因
ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。为了提高生产效率,使用机器人是不错的选择,ROS就一步一步发展壮大。

2.为何学习ROS

在这里插入图片描述
因为有这些优点,ROS值得学习了解。

三、ROS安装

(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'

设置密钥

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

安装公钥

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

软件更新

sudo apt update

(2)安装ROS

安装ROS

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

执行初始化

sudo apt install python-rosdep
sudo rosdep init
rosdep update

一般都会被墙(会出错),换成先下载再安装

(3)解决安装ROS的问题

下载这玩意儿
直接解压到home主目录下
更名为rosdistro

修改以下文件
①20-default.list

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

修改内容(里面的xxx换成自己的用户名,如jiang)

# os-specific listings first
yaml file:///home/xxx/rosdistro/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/xxx/rosdistro/rosdep/base.yaml
yaml file:///home/xxx/rosdistro/rosdep/python.yaml
yaml file:///home/xxx/rosdistro/rosdep/ruby.yaml
gbpdistro file:///home/xxx/rosdistro/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

注意:如果在/etc里面没有该文件,请自行创建在这里插入图片描述

在这里插入图片描述
②sources_list.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

注释原DEFAULT_SOURCES_LIST_URL这一行

DEFAULT_SOURCES_LIST_URL = 'file:///home/xxx/rosdistro/rosdep/sources.list.d/20-default.list'

③rep3.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py

注释原REP3_TARGETS_URL这一行

REP3_TARGETS_URL = 'file:///home/xxx/rosdistro/releases/targets.yaml'

④__init__.py

sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py

注释原DEFAULT_INDEX_URL这一行

DEFAULT_INDEX_URL = 'file:///home/xxx/rosdistro/index-v4.yaml'

然后rosdep update,出现以下结果就可以了
在这里插入图片描述

(4)通灵之术——小海龟

打开三个新的终端
分别输入以下内容

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

小海龟出来了!!!
在这里插入图片描述

四、其它(参考资料和资源)

GitHub的ROS下载链接
别人的博客(点个赞)
参考博客1
参考博客2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器人操作系统ROS)是一种用于编写机器人软件的开源操作系统。它提供了一套库和工具,使机器人可以执行各种任务,并与传感器和执行器进行通信。ROS具有良好的可扩展性和灵活性,并广泛应用于各种机器人研究和开发项目中。 对于初学者来说,学习ROS可能会有一定的挑战,因为它涉及到许多概念和工具。然而,有很多入门电子书可以帮助您掌握ROS的基本知识和使用技巧。 其中一本非常受欢迎的入门电子书是《ROS入门教程》。这本书由ROS官方团队编写,提供了详细的步骤和示例代码,帮助读者了解ROS的核心概念和常用功能。此外,书中还包含了解决实际问题和开发机器人应用程序所需的基本技巧和技巧。 《ROS入门教程》首先介绍了ROS的基本概念,包括节点、话题和服务等。接下来,它逐步介绍了如何创建ROS软件包、编写ROS节点和发布/订阅话题。此外,书中还包含了如何使用ROS的常用工具,如RViz和rqt等。 此外,还有其他一些入门电子书,如《学ROS原理与应用》、《ROS机器人入门与实践》等。这些书提供了更深入的ROS知识,并介绍了一些高级主题,如机器人导航、SLAM和机器人控制等。 总之,入门电子书是学习ROS的一种很好的方式。它们可以帮助初学者了解ROS的基本概念和使用技巧,并提供实际的示例和练习,以帮助读者掌握ROS的核心功能。无论您是机器人开发者还是研究人员,了解ROS都将为您的工作和学习提供很大的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值