差動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)を参照下さい。

https://github.com/keigan-motor/ros_km_dolly_simple