ロボット設計製作論実習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 電子回路


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)もあるので,頑張れば実機が無くてもソフトウェアの開発が可能
    自律化に必要なモジュールがある程度用意されているので,それを流用することが可能かもしれない.
    学習コストは高い.