Unity Asset Storeで公開されているJoyStickアセットを利用して、 Raspberry Pi Mouseをより直感的に操作する方法を紹介します。
本ステップ実行後の状態のSceneファイルはMobileRobotUITutorialProject/Assets/Scenes/Step7.unity
から入手できます。
- Windows
- Windows 10 Home バージョン 21H2
- Windows 11 Pro バージョン 22H2
- Unity
- Unity 2021.3.4f1
- Unity 2022.3.8f1
- Unity-Technologies/ROS-TCP-Connector v0.7.0
- ROS 2
- ROS 2 Foxy Fitzroy
- ROS 2 Humble Hawksbill
Unity Asset Storeから、JoyStickアセットであるJoystick Pack
を入手します。
まず、Unity Asset Storeにアクセスするために、Window -> Asset Store
を選択します。
Asset Store
のタブが開けたら、Unity Asset Storeにアクセスするため、Search online
をクリックします。
Unity Asset Storeにアクセスできたら、Joystick Pack
を検索して、ページを開きます。
ページが開けたら、Add to My Assets
をクリックし、その後にOpen in Unity
をクリックします。
Open in Unity
をクリックすると、自動的にUnityエディタ上でPackage Manager
が開きます。
その後、import
をクリックして、Joystick Pack
をインポートします。import
がなくDownload
のボタンのみがある場合は、先にDownload
をクリックします。
以上で、JoyStickアセットのインポートは完了です。
次に、インポートしたJoyStickアセットを配置します。
まず、操作方法をJoyStickに置き換えるため、元々あった操作パネルを非表示にします。
HierarchyでCanvas
の子オブジェクトのPanel
を選択してください。
そして、InspectorでPanel
のチェックを外します。
また、STEP6でウェブカメラの画像を可視化しましたが、
今回は必要がないため、Panel
と同じようにRawImage
のチェックも外します。
次に、JoyStickを配置します。
Joystick Pack/Prefabs/Variable Joystick.prefab
をドラッグアンドドロップでHierarchyのCanvas
の子オブジェクトとして配置します。
さらに、配置したVariable Joystick
の大きさと位置を調整します。
Variable JoyStick
を選択して、Anchor Presets
を右下に設定し、大きさと位置を以下のように調整してください。
- Pos
- X : -300
- Y : 0
- Z : 0
- Scale
- X : 0.5
- Y : 0.5
- Z : 0.5
以上でJoyStickアセットの配置は完了です。
JoyStick用スクリプトを設定します。
まず、HierarchyのPublisher
を選択して、CmdVelPublisher
のチェックを外します。
次に、同じくHierarchyのPublisher
を選択して、Add Component
をクリックします。
そして、JoystickCmdVelPublisher
を追加します。
さらに、追加したJoystickCmdVelPublisher
のVariable Joystick
の項目に、
HirarchyにあるCanvas
の子オブジェクトのVariable Joystick
をドラッグ&ドロップします。
以上で、JoyStick用スクリプトの設定は完了です。
STEP2と同様に、
- 再生モードでUnityプロジェクトを実行
- Raspberry Pi Mouseでコマンドを実行
- 操作ボタンから移動指令送信
の手順でロボットを動かしてみます。
Raspberry Pi MouseをJoyStickで操作することができました。
最後に、動作確認が終わったら全ての端末でCtrl+Cを押してコマンドを終了させます。
JoyStickでRaspberry Pi Mouseを操作する方法を紹介しました。