差動2輪ロボット
ROS と KeiganMotor を用いた差動2輪ロボットのサンプルコードです。
KeiganMotor を 2つ 使用することで実現可能です。
用意するもの
項目 |
詳細 |
Raspberry Pi |
Raspberry Pi3 Model B+ |
KeiganMotor |
2個(KM-1U KM-1Sどちらでも可) ※KeiganMotor が 2個付属する ドリーキット またはホイールキット がオススメです。 |
microSDカード |
16GB 以上 |
作業手順
1.SDカードへの書き込み
MicroSDイメージ(ubuntu) をダウンロードし、解凍後に[.img]ファイルをMicroSD内へ入れてください。
【ダウンロードページ】(2.5GB)
※ディスクイメージの焼き込みには balenaEtcher がオススメです。
2.km_dollyの起動方法
上記で作成した Micro SD カードを Raspberry Pi 3 Model B+ に挿入後、電源を入れて以下情報でログインします。
■ログイン名:ubuntu
■パスワード:ubuntu
KeiganMotor の USB Type-C ポートをモバイルバッテリーに接続し、モーターの電源を入れます。
また、KeiganMotor の USB micro-B ポートと Raspberry Pi の USBポート を接続します。
3.KeiganMotor 固有アドレスの確認
以下のコマンドで KeiganMotor の 固有アドレス を確認します。
$ls /dev/serial/by-id/
usb-FTDI_FT230X_Basic_UART_ から始まるファイル名を記録して下さい。
確認結果の例:usb-FTDI_FT230X_Basic_UART_DM00KHAH-if00-port0
usb-FTDI_FT230X_Basic_UART_DM00LSSA-if00-port0
4.固有アドレスを設定ファイルに反映
下記のファイルに KeiganMotor の接続アドレスを設定します。
/home/ubuntu/catkin_ws/src/km_dolly/src/launch/km_control_usb.launch
または
~/catkin_ws/src/km_dolly/src/launch
を編集します。
上記ファイルの以下の部分を、調べたモーターのアドレスに変更して下さい。
<arg name="right_w_addr" value="/dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DM00KHAH-if00-port0" /> <arg name="left_w_addr" value="/dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DM00LSSA-if00-port0" />
5.実行
下記によりファイルを実行します。
$ roslaunch km_dolly km_control_usb.launch
6.キーボードの操作キー説明
キーボードからの操作により、差動2輪ロボットが動作します。
Key | 動作 |
u | 左のみ前進 |
i | 前進 |
o | 右のみ前進 |
j | 左に旋回 |
k | 停止 |
l | 右に旋回 |
m | 左のみ後進 |
, | 後進 |
. | 右のみ後進 |
q または z | 最大スピード +10% または -10% |
w または x | 線速度 増加/減少 +10% または -10% |
e または c | 角速度 増加/減少 +10% または -10% |
Ctrl + c | 中断 |
その他詳しい仕様は(Github)を参照下さい。