![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
rbx1书籍
猪猪传奇
真正的大师,永远怀着一颗学徒的心
展开
-
【 rbx1翻译 第八章、导航,路径规划,同步定位与建图】第一节、使用move_base进行路径规划和避障
8、NAVIGATION , PATH PLANNING AND SLAM (导航,路径规划,同时定位与建图)既然我们已经介绍了如何控制差动驱动机器人的基础知识,我们就可以尝试使用ROS中更强大的功能之一了。 即同时定位与建图或SLAM。Now that we have covered the basics of how to control a differential drive robot, we are ready to try one of the more powerful features原创 2020-08-17 12:34:42 · 786 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第十节、遥控你的机器人
7.10 Teleoperating your Robot (遥控你的机器人)对机器人保持某种手动控制总是一个好主意,尤其是在测试新代码时。 我们已经看到,机器人的基本控制器订阅了/ cmd_vel话题,并将在那里发布的所有Twist消息映射为电机信号。 如果我们可以使用诸如操纵杆或游戏控制器之类的远程控制设备在/ cmd_vel主题上发布Twist消息,则可以使用它来遥控机器人。 (这是ROS如何使我们能够从底层硬件中抽象出来的另一个很好的例子。)It is always a good idea to原创 2020-08-16 18:20:31 · 885 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第九节、使用里程计走正方形
7.9 Navigating a Square using Odometry (使用里程计走正方形)就像我们使用基于里程表的往返脚本一样,我们将使用 /odom和 /base_link(或 /base_footprint)坐标系之间的tf转换来监视机器人的位置和方向。 但是,这次我们将尝试通过设置四个路径点(每个角点一个)来将机器人移动到一个正方形。 在运行结束时,我们可以看到机器人与起始位置和方向的接近程度。 让我们从模拟开始,然后在真实的机器人上进行尝试。As we did with the odo原创 2020-08-16 13:29:24 · 521 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第八节、使用里程计进行往返运动
7.8 Out and Back Using Odometry (使用里程计进行往返运动)现在,我们了解了里程表信息是如何在ROS中表示的,我们可以更精确地在往返过程中移动机器人。 下一个脚本将监视/ odom和/ base_link坐标系之间的转换报中的机器人的位置和方向,而不是根据时间和速度来猜测距离和角度。Now that we understand how odometry information is represented in ROS, we can be more precise abo原创 2020-08-15 17:02:14 · 1213 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第七节、我们到达了吗?用里程表走向远方
7.7 Are We There Yet? Going the Distance with Odometry (我们到达了吗?用里程表走向远方)当我们要求机器人以一定速度运动或旋转时,我们如何知道它实际上在按照我们的要求进行操作? 例如,如果我们发布“Twist”消息以使机器人以0.2 m / s的速度向前移动,我们如何知道该机器人并没有以0.18 m / s的速度前进? 实际上,我们如何知道两个车轮都以相同的速度行驶?When we ask our robot to move or rotate at原创 2020-08-15 15:30:26 · 200 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第六节、使用ROS节点发布Twist消息
7.6 Publishing Twist Messages from a ROS Node (使用ROS节点发布Twist消息)到目前为止,我们一直在从命令行移动机器人,但是大多数时候,您将依靠ROS节点来发布适当的Twist消息。 举一个简单的例子,假设您要对机器人进行编程,使其向前移动一个1.0米,旋转180度,然后回到起点。 我们将尝试通过多种不同方式来完成此任务,这些方式将很好地说明ROS中运动控制的不同级别。So far we have been moving our robot from t原创 2020-08-14 16:43:25 · 963 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第五节、向真正的机器人发送Twist消息
7.5 Sending Twist Messages to a Real Robot (向真正的机器人发送Twist消息)如果您有TurtleBot或任何其他机器人在/ cmd_vel话题上监听运动命令,则可以在现实世界中尝试一些Twist消息。 始终确保从较小的线速度和角速度开始。 首先尝试应进行单纯的旋转,以免机器人突然在房间内飞来飞去以致毁坏家具。If you have a TurtleBot or any other robot that listens on the / cmd_vel top原创 2020-08-14 15:53:05 · 368 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第四节、校准机器人的里程表
7.4 Calibrating Your Robot’s Odometry (校准机器人的里程表)如果您没有机器人,则可以完全跳过本节。 如果您有原始的TurtleBot(以iRobot Create为基础),请确保使用自动校准例程来设置机器人的角度校正系数。 您仍然可以使用本节的第一部分来设置线性校正系数。 请注意,在所有情况下,对于不同类型的地板表面,您可能需要使用不同的校准参数。 例如:地毯与硬木。 管理不同参数的最简单方法是为每个地面使用不同的启动文件。If you don’t have a r原创 2020-08-14 15:32:46 · 688 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第三节、用ROS扭转
7.3 Twisting and Turning with ROS (用ROS扭转)ROS使用“Twist”消息类型(请参见下面的详细信息)来发布要由基本控制器使用的运动命令。 虽然我们基本上可以为话题使用任何名称,但通常将其称为 /cmd_vel,它是“命令速度”的缩写。 基本控制器节点订阅 /cmd_vel话题,并将Twist消息转换为实际上使车轮转动的马达信号。ROS uses the Twist message type (see details below) for publishing mo原创 2020-08-13 18:28:46 · 1008 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第一节、单位和坐标系
在本章中,我们将学习如何使用一对差动驱动轮和一个用来平衡的被动脚轮来控制移动基座。 ROS还可以用于控制全向基座以及飞行机器人或水下车辆,但是陆基差动驱动机器人是一个很好的起点。7.1 单位和坐标系在向机器人发送运动命令之前,我们需要了解ROS中使用的测量单位和约定的坐标系使用。使用参考坐标系时,请记住,ROS使用右手约定来定向坐标轴,如上图所示。 食指和中指指向x和y轴的正方向,拇指指向z轴的正方向。 绕坐标轴旋转的方向由下图显示的右手规则定义:如果将拇指指向任何轴的正方向,则手指会沿正旋转方原创 2020-08-13 16:00:21 · 254 阅读 · 0 评论 -
【 rbx1翻译 第七章、控制移动基座】第二节、运动控制级别
7.2 Levels of Motion Control(运动控制级别)可以在多个级别上控制移动机器人,这些级别中的绝大多数,ROS已经提供了相应的方法。 这些级别代表不同程度的抽象,从对电动机的直接控制开始,一直进行到路径规划和SLAM(同时定位和映射)。Controlling a mobile robot can be done at a number of levels and ROS provides methods for most of them. These levels represen原创 2020-08-13 17:14:38 · 766 阅读 · 0 评论