はじめに
こんにちは。
ロボット開発の手順、第2回です。
前回は、4輪型ロボット「Raspbot v2」を対象としたDocker + Ubuntu 22.04による環境構築についてまとめました。
今回は、Raspberry Piとキャリアボードの通信設定および、Pythonを用いた動作確認手順について紹介します。
今回やること
この記事では、お手元のPCからRaspberry PiへSSH接続を行い、Dockerコンテナ内からロボット拡張基板の制御を確認するまでの手順を解説します。
具体的なステップは以下の通りです:
- PCからのSSH接続
- I2C通信の有効化
- Dockerコンテナの起動
- 動作テスト
SSH接続
接続方法
ラズパイを起動し、初期セットアップが完了したら、同じネットワーク内にあるPCから接続します。 まずは、ラズパイ側で以下のコマンドを実行し、自身のIPアドレスを確認してください。
ip a
wlan0 などの項目に 192.168.x.x と表示されるのがIPアドレスです。 確認できたら、PCのターミナルからsshコマンドを実行します。
実行が通れば、パスワードを求められるので、セットアップ時に設定したものを入力してください。
これでラズパイを遠隔操作できるようになります。
ssh [username]@[IPアドレス] 実行
password: 入力して実行
filezillaについて
さて、僕がSSH接続でよく使っているツールでfilezillaというアプリを紹介します。このようなアプリを使うことでファイルの転送がスムーズになるのでぜひ使ってみてください。
接続方法は下の画像のように、IPアドレスとラズパイのアカウント情報を入力すると接続でき、ドラッグドロップでファイルの転送やダウンロードができるようになります。

ドライバのインストール
Raspbot v2を制御するには、公式サイトが提供するドライバーが必要です。
手順:
- 公式サイト([URLをここに貼る])へアクセスします。
- 画面左側のメニューにある [Download] > [Code] を選択し、ソースコードをダウンロードしてください。
ダウンロードしたコードは、ラズパイのホストOS上に配置し、基板と通信するために、ホスト側で以下の設定が済んでいるか確認してください。
# I2C通信を有効化するためのツール
sudo apt update
sudo apt install -y i2c-tools

動作確認
ラズパイのドライバ認識
ラズパイとRaspbotの基板はI2Cという規格で通信しています。以下のコマンドを実行して、基板が正しく認識されているか確認してください。
sudo i2cdetect -y 1
以下のように、アドレス 「2b」 が表示されていれば、通信可能な状態になっているようです。
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- 2b -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
LED点灯確認
I2C通信が確認できたら、次は実際に信号を送ってLEDを制御してみましょう。
以下のコマンドを順番に実行して、ロボット後部のLEDが反応するか確かめてください。
sudo i2cdump -y 1 0x2b 点灯
sudo i2cset -y 1 0x2b 0x03 0x00 0x00 i 消灯

モーター動作確認
最後に、4つのホイールが正しく駆動するかテストします。 Raspbot v2には4つのモーターがあり、それぞれに番号が0 ~ 3で割り振られています。
以下のコマンドを実行するとタイヤが回転しますが、突然動き出すので床に置くか、台に乗せてタイヤを浮かせた状態でテストしてください。
# モーター総当たりテストコマンド
python3 - << 'EOF'
from Raspbot_Lib import Raspbot
import time
rb = Raspbot()
for mid in [0,1,2,3]:
print(f"motor_id={mid}")
rb.Ctrl_Car(mid, 0, 120)
time.sleep(1.5)
rb.Ctrl_Car(mid, 0, 0)
time.sleep(0.5)
EOF
おわりに
いかがでしたでしょうか。
今回はraspbot v2のドライバ認識と動作確認手順まで紹介しました。
おそらく今回の内容は機種が変わっても一部を除いて同様の進め方で問題ないはずなので、お役に立てれば幸いです。
