机器人操作系统(ROS)浅析(肖军浩 博士 译) 学习笔记一(第一章到第五章)

本文是ROS(Robot Operating System)学习笔记的第一部分,涵盖了ROS的基础知识,包括选择ROS的理由、软件复用、快速测试等。详细介绍了ROS的安装、配置、节点管理、话题和消息机制,以及如何创建和运行ROS程序。通过实例演示了如何使用roscore、rosrun、rostopic等工具,并讲解了ROS的日志系统和计算图源命名规则。适合ROS初学者阅读。
摘要由CSDN通过智能技术生成

机器人操作系统(ROS)浅析(肖军浩 博士 译) 学习笔记

第一章:
第 1 章 绪论
1.1 选择 ROS 的理由 
分布式计算 现代机器人系统往往需要多个计算机同时运行多个 进程,例如: 
 (1)一些机器人搭载多台计算机,每台计算机用于控制机器人的 部分驱动器或传感器; 
 (2)即使只有一台计算机,通常仍将程序划分为独立运行且相互 协作的小的模块来完成复杂的控制任务,这 也是常见的做法;
 (3)当多个机器人需要协同完成一个任务时,往往需要互相通信 来支撑任务的完成; 
 (4)用户通常通过台式机、笔记本或者移动设备发送指令控制机 器人,这种人机交互接口可以认为是机器人软件的一部分。 
软件复用:
    (1) ROS 标准包(Standard Packages)提供稳定、可调式的各类重要机器人算法实现。 
    (2)ROS通信接口
快速测试 :
    (1)精心设计的 ROS 系统框架将底层硬件控制模块和顶层数据处 理与决策模块分离;
    (2)ROS 另外提供了一种简单的方法可以在调试过程中记录传感 器数据及其他类型的消息数据,并在试验后按时间戳回放,这类记录的数据叫作包(bag), 一个被称为 rosbag 的工具可以用于记录和回放包数据。
总结:ROS的主要代码由C++语言 3 编写,本书后续章节也会介绍如何在ROS中使用C++进行编程。 ROS 不仅是一个函数库,除包含客户端库(Client Libraries) 外,还包含一个中心服务器(Central Server)、 一系列命令行 工具、图形化界面工具以及编译环境。
 
1.2 内容概述 
在groovy及之前的版本中,ROS采用rosbuild系 统来完成软件的编译,而在新的版本中,则改用catkin编译系统。 


第 2 章 入门概述
2.1 安装 ROS
(1)创建文件/etc/apt/sources.list.d/ros-latest.list
(2)ros-latest.li文件中添加信息:deb http://packages.ros.org/ros/ubuntu trusty main 
(3)wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key 
(4)sudo apt-key add ros.key 
(5)sudo apt-get update 
(6)sudo apt-get install ros-indigo-desktop-full 
(7)安装 turtlesim 功能包:sudo apt-get install ros-indigo-turtlesim 
(8)为系统设置 rosdep:sudo rosdep init 
2.2 配置账户 
(1)rosdep update 
(2)source /opt/ros/indigo/setup.bash 
   (3)编辑账户根目 录中的文件.bashrc,在最后一行输入:source /opt/ros/indigo/setup.bash

2.3 使用 TURTLESIM的小例子
    
2.4 功能包/软件包(PACKAGES)
    (1)在 ROS 中,所有软件都被组织为软件包的形式,称为 ROS软件包或功能包,有时也简称为包。ROS 软件包是一组用于实现特 定功能的相关文件的集合,包括可执行文件和其他支持文件。
    (2)使用下行命令,可以获取所有已安装的ROS软件包列表清单:rospack list
        每个程序包由一个清单文件(文件名为 package.xml)定义。 该文件定义关于包的一些细节,包括其名称、版本、维护者和依赖关系。
        使用新的 catkin 编译构建系统的功能包 ——编译产生的可执行文件并未存放在功能包目录下,而 是存放在一个单独的标准化目录层次结构中。
        对于使用 apt-get 安装的功能包,其所在根目录为/opt/ros/indigo。可 执行文件存储在这个根目录下的 lib 子目录里。
        要找到一个软件包的目录,使用 rospack find 命令: rospack find package-name  

        (turtlesim是一个软件包)一些命令: $ rosls turtlesim , $ rosls turtlesim /images ,
                                         $ roscd turtlesim /images/ , $ roscd turtlesim /images/ 
        图像查看命令: eog box−turtle . png

2.5 节点管理器(THE MASTER) ——》谈如何实际执行 ROS 软件?
    ROS 的一个基本目标是使机器人专家设计的很多称为节点 (node)的几乎相对独立的小程序能够同时运行。为此,这些节点必须能够彼此通信。ROS中实现通信的关键部分就是 ROS 节点管理器。要启动节点管理器,使用如下命令: roscore
    大多数 ROS 节点在启动时连接到节点管理器上,如果运行 中连接中断,则不会尝试重新连接。因此,如果 roscore 被终止,当前运行的其他节点将无法建立新的连接,即使稍后重启 roscore 也无济于事。 
     roslaunch 的工具,其目的是一次性启动多个节点。这是一个自适应工具,如果启动多节点时没有节 点管理器运行,它会自动启动节点管理器;如果已经有一个节点 管理器在运行,则会使用已有的。

2.6 节点(NODES)
要启动节点管理器,使用如下命令: roscore     。当结束时,可以通过在 roscore 终端键入 Ct

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值