ROSを使用した差動2輪ロボットのサンプル

ROS と KeiganMotor を用いた差動2輪ロボットのサンプルコードは以下(Github)を参照下さい。
KeiganMotor を 2つ 使用することで実現可能です。

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

上記サンプルコードをより扱いやすくするため、Raspberry Pi model 3 B+ 用のイメージファイルにしました。

用意するもの

  1. Raspberry Pi3 Model B+
  2. KeiganMotor:2個(KM-1U KM-1Sどちらでも可)※
  3. microSDカード:16GB 以上

※モーターモジュール®が2個付属の ドリーキット または、ホイールキット がお勧めです。

SDカードへの書き込み

下記より MicroSDイメージ(ubuntu) をダウンロードし、解凍後に[.img]ファイルをMicroSD内へ入れてください。

【ダウンロードページ】(2.5GB)
※Raspberry Pi 3 Model B+ 専用(7zip)

※ディスクイメージの焼き込みには balenaEtcher がオススメです。

 

km_dollyの起動方法

起動と接続

上記で作成した Micro SD カードを Raspberry Pi 3 Model B+ に挿入後、電源を入れて以下情報でログインします。

■ログイン名:ubuntu
■パスワード:ubuntu

KeiganMotor の USB Type-C ポートをモバイルバッテリーに接続し、モーターの電源を入れます。

また、KeiganMotor の USB micro-B ポートと Raspberry Pi の USBポート を接続します。

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

 

固有アドレスを設定ファイルに反映

下記のファイルに 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" />

 

実行

下記によりファイルを実行します。

$ roslaunch km_dolly km_control_usb.launch

 

キーボードの操作キー説明

キーボードからの操作により、差動2輪ロボットが動作します。

Key 動作
u 左のみ前進
i 前進
o 右のみ前進
j 左に旋回
k 停止
l 右に旋回
m 左のみ後進
, 後進
. 右のみ後進
q または z 最大スピード +10% または -10%
w または x 線速度 増加/減少 +10% または -10%
e または c 角速度 増加/減少 +10% または -10%
Ctrl + c 中断

その他詳しい説明は【こちら】をご覧下さい。