上代瑠偉/ASCIIシェアツイートする一覧Gazeboに表示したロボットの3Dモデルを、ROSを通じてrqtを使って動かせた。D435i」を使って物を認識させることができた。その続きといきたいところだが、思いのほか難しく成果が出なかったので、今回はCADで作ったアームロボットの3Dモデルを「Gazebo」という3DロボットシミュレーターでROSと連携して動かしてみたい。試行錯誤したので、ROSとGazeboの連携でトラブルに見舞われている人には役に立つかもしれない(笑)。筆者が引っ掛かった点しか書かないので、チュートリアルとしては役に立たないと思う。失敗集として読んでほしい。間違ったコードを載せると混乱のもとなので、最終的なコードをGitHubに載せた。2019今回の流れ今回の流れは(試行錯誤も含め)、1.CADで3Dモデルを作り、stlを吐く(CADの使い方はここでは書かない)。アプリケーションの3D視覚化ツールで表示する(URDFの書き方はここでは書かない)。3.URDFがGazeboで表示できない。macroの略)で、まずはただの立方体を表示することにした。4.イナーシャがないことが原因とわかり、立方体を表示できたが、なぜかプルプル震えている......。リンクとジョイントが地面にめり込んでいるのが原因と知り、修正した。5.xacroでリンクひとつずつの表示・動作を試みることにした。6.ジョイントが動いたが、なぜかチカチカしている......。イナーシャが適当すぎたことが原因と気づき、CADでイナーシャを表示して書き込んだ。7.イナーシャを1桁間違えていたことに気付く。正しいイナーシャにしたら、ごちゃっと重力で下に落ちた。ジョイントも外れている。ジョイントの種類が問題とわかり、修正。8.今度は「joint1_position_controller」という動かすためのトピックが出ているのに動かなくなった。ジョイントの種類を変えたときのリミットの値が間違っていたことに気づき、修正。9.端末のコマンドではなくrqtというGUIソフト開発ツールで動かす。10.モデルに色をつける(色の付け方はここでは書かない)。CF-SVでデュアルブートしたUbuntu16.04を使っている。ROSのバージョンはkineticである。マイページマイページはログイン後にご使用いただけます。スマホお気に入り一覧マイページ。