記事の詳細
タミヤのカムプログラムロボットを使って自律移動ロボットをつくってみよう!!【製作編】
https://github.com/bit-trade-one/ADRPT8C_Generic_Motor_Controller
↑サンプルプログラムはこちらから!↑
さて、製作ネタでございます。いま話題のタミヤさんから発売されたカムプログラムロボットを使って自律移動ロボをつくってみようというコーナーでございます。
Raspberry piと汎用電動機制御基板を搭載することで、周辺の状況に合わせて走行モードやインジケータを変化させる、簡単な自律移動ロボットを製作しました。
【特報!】『カムプログラムロボット工作セット』が、本年度のグッドデザイン賞をいただきました! https://t.co/yVQvoZef18 pic.twitter.com/oZfDdvPEOd
— タミヤ (@tamiyainc) 2017年10月4日
なんだか。前回のラズロボと被っている気がしないでもないですが、まあそこは流れってことで、ご容赦ください。それではまずは動画をご覧くださいませ。
とこんな感じで、立派に動きますでございます。
機体や走行系を市販品のキットにすることで、Raspberry piと汎用電動機制御基板と合わせてより手軽にロボットを製作できるようになると考えています。
基本的なシステムとしては、左右各センサより入力される情報を汎用電動機制御基板でA/D変換を行い、Raspberry pi内にて入力用python->Node-RED->出力用pythonと経由し、汎用電動機制御基板にて左右モータとLEDを制御しています。
基本動作
このロボットの動作モードとしては、左右各モータで
・前方に障害物がなければ前進
・ある一定の距離のところに障害物があれば停止
・その距離以内に障害物があれば後退
という動作をします。また、前面パネルに装着した左右のLEDが各モータに対応して
・前方に障害物がなければ青色
・ある一定の距離の範囲内に障害物がある場合、遠いと緑色、近くなるにつれ橙色
というように変化をさせてみました。
ハードウェア構成
今回、機体はタミヤのカムプログラムロボットそのものから、各種基盤などの実装のため一部部品を取り外したものを使用しました。
基盤についてはRaspberry piを1枚と、汎用電動機制御基板をモータ制御用とLED制御用に1枚ずつ、計2枚使用しました。また、モータはカムプログラムロボット付属のものを使用しました。
手順としては、
1.カムプログラムロボットの組み立て
2.カム機構、ブレーキユニットの取り外し
3.Raspberry piの装着
4.電源装架ボード、距離センサ、LEDの装着
5.各種配線
6.汎用電動機制御基板の装着
というようになります。機体が小型なため、組み立て終わってからの配線は非常に難しいです。
以下に、今回組み立てした流れを紹介します。なお、組み立て方を模索しつつの作業となったため、順番が多少前後します。
1.カムプログラミングロボットの組み立て
説明書の手順通りに機体を組み立てます。なお、今回の機体にはAモードとBモードの2種類の機体がありますが、どちらで組んでも構いません。
2.各種ボードの搭載法検討
今回、機体の下部シャーシにちょうどよくRaspberry piの寸法と合致するネジ穴が2つあり、Raspberry piの機体への固定は問題ありませんでした。しかし汎用電動機制御基板の方が側部パーツと干渉したため、機体の上部に搭載しました。
また、LEDは特に改造せず前面パネルの穴にはめ込むことが出来たため、そのまま搭載することにしました。
3.ボード搭載
機体後部にはモバイルバッテリーを搭載するため、ネジ穴をあけたユニバーサル基盤を装着しました。また、下部シャーシのネジ穴を使い前面にセンサーを取り付けました。
4.LED搭載
フルカラーLEDの取り回しをよくするため、LED端子と抵抗、接続ケーブルをあらかじめ纏めてはんだ付けし固定しました。
汎用電動機制御基板を2枚使うことにしたため、LED制御用基板(上側基板)のアドレスを変更(0x60->0x62)し、モータ制御用基板(下側基板)のアナログ入力切替ジャンパを取り外しました。
5.モータ用電池搭載
Raspberry piと下部シャーシのスペースを拡大し、単四電池×2を縦に並べる電池ボックスを入れケーブルにスイッチを装着し、汎用電動機制御基板に接続しました。
モータ制御用基板(下側基板)のDCモータ電源ジャンパを「外部供給」に切り替えました。
今回、ロボットの機体に初めからRaspberry piなどの基盤をちょうどよく装着できるネジ穴があったため、機体への穴あけや切断などの加工は一切行わず組み立てを行うことが出来ました。
またLEDを取り付ける前面パネルにも直径5mmの穴があり、ちょうどよくLEDを装着することができます。このへんはさすがのタミヤさんですね。
配線に関しては、2枚の汎用電動機制御基板をスタックして機体上部に搭載し、下側のボードをモータ制御用、上側のボードをLED制御用兼センサ入力用としました。
フルカラーLEDを2個使用したため、PWMポートを6ポート使用しています。
Raspberry piは機体の下部に搭載したため、間を40pinフレキシブルケーブルで接続しました。
モータ用電源はRaspberry piと機体の間に電池ボックスを乗せ、供給することにしました。モータのみのON/OFFを行うため、間にスイッチを着けています。
6.各種配線
配線は以下のように行いました。すこし複雑ですので注意して配線をおこなってください。
1.モータの電源線を下側の基板のDCモータポートに接続する
2.モータ用外部電源線を下側DCモータ外部電源ポートに接続する
3.距離センサ信号線を上側の基板の端子台に接続する
4.フルカラーLEDの各アノードを
PW2:右赤
PW3:右緑
PW4:右青
PW5:左赤
PW6:左緑
PW7:左青
となるよう接続します。
ソフトウェアなどに関しては、以下の記事をご参照ください!
汎用電動機制御基板をつかってロボットカーを製作してみよう!【ソフト編】
汎用電動機制御基板をつかってロボットカーを製作してみよう!【NODE-REDプログラム編】
さて、まずは製作編ということでお送りいたしましたが、皆さんもカムプログラムロボットとラズパイ、汎用電動機制御基板をつかって自律ロボをつくってみてはいかがでしょうか?