2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Unity + Oculus Quest2 + ROS2 + 箱庭でロボットを動かす(3/3)

Posted at

概要

TOPPERS/箱庭では,ROS2 で Unity ロボット制御できるようにしていましたが,これが VR 空間上で体験・操作できるようになりました!

ちなみに,こんな感じのことができます!!

この体験をいろんな方と共有したく,3 回に分けてインストール手順を説明しています.

前回は,Oculus を使って,Unityで作られた箱庭VR空間にダイブして,移動することはもちろん,モノをつかむこともできるようになりました.

3 回目である今回は,ロボットを動かすためのタッチセンサを追加して,ロボットを箱庭 VR 空間で動かすための手順を説明していきます.

手順サマリ

  1. Unity 環境でタッチセンサを追加する
  • 追加したタッチセンサを箱庭に認識させる
  • 箱庭/docker 環境を準備する
  • ROS2のノードを起動する
  • レッツ ダイブ!

Unity 環境でタッチセンサを追加する

まずは,タッチセンサを追加する場所を,Unityのヒエラルキービューで確認してみましょう.

image.png

今回は,Hakoniwa/Robot/RbotController/MainBody/Interface-U/Interface-UL にしましょう.

次に,タッチセンサの prefab の場所を確認するために,プロジェクトビューを見ましょう.Assets/Prefabs/RobotParts/03_SensorTouchSensor です.

image.png

TouchSensorを先ほどの Interface-UL に D&D します.

image.png

image.png

この状態ですと,タッチセンサが Interface-ULに隠れていますので,少し移動します.

image.png

同じ要領でもう1個追加.

image.png

この際,タッチセンサの位置が MainBody と重なっているので,タッチセンサのY軸の位置をそれぞれ 0.02 としましょう.また,TouchSensorのオブジェクト名をそれぞれ,TouchSensor1, TouchSensor2とします.

image.png

最後に,それぞれのタッチセンサが送信するトピック名を変更します.

TouchSensor1

image.png

image.png

TouchSensor2

image.png

image.png

追加したタッチセンサを箱庭に認識させる

Unityのメニュー [Window]->[Hakoniwa]-[Genereate] をクリック

image.png

これだけでOKです.

箱庭/docker 環境を準備する

箱庭 VR 空間のロボットを動かすためには,ROS2ノードで制御をおこなう必要があります.
箱庭を使うと,UnityとROSノードのトピック通信用の設定まわりを自動化してくれます.
さきほど追加したタッチセンサのトピック名もここで設定されます.

まずは,WSL2を 2 個起動してください.それぞれ端末A,Bとします.
そして,以下の要領で ROSノードの実行環境を整えます.

ROS2のノードを起動する

# bash run.bash robo_parts RobotController

レッツ ダイブ!

では,いざダイブです!
タッチセンサの反応が少し遅いですが,トピック配信周期を2秒周期にしているためと思います.
タッチセンサの UpdateCycle を 100 から 10 にすれば,0.2秒程度で反応するはず.

今回はタッチセンサの種類は1個だけとしましたが,同様なやり方で増やしていくことができます.
ちなみに,モータのトピックとしては以下がありますので,興味のある方はぜひチャレンジしてみてください!

  • servo_base_move_left
    • モータが左にまわります.
  • servo_base_move_right
    • モータが右にまわります.
  • rotate_right
    • モーターの頭が右回転します.
  • rotate_left
    • モーターの頭が左回転します.

どうしてもうまく行かない方,「箱庭もくもく会」にダイブしてみるのもありかもです.

お知らせ:箱庭もくもく会

TOPPERS箱庭WGでは,もくもく会を不定期に開催しています.
本記事の内容を実際に試してみたい方や試してみたけど詰まっている方は,ぜひご参加ください.画面共有しながら参加者同士でサポートしたり,一緒に新しい機能を実装したりと”もくもく”しましょう.

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?