ガゼボ シミュレーション軌道計画 + 追跡 (move_base フレームワークの下ではない)

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 がどの名前空間の下にあるのかに注意を払う必要があります。軌道追跡プロセス中。

おすすめ

転載: blog.csdn.net/weixin_62705892/article/details/129336099