天天看点

【 rbx1翻译 第七章、控制移动基座】第一节、单位和坐标系

7、CONTROLLING A MOBILE BASE (控制移动基座)

在本章中,我们将学习如何使用一对差动驱动轮和一个用来平衡的被动脚轮来控制移动基座。 ROS还可以用于控制全向基座以及飞行机器人或水下车辆,但是陆基差动驱动机器人是一个很好的起点。

In this chapter we will learn how to control a mobile base that uses a pair of differential drive wheels and a passive caster wheel for balance. ROS can also be used to control an omni-directional base as well as flying robots or underwater vehicles but a land-based differential drive robot is a good place to start.

【 rbx1翻译 第七章、控制移动基座】第一节、单位和坐标系

7.1 Units and Coordinate Systems (单位和坐标系)

在向机器人发送运动命令之前,我们需要了解ROS中使用的测量单位和约定的坐标系使用。

Before we can send movement commands to our robot, we need to review the measurement units and coordinate system conventions used in ROS.

【 rbx1翻译 第七章、控制移动基座】第一节、单位和坐标系

使用参考坐标系时,请记住,ROS使用右手约定来定向坐标轴,如上图所示。 食指和中指指向x和y轴的正方向,拇指指向z轴的正方向。 绕坐标轴旋转的方向由下图显示的右手规则定义:如果将拇指指向任何轴的正方向,则手指会沿正旋转方向卷曲。 对于使用ROS的移动机器人,x轴指向前方,y轴指向左侧,z轴指向上方。 在右手规则下,机器人绕z轴的正向旋转是逆时针方向,而负向旋转是顺时针方向。

When working with reference frames, keep in mind that ROS uses a right-hand convention for orienting the coordinate axes as shown on left. The index and middle fingers point along the positive x and y axes and the thumb points in the direction of the positive z axis. The direction of a rotation about an axis is defined by the right-hand rule shown on the right: if you point your thumb in the positive direction of any axis, your fingers curl in the direction of a positive rotation. For a mobile robot using ROS, the x-axis points forward, the y-axis points to the left and the z-axis points upward. Under the right-hand rule, a positive rotation of the robot about the z-axis is counterclockwise while a negative rotation is clockwise.

【 rbx1翻译 第七章、控制移动基座】第一节、单位和坐标系

还请记住,ROS使用公制,因此始终以米/秒(m / s)为单位指定线速度,以弧度/秒(rad / s)为单位指定角速度。 对于室内机器人,0.5 m / s的线速度实际上已经相当快了(约1.1 mph),而1.0 rad / s的角速度等效于6秒转一圈或10 RPM的旋转速度。 如有疑问,请缓慢启动并逐渐提高速度。 对于室内机器人,我倾向于将最大线速度保持在0.2 m / s或以下。

Remember also that ROS uses the metric system so that linear velocities are always specified in meters per second (m/s) and angular velocities are given in radians per second (rad/s). A linear velocity of 0.5 m/s is actually quite fast for an indoor robot (about 1.1 mph) while an angular speed of 1.0 rad/s is equivalent to about one rotation in 6 seconds or 10 RPM. When in doubt, start slowly and gradually increase speed. For an indoor robot, I tend to keep the maximum linear speed at or below 0.2 m/s.

继续阅读