2025/02/17(3日目)実施内容
シミュレータの構造の憶測
ディレクトリ構成やコード,READMEをパッと見た感じ,
- コントローラが
ros2/workspace/src/tb3/src/tb3ctrl.cpp
, - メッセージデータは,Unityのロボットの構成次第で,Unityから
Hakoniwa/Generate
で自動生成
-> まずはロボットの構成を考えるべし!
ロボットの構成
やらせたい動作は何か?
ロボットの行動 -> アクチュエータを組み込む
- 初期状態:静止
- t秒間静止
- 一定速度でt秒間前進
- 一定速度でt秒間後退
- 一定角速度でt秒間その場右回転
- 一定角速度でt秒間その場左回転
- 弾を1発射撃
フローの条件 -> センサを組み込む
- 前方に相手がいるか
- 後方に相手がいるか
- 自HPがn%以下か
実装
Qiita記事やREADME
- https://qiita.com/kanetugu2018/items/28c137b78ec6ec74033a
- https://qiita.com/kanetugu2018/items/29ee98bc434191eee8f1#%E3%82%B7%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%AE%9F%E8%A1%8C%E6%96%B9%E6%B3%95
- https://github.com/toppers/hakoniwa-ros2sim/blob/main/README_jp.md
を参考にロボットを組み立てる
まずは移動が欲しいので,サーボモータ2組だけで実験...したが,衝突判定等の設定が分からず結局記事通りのロボットをとりあえず運用してみることに
-> なぜかインスタンスで呼ばれない...なんでだろう?
-> Configuratorシーンで Hakoniwa/Generate
を実行しなければいけなかったのに,Toppers_Courseシーンで実行していたのが原因だった
ロボットのコントローラが分からない!
tb3ctrl.cpp
, DifferentialMotorController.cs
, WheelMotor.cs
の,なんとなく「ここだろ」と思ったパラメタをいじっても変化しなかったし,ロボットの向きをUnity Editor上で変えても,シミュレータ実行開始時に向きを戻された
-> コントローラはUnityではなく箱庭に置いてある(責務は箱庭に持たせている)と憶測しているが,間違っているのか...?
-> 箱庭入門会のアーカイブ
を見直して勉強する(次回はここから)