Tianbot を例に挙げると、オープン ソース コードは次のとおりです。
https://github.com/tianbot/tianbot_mini
GitHub - tianbot/abc_swarm: Ant Bee Cooperative Swarm、空と地上の協力を示します。このリポジトリは、Tianbot Mini および RoboMaster TT swarm キット用です。
1. シミュレーション マップにロボットをロードします
roslaunch abc_swarm Demon_sim_leader_follower.launch //このステップは、ガゼボ シミュレーション マップに 3 台の車をロードすることです
2. 軌道計画をオンにする
rosrun abc_swarm path_planning.py
このステップでは、パイロット カーの軌道を計画します。rviz のターゲット ポイントを使用して、3 つのスプライン曲線を使用して軌道を計画します。
/clicked_point をサブスクライブすると、way_points が公開され、path_tracking 呼び出しの global_plan が生成されます。
3. 軌跡追跡を実行する
roslaunch abc_swarm path_tracking.launch robot_name:=tbmn_01
このステップでは、純粋追跡アルゴリズムを使用して、パイロット カーの以前に計画された軌道 (パス) を追跡します。
global_plan を呼び出して cmd_vel を発行し、対応する角度などを計算して生成します。
この種のモーション フレームワークは、move_base から分離され、従来はナビゲーションに move_base 関数パッケージが使用されていましたが、move_base フレームワークを通じて、グローバル パス プランニングとローカル パス プランニングが可能になります。
ただし、この種のモーション フレームワークを作成するプロセスでは、トピックがサブスクライブされないように、名前空間の問題に注意し、cmd_vel がどの名前空間の下にあるのか、公開された global_plan がどの名前空間の下にあるのかに注意を払う必要があります。軌道追跡プロセス中。