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を操作する方法を紹介しました。











