久々の執筆です。
記事を書こうと思った背景
そもそも、記事執筆のモチベーションが最近はあまりなかったのですが、Unityを使ったロボットシミュレータ開発に関する記事があまり多くなく、私自身開発にとても苦労しているので、今回は苦労記録としても残しておこうと思い、執筆しました。
本取り組みのモチベーション
さて、Unityとはなにか、なぜUnityでロボットシミュレーションを使用としているのか、に関しては、いろいろ理由はあるのですが、 今回の私のモチベーションとしては、アセットストアが潤沢なUnityでLidarやCameraを使ったよりリアルワールドに近い環境でシミュレーションできるUnityを使えるようになりたいと思ったのが始まりです。
競合するゲーミングエンジンにUE4 / UE5がありますが、ここはアセットの潤沢具合や参考資料の多さの観点からUnityを使うことにしました。また、グラフィック性能に関してはUEの方が勝る部分も多いですが、どの程度グラフィックが必要かとかも今回に関してはてきとうなので、あまり必要ないかなということで、Unityを使っていきます。
やること
ちょっと古いネタですが、Stanfordがopen platformとして提供したDoggoをUnity上で動かす!ということをやろうかと思います。
StanfordのDoggoのサイト
Doggoのgithubレポジトリ
Doggoは少し変わった機構が魅力的なロボットで、今はその後継のWooferやPupperの開発が進んでいるようです。 ゆくゆくはこれらにも手を出したいと思っています。
現状の進捗
さて、実際に現在Unity上で開発を進めているのですが、Jointの使い方、スクリプトの書き方から苦戦しています。
現状は脚1本に対して、屈伸動作ができるように実装をしました。
作業自体は以下のレポジトリで行っていて、今後はモデル本体に対して屈伸動作を実装したいなと思っています。 (READMEとかなにも書いてないのは仲間内で趣味でやろうとしていることだからであることをご容赦ください)
ちなみにモデルはこんな感じになってます。