更新:2024年2月23日
React frontend + Go言語 backend(aws) + ラズパイマウス(edge) でラズパイマウス操作アプリを作っていきたいと思います。前回は、Ubuntu Server 22.04 をインストールしました。今回は、ROS2 Humble をインストールしてみたいと思います。
ROS2 Humble のインストール
次のリンクを参考にしました。
参考: ROS / ROS 2のインストール
10分くらいかかりますが、とても簡単になっていました。素晴らしいです。
curl と git をインストールして、クローンしてスクリプトを実行します。
$ sudo apt install -y curl git
$ git clone https://github.com/Tiryoh/ros2_setup_scripts_ubuntu.git
$ cd ros2_setup_scripts_ubuntu
$ ./ros2-humble-ros-base-main.sh
...
success installing ROS2 humble
Run 'source /opt/ros/humble/setup.bash'
次のコマンドでインストールした設定が読み込まれます。
$ source /opt/ros/humble/setup.bash
一度、再起動します。
ラズパイマウスの ROS2 パッケージをインストール
次のコマンドを実行すると、Raspberry Pi Mouseの全てのROS 2パッケージをインストールできます。
$ sudo apt install ros-humble-raspimouse-slam-navigation
参考:ROS 2パッケージのインストール
参考:Raspberry Pi Mouse ROS 2パッケージHumble版をリリースしました
デバイスドライバをインストール
パルスカウンタの動作を安定させるためI2Cのボーレートを変更します
/boot/firmware/config.txt を編集し、dtparam=i2c_baudrate=62500 を追記します。
Raspberry Pi を再起動します。
次のコマンドを実行し、 62500 と表示されたら設定完了です。
$ printf "%d\n" 0x$(xxd -ps /sys/class/i2c-adapter/i2c-1/of_node/clock-frequency)
次のコマンドを実行し、デバイスドライバをインストールします。コマンド実行後にブザーが鳴ればインストール完了です。
$ git clone https://github.com/rt-net/RaspberryPiMouse.git
$ cd RaspberryPiMouse/utils
$ sudo apt install linux-headers-$(uname -r) build-essential
$ ./build_install.bash
デバイスドライバはOSを起動するたびに次のコマンドでインストールが必要です。
$ ~/RaspberryPiMouse/utils/build_install.bash
ROSパッケージ情報の読み込み
ROS 2サンプル集(rt-net/raspimouse_ros2_examples) のサンプルを実行する場合は下記コマンドを実行します。
$ source /opt/ros/humble/setup.bash
ラズパイマウスにros2_ws
(ROS 2ワークスペース)のフォルダを作成する方法を説明します。このプロセスは、ROS 2を使用している場合に適用されます。ROS 2は、ロボティクスのためのオープンソースのソフトウェアフレームワークです。以下のステップに従ってください。ワークスペースを作成するには、以下の手順を実行します。
ros2_ws
という名前のワークスペース用のディレクトリを作成します。以下のコマンドを使用してこれを行います。
mkdir -p ~/ros2_ws/src
これにより、ros2_ws
という名前のディレクトリとその中のsrc
ディレクトリがホームディレクトリに作成されます。
新しく作成したワークスペースディレクトリに移動します。
cd ~/ros2_ws
ワークスペースを作成した後、colcon
ビルドシステムを使用してビルドを実行できます。ビルドを実行するには、ワークスペースのルートディレクトリ(この場合は~/ros2_ws
)で以下のコマンドを実行します。
colcon build
ビルドプロセスが完了したら、新しいシェルセッションでROS 2ワークスペースを使用するために環境をセットアップする必要があります。これを行うには、以下のコマンドを実行します。
source ~/ros2_ws/install/setup.bash
これで、ラズパイマウスでros2_ws
ワークスペースのフォルダを作成し、使用する準備が整いました。自分のプロジェクトに合わせてパッケージを追加し、開発を始めることができます。
ジョイスティックコントローラで操縦する
Dualshock4 を使ってみます。秋葉原で数百円で買いました。
ラズパイを起動した後、次の2つのコマンドを入力するとラズパイマウスが動きます。
$ ~/RaspberryPiMouse/utils/build_install.bash
$ ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=dualshock4 mouse:=true
操作方法は下の図で、LBを押しながらLを操作すると前後に動きます。LBを押しながらRを操作すると旋回します。
今回は以上です。
次回以降は、コードを読んでいきたいと思います。
(2024/7/9:旋回しなくなった(Rボタン壊れた?)のでキーボードで操作したいです)
参考:ジョイスティックコントローラで操縦する
参考:https://github.com/rt-net/raspimouse_ros2_examples#joystick_control
参考:ROS / ROS 2サンプル集の実行
参考:Qiitaに動画を埋め込む方法。Macデスクトップで動画作成後GIF化するまでの手順詳細