zoukankan      html  css  js  c++  java
  • 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_Tutorialslearning_tfROS 相关教程。


    这一节没没有编写程序或者在终端中执行什么命令,这一节我们讲一些需要你了解的事,目的是:为了告诉你你现在要怎么学 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控制运动并不单纯,它分好多层。类似于中国西周时代的统治层次(天子-> 诸侯 -> 卿大夫 ->士 -> 平民 -> 奴隶)。

  • 相关阅读:
    PHP 进制汉字转化
    当调用方法没有注释信息并且参数不全
    DBCP数据库连接池技术的两种实现方式
    汇编语言中一步执行循环
    求最小函数依赖集
    汇编语言实验四
    汇编语言第七章
    batch实现数据库的批量插入Unknown system variable 'query_cache_size'
    汇编语言第一节课:数制转换,真值和补码
    Forsaken喜欢数论
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928550.html
Copyright © 2011-2022 走看看