create® 3入门教程-安全功能
说明:
- 介绍create® 3启动的一些安全功能
相关设备
- Turtlebot4机器人套件:采购地址
介绍:
默认情况下,Create® 3 机器人启用了一些安全功能。他们的目的是确保机器人不会进入危险地点,并且能够检测到悬崖危险并做出适当反应
安全功能可由用户通过 ROS 2 参数进行配置。这将允许更多喜欢冒险的用户完全控制机器人。
ROS 2 节点公开的safety_override参数motion_control应用于控制和覆盖安全功能。它是一个string参数,它接受 3 个可能的值:
- none安全功能已完全启用。这是默认值。
- backup_only覆盖机器人备份限制安全功能,禁用它。
- full安全功能被完全禁用。
例如,为了完全禁用安全机制:
ros2 param set /motion_control safety_override full
- 请注意,如果用户设置的新安全值有错别字,参数服务器将拒绝更改。
简要介绍了安全功能的作用
后退限制
Create® 3 机器人配备了悬崖传感器,但它们仅位于机器人的前面。这意味着机器人在向后行驶时无法检测到悬崖危险。
为了使机器人安全,机器人的默认策略是永远不会向后移动超过如果机器人正后方有悬崖则安全的距离。在标准情况下,仅当机器人首先向前移动时(即,如果它已经“探索”了该空间以确保它不存在悬崖危险),它才被允许短暂地向后移动。
如果机器人被绑架(即首先被用户抬起然后放置在某处),后退限制将立即触发。
当后退限制即将被触发时,Create® 3 机器人会以多种方式向用户发出信号:
- 通过HazardDetectionsVectorROS 2 消息:类型的危险BACKUP_LIMIT将被发布在向量中。
- 通过记录警告消息。
- 通过将灯的颜色更改为橙色。
如果用户忽略这些警报并继续向后驱动机器人,机器人将突然刹车并停止。
从这一点开始,机器人将拒绝任何向后移动。用户必须向前驱动机器人才能重新启用向后运动。
一旦用户向前驾驶机器人,灯光将恢复为默认的白色。不会立即重新允许安全向后移动,而是机器人必须继续向前行驶一段时间。这个时刻将通过从消息中BACKUP_LIMIT消失的危险来识别。HazardDetectionsVector
后退限制及其相关警报仅在safety_override = none.
最大速度
为了在检测到悬崖危险时停下来,还必须确保机器人没有开得太快。因此,安全功能将限制机器人速度。
您可以通过ROS 2 节点max_speed公开的只读参数查看当前的最大机器人速度。motion_control
何时safety_override = none或safety_override = backup_only最大速度将被限制为 0.306 m/s。
通过完全禁用安全功能,即设置safety_override = full机器人将被允许以真正的最大速度 0.460 m/s 行驶。
加速限制
- 机器人通过节点wheel_accel_limit上的参数公开其命令加速度限制。motion_control发送到车轮的速度命令将使用与该值相关的加速度曲线进行倾斜。该值默认为其可设置的最大值900 mm/s^2。如果使用较重的有效载荷,建议降低加速度限制。
急停
机器人公开一个名称为 true 的服务,该服务e_stop将e_stop_on关闭机器人的轮子。当e_stop_on为真时,机器人将不会响应速度命令
例如,为了启用 E-Stop:
ros2 service call /e_stop irobot_create_msgs/srv/EStop "{e_stop_on: true}"
车轮状态
- 有一个wheel_status主题发布WheelStatus.msg 公开车轮是否启用(如果启用 E-Stop 则禁用)以及当前的 PWM 占空比和通过每个车轮的电流。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号