ロボット設計製作論実習4
1.開発の流れ
設計
要求仕様をリソースの集まりにマッピングする
1-1 メカニズムの開発
【要求仕様】
1)要求される作業の明確化
【概念設計】
2)作業を実現するのに適したメカニズムの構想
3)力学的な観点からメカニズムを改善(簡易的に)
【詳細設計】
4)メカニズムに使用する部品のリストアップ
5)CADなどを利用して,仮想的に加工して組み合わせる
6)必要に応じて,強度計算や動力学シミュレーションなど
詳細な力学的検証
7)改善点を発見した場合,4)に戻る
8)2次元の図面に変換する.
9)部品発注・加工・組み立て
各工程で慣れない作業の場合は学習コストが含まれる
自分自身の能力もリソースとして含まれる.
1-2 制御回路の開発
【要求仕様】
1)要求される仕様の明確化
【設計】
2)作業を実現するのに適した制御回路の構想
3)仕様を満たすように制御回路を改善(簡易的に)
4)制御回路に使用する部品のリストアップ
5)CADなどを利用して,仮想的に組み合わせる
6)必要に応じて,配線パターンを作成したりやブレッドボードで試作
電圧や処理能力など詳細な検証
7)改善点を発見した場合,4)に戻る
8)必要に応じてガーバーデータからプリント基板の発注
9)部品発注・加工・組み立て
1-3 ソフトウェアの開発
【要求仕様】
1)要求される仕様の明確化
【コーディングの準備】
2)機能を定義,必要なモジュールとその構成を定義
3)開発環境と従来のソフトウェアの流用を検討する.
4)開発するモジュールの仕様を決定,単体チェックの方法を定義
【コーディングとチェック】
5)ソースコードの作成.モジュール及ぶ単体チェック用コード
【チェックとデバッギング】
6)単体チェック (シミュレータ,実機)
7)組み合わせてチェック (シミュレータ,実機)
8)デバッギング (環境を変えながら問題が無いかを確認)
2.購入する業者
2-1 機構
ミスミ
https://jp.misumi-ec.com/
種類が豊富.頼めば加工までしてくれる.オリジナルマインド
https://www.originalmind.co.jp/
CNCの板材など.谷津商事
出入りの業者.何でも対応してくれるが,見積もりを取るまで価格はわからない.
あと,最小入数があるときがあり,1個単位では購入できないこともある.amazon
説明不要ですね.明日発送しても1ヶ月後の到着のこともあるので注意.
2-2 電子回路
秋月電気通商
http://akizukidenshi.com/catalog/
安価,秋葉原で直接購入できる.通販もある.digikey
https://www.digikey.jp/
安価ではあるが海外のため送料がかかる.到着までは比較的早い.amazon
電子部品も結構扱っている.千石電商
https://www.sengoku.co.jp/
部品は豊富だがやや高い.pcbway
https://www.pcbway.com/
安価なプリント基板の業者 ユニバーサル基板より安いときもある.
3.CAD
Autodesk Inventor
機械系のCAD,3DプリンタやCNC用のデータを出力することもできる.Autodesk Eagle
https://www.autodesk.co.jp/products/eagle/free-download
電子回路のCAD.少し癖があるので,学習コストは高い.
ガーバーデータを出力できるので,プリント基板を作成できる.KiCad
オープンソースのCAD.癖があるが好きな人は多い.林原は使えない.
4.マイコンと開発環境
mbed(Keilもしくはオンライン開発環境)
https://os.mbed.com/
ARMを使用して周辺機器を制御する回路.
高機能なCPUを選択できる.
ライブラリなどが充実しており,開発しやすい.
オンラインコンパイラも用意されていて,PCに開発環境をインストールしなくても良い.
授業でmbedを使用したが実は多くのmbedがあるため,要求に応じて様々に選択可
言語はC++Arduino(Sketch)
https://www.arduino.cc/
簡単なロボットを制御するときに最も使用されている制御回路
CPU自身は非力であるが,ライブラリが充実しているので,周辺機器を簡単に制御できる
rosserialを使用することで,ROSとの連携もできる.
言語はC++Raspberry-Pi
Linuxを用いて高度な制御ができる反面,リアルタイム性は低い.
またI/Oポートがあまりないため,周辺機器をこれだけで制御しようとすることは難しい.
フレームレートは低いが,画像処理などもできる.
頑張れば,ROSも動作する.
Linuxであるため,様々な言語が選択可能(C++, Pythonあたりがおすすめ)Jetson Nano
GPUを搭載した制御ボード.OSはLinux.
小型ロボットを意識して開発されたようであるので,おそらくロボットとの相性は悪くない.
情報が少ないので,学習コストは高いと思われる.
Linuxであるため,様々な言語が選択可能(C++, Pythonあたりがおすすめ)ROS
開発環境ということではROSもある.
Ubuntuが動作する環境であれば,比較的簡単に利用できる.
シミュレータ(gazebo)もあるので,頑張れば実機が無くてもソフトウェアの開発が可能
自律化に必要なモジュールがある程度用意されているので,それを流用することが可能かもしれない.
学習コストは高い.