Autowareの出力結果を使って、実際の車両/台車などを動かしたい。
そのためにいろいろと調べたので、内容をまとめておく。
<希望の要件>
- 人(体重60kg)を乗せて、室内(フローリング)を走行したい(秒速10cmくらいでOK)
- Autoware/ROSの動く強力ノートPCからPWM制御
- 左右の2輪を別モーターで駆動させ、軌跡追従の制御ができる
- なるべく安く構築:目安は3万円以内(PCとVelodyne除く)
<想定する構成要素>
- モーター
- バッテリー(12V ディープサイクルバッテリー等)
- ヒューズ
- 緊急停止ボタン
- トランジスタ/リレー/モータードライバ
- ラズパイ/GPIO
- PC
モーターの選定
ギヤードモーター
https://www.amazon.co.jp/gp/product/B07J4TXTQD/
約3000円。単純な構造で低RPMが実現できる。
DCモーター
安い。
ブラシレスDCモーター
インホイールモーター
車輪まで含んでいるので、組付けがシンプル。人間が乗っても大丈夫。
エンコーダモーター
#車体/ユニットの選定
研究用の台車
https://www.vstone.co.jp/products/wheelrobot/index.html
高い。30-50万円程度。
https://t-frog.com/products/icart_edu/
85,000円。ちょっと高いし、人が乗れない。
ZMPの。300万円。
https://www.zmp.co.jp/products/tools/robots/powerwheel
電動台車
約7万円。
https://www.monotaro.com/g/04290981/
電動キックボード用
約5000円。よさげ。ブラシレスDCモーター3相+ホール5線が多い。
https://www.amazon.co.jp/gp/product/B08GY9KY28/
電動自転車用
約7000円。よさげだが、駆動のためにチェーンを組む必要がある。
https://www.amazon.co.jp/gp/product/B0822QSPPR/
セニアカー用
ちょっとかさばるのと、配線が不明。
https://page.auctions.yahoo.co.jp/jp/auction/c806479174
車椅子用
座席まで全部備わっているのはよいが、ちょっとかさばるのと、配線が不明。
https://page.auctions.yahoo.co.jp/jp/auction/k517347800
AGV用
よさげだが、日本では買うのが難しい。工業用のゴツいものが多い。
https://japanese.alibaba.com/g/agv-driving-wheel.html
http://www.nippo-d.co.jp/solution.php
https://japanese.alibaba.com/product-detail/24v-250w-agv-driving-wheel-robot-motor-500w-automated-guided-vehicle-motor-with-10inch-12inch-8inch-wheel-1600052398495.html
ロボット用
耐荷重30kg程度。少し高い。3万円程度。
https://www.robotshop.com/jp/ja/devantech-rd03-24v-robot-drive-system.html
リアルな車両
制御出力の検討
USB→I2C出力→モータードライバ(PCA9685ボード)→PWM制御
PCからGPIO出力
USB接続のモータードライバ
大電流でもいけるタイプもあり。
https://www.switch-science.com/catalog/1061/
https://www.pololu.com/category/94/pololu-simple-motor-controllers
Arduino利用
ラズパイ利用
https://qiita.com/MENDY/items/0089b0f52acf23b7d3f1
http://forestofazumino.web.fc2.com/ros/ros_5th_seminer_nagoya_ppt.pdf
https://www.slideshare.net/mozyanari/rosl-165988072
https://qiita.com/NeK/items/e7e2fcab57705818a46b
購入したもの
これを選択。
https://ja.aliexpress.com/item/4000687647392.html
ブラシレスDCモーターの制御
https://www.denshi.club/cookbook/output/motor/bldc/1-9.html
https://www.seeedstudio.com/TB6605-BLDC-Motor-Kit-for-Arduino-p-4024.html
Autowareの制御出力について
twist_cmd.twist.linear.x:目標速度(m/s)
※マイナスの値になることがありますが、Autoware 1.9.1にバック機能は無いため、abs()関数ですべてプラスになるように変換。
twist_cmd.twist.angular.z:目標角速度(rad/s)
※右カーブがマイナスで、左カーブがプラス。
安全対策
サージ対策、ヒューズ、緊急停止ボタンなどを入れて、安全を重視した実装を目指す。
分からないことは詳しい人に聞いてみる。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13229643213