手臂概念(Arm Concepts)
同步命令SynchronizedCommand
message SynchronizedCommand {
message Request {
ArmCommand.Request arm_command = 1;
MobilityCommand.Request mobility_command = 2;
GripperCommand.Request gripper_command = 3;
}
}
- Cartesian Moves : 控制 "笛卡爾空間 Cartesian space" 中的末端執行器。指定末端執行器的混合位置和扳手軌跡
- 關節運動Joint Moves : 控製手臂的關節角度。
- 預定義姿勢Predefined Poses Move : 將手臂移動到一些預定義的配置
- 手臂速度Arm Velocity : 末端執行器的速度控制。
- 凝視Gaze t 指定末端執行器到真實世界的一點上。
- 拖動Drag : 拖動夾持器中的物件。
- 停止Stop : 停止並保持手臂就位。
請求Requests
如果您發送的 SynchronizedCommand 只填寫了一部分消息,則只會覆蓋這些命令。例如,考慮以下偽代碼:
Time t = 0 message SynchronizedCommand { message Request { ArmCommand.Request arm_command = stow; MobilityCommand.Request mobility_command = stand; GripperCommand.Request gripper_command = close; } } Time t = 2 message SynchronizedCommand { message Request { MobilityCommand.Request mobility_command = se2_trajectory_request; } }
機器人在時間 t = 2 收到第二個請求後,將繼續執行手臂收起命令和夾具關閉命令,同時用新的 se2_trajectory_request 覆蓋 t = 0 移動站請求。
同樣,如果您在發送 FullBodyCommand 後發送部分填寫的 SynchronizedCommand,則空的 SynchronizedCommand 請求將自動填充 safe_stop 請求。
回饋Feedback
隨著在 SynchronizedCommand 中引入 ArmCommand 和 GripperCommand 請求,我們還修改了反饋以返回三個消息,每個請求相對一個反饋消息。
ArmCommand 請求
笛卡爾動作Cartesian Moves
第一幀是“根”幀,它是手相對於移動的幀。此幀的常見選擇是“odom”、“vision”和“flat_body”幀。第二個框架是“工具幀”。如果試圖抓住某物或只是移動手臂,這通常可以保持未設置,這將默認為手幀 hand frame。然而,如果指向設備或傳感器連接到手臂的末端執行器,將工具幀設置為興趣點的變換可以允許用戶直接將傳感器移動到所需的姿勢。
root_frame_name: fiducial_001 wrist_tform_tool: {position: {x: 0.5 y: 0 z: 0} rotation: {w: -0.7071 x: 0 y: 0.7071 z: 0}} root_tform_task: {position: {x: 0 y: 0 z: 0} rotation: {w: 1 x: 0 y: 0 z: 0}}
請注意,用戶還可以隨時間發送姿勢序列,指定最大速度和加速度,以及添加其他選項。有關更多詳細信息,請參閱 arm_command.proto
笛卡爾移動Cartesian move 請求還允許您為工具指定力/扭矩軌跡。對於任務幀中的每個軸,您可以選擇將軸設置為位置模式(從 SE3Trajectory 讀取所需的輸入)還是強制(從 WrenchTrajectory 讀取的輸入)。這支持機械臂的混合控制,例如,用戶可以指定 Z 為力控制,X 和 Y 為位置控制。
關節動作
當將手臂移動到難以到達的位置,或嘗試通過一組預定義的姿勢使手臂擺動時,關節移動尤其有用。
預定義姿勢
如果手臂拿著東西,預定義的收起姿勢將拒絕收起。如果需要,您仍然可以向收起配置發出關節移動命令,但請注意不存在碰撞避免系統。在手臂運動過程中可能會發生物品與世界或物品與機器人之間的接觸。
手臂速度
凝視Gaze
請參閱 Gaze 示例以請求 GazeCommands:
停止Stop
拖Drag
移動請求Mobility Request
跟隨手臂命令FollowArmCommand
請參閱以下示例以請求 FollowArmCommands:
手部幀框Hand Frame
避免碰撞Collision avoidance
即使機器人的車載攝像頭可以看到障礙物,如果沒有操作員的干預,手臂也無法避開它。在狹小的空間中,抓手頭可能會無意中與世界上的某些東西發生碰撞。在敏感、易碎或其他不應接觸的物體周圍操作時,應格外小心,避免與手臂碰撞。
體力限制器Body force limiter
安全注意事項Safety notes
如果機器人在伸出手臂的情況下走進一個物體,該物體可能會損壞。
禁用力限制器時應小心。如果手臂接觸世界上的某物,它可能會對世界和機器人身體施加很大的力。這可能會對環境和/或機器人或手臂造成潛在的損害,並使機器人無法操作。
參考資料
- Arm Concepts
- inadvertently : 不經意間
留言
張貼留言
Aron阿龍,謝謝您的留言互動!