ROS Learning-025 (提高篇-003 A Mobile Base-01) 控制移动平台
ROS 提高篇 A Mobile Base-01 — 控制移动平台 — 基本知识
我使用的虚拟机软件:VMware Workstation 11
使用的Ubuntu系统:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo
注意:
1 . ROS 提高篇这个专栏的教学有门槛。
2 . 如果你没有学习前面的教程,请想学习前面的 beginner_Tutorials 和 learning_tf 的ROS 相关教程。
这一节没没有编写程序或者在终端中执行什么命令,这一节我们讲一些需要你了解的事,目的是:为了告诉你你现在要怎么学 ROS 。
一 . 怎么理解 “移动平台”:
“移动平台” : A Mobile Base。
就以 Pi 机器人为例 :
完整的 Pi 机器人: ————————————- 移动平台 就是:
对于陆地式轮式机器人,它们的移动平台就简单的组成零件是:一对轮子和一个万向轮。ROS也可用于控制其他方面的机器人,比如基于飞行的,水下的。但是陆地轮式移动平台是学习开始ROS最好的移动平台。
理解了吗。这一部分的教程(ROS 提高篇之 A Mobile Base),我们就来介绍:如何控制移动平台。(在这部分教程里面,我们使用现成的机器人,所以不介绍如何创建移动平台模型。并且整个 ROS 教程提高篇里面我们都不讲如何创建机器人模型,我们会在ROS 教程实战篇中教你如何创建自己的机器人模型。)
在学习这部分的教程(ROS 提高篇之 A Mobile Base)的开始,知道什么是 移动平台 是十分重要的事情,这样你就知道我们这一章在讲什么。
要想做一个机器人,我们需要先让它能动起来,然后在往上面加传感器,加算法….。
二 . ROS的测量单位和坐标系统:
在我们给我们的机器人发送运动命令前,我们有必要先来了解一下ROS的 测量单位 和 坐标系统 。
1 . 坐标系统:
当你工作于参考坐标系空间,记住:ROS使用 右手定义 :
所以,对于 ROS 机器人,如果以它为坐标系的原心,那么:
- x轴:前方
- y轴:左方
- z轴:上方
2 . 在一个绕轴线上的旋转,也使用 右手定义:
根据右手定义,围绕 z轴正旋转 是 逆时针旋转
3 . 测量单位:
ROS使用公制 :
- 线速度:
m/s - 角速度:
rad/s
线速度=0.5m/s 对于一个室内机器人来说是一个相当快的速度了。角速度=1.0rad/s 就是旋转一圈6秒钟。
例子:下面这条命令不用运行,只是为了讲解后面数字参数的意义。
$ rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
这句话就是给 /turtle1/cmd_vel 话题发布一次:让机器人 向x轴正方向前进:线速度:2.0m/s; 绕z轴正方向旋转:角速度:1.8ral/s。
搞定
下一讲,我们来介绍: ROS的控制运动的层次。ROS控制运动并不单纯,它分好多层。类似于中国西周时代的统治层次(天子-> 诸侯 -> 卿大夫 ->士 -> 平民 -> 奴隶)。
ROS Learning-025 (提高篇-003 A Mobile Base-01) 控制移动平台的更多相关文章
- ROS Learning-031 (提高篇-009 A Mobile Base-07) 控制移动平台 --- (操作)人机交互
ROS 提高篇 之 A Mobile Base-07 - 控制移动平台 - (操作)人机交互 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14 ...
- ROS Learning-030 (提高篇-008 A Mobile Base-06) 控制移动平台 --- (Python)odom导航的例子:移动一个方块路径
ROS 提高篇 之 A Mobile Base-06 - 控制移动平台 - (Python)再次使用odom导航的一个例子:移动一个方块路径 我使用的虚拟机软件:VMware Workstation ...
- ROS Learning-029 (提高篇-007 A Mobile Base-05) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(精确的制定目标位置)
ROS 提高篇 之 A Mobile Base-05 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(精确的制定目标位置) 使用 odometry 消息类型 重写 out_and_ba ...
- ROS Learning-028 (提高篇-006 A Mobile Base-04) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(不精确的制定目标位置)
ROS 提高篇 之 A Mobile Base-04 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(不精确的制定目标位置) 我使用的虚拟机软件:VMware Workstation ...
- ROS Learning-027 (提高篇-005 A Mobile Base-03) 控制移动平台 --- Twist 消息
ROS 提高篇 之 A Mobile Base-03 - 控制移动平台 - Twist 消息 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14 ...
- ROS Learning-026 (提高篇-004 A Mobile Base-02) 控制移动平台 --- “分封制”
ROS 提高篇 之 A Mobile Base-02 - 控制移动平台 - "分封制" 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ub ...
- ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介
ROS 提高篇 之 Launch 深入研究 - 01 - 启动文件的编程 - ROS 的 XML语法简介 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubu ...
- ROS Learning-024 (提高篇-002) rviz的安装和使用
ROS 提高篇-002 - rviz 的安装和使用 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本:ROS ...
- ROS Learning-023 (提高篇-001) 准备工作 --- 安装一些必要的软件包
ROS 提高篇-001 - 准备工作 - 安装一些必要的软件 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本 ...
随机推荐
- mysql 逻辑查询语句执行顺序
一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...
- Java_数据交换_JAXB_用法入门
一.前言 最近有个需求,需要进行xml 与 bean 的相互转化. 使用 JAXB 可完成这个需求. 二.概述 JAXB(Java Architecture for XML Binding) 是一个业 ...
- php 中改变字符编码的函数 是 iconv()
json_enocode() 此函数里边接收的数据必须是utf8格式.要不然会输出null
- 关于postman、postman interceptor的安装、配置问题
由于app中有一些鉴权问题,需要携带浏览器的cookie. 不然的话不能够正确测试接口,就在chrome(这里下载的来源是Google商店)中添加了postman interceptor插件. 然后发 ...
- SpringCloud微服务实战——第三章服务治理
Spring Cloud Eureka 服务治理 是微服务架构中最核心最基本的模块.用于实现各个微服务实例的自动化注册与发现. 服务注册: 在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中 ...
- CentOS 7安装Azcopy
Azcopy是Azure存储一个非常好用的工具.本文将介绍如何在CentOS7下安装的过程. 更新:目前需要.net core 2.0版本.具体下载地址大家自己搜索. 1 安装.net core 1. ...
- 找不到引用microsoft.office.core解决办法 via mrcjiong
在控制面板中,选择"添加删除程序",找到office ,选择"更改",在对话框中选择"添加删除功能",然后选择自定义安装,添加上office ...
- Solaris10怎么创建flash archive
使用flarcreate命令可以创建Solaris操作系统的映像(flash archive).Flash archive相当于Solaris系统的克隆.使用flash archive可以用于安装新系 ...
- java 多线程系列基础篇(三)之start()和run()的区别
概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答. start() 和 run()的区别说明 start() : 它的作用是启动一个新线程,新线程会执行相应 ...
- python 2.7.5升级到3.4.x
wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz .tgz cd Python-/ Python ./configure ma ...