Udacity机器人软件工程师课程笔记(七)-ROS介绍和Turtlesim包的使用

Robotics Software engineer笔记

1.ROS简介与虚拟机配置

(1)ROS简介

ROS是一款机器人软件框架,即机器人操作系统(Robot Operating System)。
图片来源:Udacity机器人软件工程师视频ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。在2007 年 ROS 在 Willow Garage 的支持下成为了一家正式实体。从 2013 年开始 开源机器人学基金会一直在维护并开发ROS。

然而更确切地说,ROS是一个元操作系统 (Meta-Operating System)。元操作系统不是一个明确定义的术语,而是一个利用应用稳序和分布式计算资源之间的虚拟化层来运用分布式计算资源来执行调度、加载、监视、错误处理等任务的系统。

ROS不是传统的操作系统如Windows、Linux和Android,反而是在利用现有的操作系统。使用ROS前需要先安装诸如Ubuntu的Linux发行版操作系统,之后再安装 ROS,以使用进程管理系统、文件系统、用户界面、程序实用程序 (编译器、线程模型等) 。此外,它还以库的形式提供了机器人应用程序所需的多数不同类型的硬件之间的数据传输/接收、调度和错误处理等功能。这个概念也被称为中间件 (Middleware) 或软件框架 (Software framework)。
在这里插入图片描述
ROS开发、管理和提供基于元操作系统的各种用途的应用功能包.并拥有一个负责分享用户所开发的功能包的生态系统 (Ecosystem)。 如图所示。ROS是在使用现有的 传统操作系统的同时,通过使用硬件抽象概念来控制机器人应用程序所必需的机器人和传感器,同时也是开发用户的机器人应用程序的支持系统。

(2)虚拟机配置

在这里我使用的是Udacity提供的Vmware磁盘映像,使用VMware player15免费版作为虚拟机的运行ROS。

安装步骤:

  • 下载并安装VMPlayer
  • 从提供的链接下载压缩包
  • 解压缩压缩包
  • 打开VMware
  • 按“打开虚拟机”
  • 选择较大的.ova文件
  • 等待文件导入(可能需要一些时间)
  • 如果弹出错误,请单击“重试”
  • 安装完成

注意:

  • 这里可能会出现未开启虚拟化错误,进入BIOS打开CPU虚拟化即可。

  • 虚拟机的密码是robo-nd

2. 环境设置

在开始在虚拟机中使用ROS之前,必须要检测所有的环境变量。所以首先要获取ROS提供的安装脚本

	source /opt/ros/kinetic/setup.bash

注意: 使用source 而不是 ./,因为这两个命令之间有一个微妙的区别,即 source 在当前会话中执行脚本,而 ./ 将启动一个包含当前环境副本的新会话。当 ./ 退出执行的脚本时,由它设置的所有环境变量都将丢失。

(1) 检查环境

特殊环境变量

ROS_ROOT=/opt/ros/kinetic/share/ros

存储核心ros包的路径

PATH=/opt/ros/kinetic/bin:...

ROS二进制文件的路径

ROS_DISTRO=kinetic

正在使用哪种ROS分布

PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages

ROS python包的路径,

有关上述环境变量,此处未提及的环境变量以及其他变量的更多信息,请参见 此处

(2)自动配置环境

为了避免每次打开新的终端窗口时设置ROS环境,我们可以简单地添加命令来将工作空间源化为我们的~/.bashrc file。这将导致文件在创建新终端会话时获取我们的环境。
在这里插入图片描述
注意:
提供的VM已配置此配置,因此无需执行此步骤!

3. 运行Turtlesim

(1) 启动主进程

在运行任何ROS节点之前,必须启动主进程。

主进程负责:

  • 为其他正在运行的节点提供命名和注册服务

  • 跟踪所有发布者和订阅者

  • 聚合节点生成的日志信息

  • 促进节点生成日志信息

要运行主进程,必须执行命令roscore

roscore

输出如下:
在这里插入图片描述

(2) 运行Turtlesim节点

现在已经运行了ROS的主程序了,接下来运行其他两个节点。

1)首先新建bash shell,在新的窗口中在turtlesim包中使用命令turtlesim_node

rosrun turtlesim turtlesim_node

2)接下来再新建bash shell 并在turtlesim包中使用命令turtle_teleop_key

rosrun turtlesim turtle_teleop_key

选中运行turtl_teleop_key的bash shell,就可以通过方向键控制小龟方向了。

在这里插入图片描述
参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stan Fu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值