ROS中用Twist消息控制机器人

ROS中用Twist消息控制机器人

INSTALLING THE ROS-BY-EXAMPLE CODE是书中第五章的内容,如果我们按照上一篇教程执行过了,就可以直接进入第五章,安装一个叫rbx1的包。这个包里面包括了本书中用到的所有例子的源码,包括路径规划,视觉,语音识别等功能。这本书基本就围绕这个包来学习ROS的使用方法。

  • 基本包的功能介绍
  • 从终端发布Twist消息控制机器人
  • 从节点发布Twist消息控制机器人
  • 下一步

1.基本包的功能介绍

ROS Base Controller是ROS中的基本控制节点,其中包含基本PID算法来控制电机运动。它主要任务是监听终端中或其他节点发出的以/cmd_vel为topic的控制指令(Topic是ROS中的一个基本概念,不同的节点之间通过发布和订阅相同Topic的消息来通信),然后发布/odom topicodometry 消息(里程,指直接获得的机器人走过的距离,通常由编码器数据计算得到或结合惯导经EKF得到),同时发布/odom坐标系和机体坐标系之间的转换(如果odom数据由EKF得到的话,这个工作由 robot_pose_ekf 节点完成).

move_base pacakge 可以让机器人移动至我们指定的目标地点,其中包含避障,路径规划等功能。

gmapping package :SLAM,用激光雷达或Kinect构建实时地图

amcl package : 机器人利用SLAM或odometry数据实时定位

下面是整个流程图:

这里写图片描述

2.从终端发布Twist消息控制机器人

其实这个Twist消息我们上一次已经用过了,它的Topic是/cmd_vel,base controler订阅Twist消息来控制电机。
在终端中执行以下指令查看Twist消息的具体内容:

rosmsg show geometry_msgs/Twist

一切正常的话,终端会输出以下信息。
这里写图片描述

其中有linear和angular两个子消息,可以唯一确定机器人的运动状态。

首先roscore,然后启动机器人和仿真器:

roslaunch rbx1_bringup fake_turtlebot.launch
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值