triorb_drive_collaboration
パス: triorb_drive/triorb_drive_collaboration
説明: ゲームパッド入力や走行制限を協調グループ全体に配信し、リフト操作・速度指令・緊急停止をまとめて制御する協調搬送向け統合ドライブノードです。
triorb_drive_collaboration
ゲームパッド入力や走行制限を協調グループ全体に配信し、リフト操作・速度指令・緊急停止をまとめて制御する協調搬送向け統合ドライブノードです。
Subscriber
コントローラー入力受信
- Topic:
/collab/joy - Type:
sensor_msgs::msg::Joy - QoS:
rclcpp::SensorDataQoS() - 概要: 協調グループの手動操作用ジョイスティック入力を受信します。
各ロボットのバインド姿勢設定
- Topic:
/bc/collab/bind/set - Type:
triorb_collaboration_interface::msg::ParentBind - QoS:
rclcpp::ParametersQoS() - 概要: 各ロボットに対して指定されたバインド姿勢を受信・適用します。
各ロボットのバインド姿勢情報受信
- Topic:
/bc/collab/bind/info - Type:
triorb_collaboration_interface::msg::ParentBind - QoS:
rclcpp::SensorDataQoS() - 概要: 各ロボットから報告される現在のバインド姿勢情報を受信します。
各ロボットの最大速度受信
- Topic:
/bc/collab/max_vel - Type:
triorb_drive_interface::msg::RobotParams - QoS:
rclcpp::SensorDataQoS() - 概要: 協調グループ内の各ロボットの最大速度制限パラメータを受信します。
協調グループへの速度指示受信
- Topic:
/bc/collab/run_vel - Type:
triorb_drive_interface::msg::TriorbRunVel3Stamped - QoS:
rclcpp::SensorDataQoS() - 概要: 協調グループ向けに上位から与えられた速度指令を受信し、自律動作に反映します。
Publisher
AMR自身への速度指令
- Topic:
/drive/run_vel - Type:
triorb_drive_interface::msg::TriorbRunVel3 - QoS:
rclcpp::SensorDataQoS() - 概要: 自身の移動速度(並進+回転)を指示します。
ライフタイム設定
- Topic:
/drive/set_life_time - Type:
std_msgs::msg::UInt16 - QoS:
rclcpp::ParametersQoS() - 概要: ノードの動作ライフタイム(タイムアウト)を設定します。
トルク制限値設定
- Topic:
/set/motor/torque - Type:
std_msgs::msg::Float32 - QoS:
rclcpp::ParametersQoS() - 概要: モーターの最大トルク制限値を設定します。
バインド姿勢情報(親)
- Topic:
/collab/bind/info - Type:
triorb_collaboration_interface::msg::ParentBind - QoS:
rclcpp::SensorDataQoS() - 概要: 自律搬送協調におけるバインド情報を定期送信します。
バインド情報送信用タイマー
- 周期: 1000 ms
- 処理関数:
DriveCollabNode::callback_info_timer - 概要:
/collab/bind/infoを周期的に送信するためのタイマーです。
協調グループの起動(Wakeup)
- Topic:
/collab/wakeup - Type:
std_msgs::msg::Empty - QoS:
rclcpp::ParametersQoS() - 概要: 協調搬送グループに対する起動命令を送信します。
協調グループの停止(Sleep)
- Topic:
/collab/sleep - Type:
std_msgs::msg::Empty - QoS:
rclcpp::ParametersQoS() - 概要: 協調搬送グループに対する停止命令を送信します。
協調グループの速度指令
- Topic:
/collab/run_vel - Type:
triorb_drive_interface::msg::TriorbRunVel3Stamped - QoS:
rclcpp::SensorDataQoS() - 概要: 協調搬送グループ全体に対する移動速度を指示します。
リフター動作指令
- Topic:
/collab/run_lifter - Type:
std_msgs::msg::String - QoS:
rclcpp::ParametersQoS() - 概要: 協調グループに対してリフターの動作(上下など)を指示します。
協調剛体の最大速度
- Topic:
/collab/vel_max - Type:
triorb_drive_interface::msg::TriorbVel3 - QoS:
rclcpp::SensorDataQoS() - 概要: 協調構成体の最大移動速度を外部に通知します。