100日後にロボットアームを作るおじさん Day1/Day2
簡単な経歴
4年制大学の工学部機械工学科を卒業した。
宝飾業界のメーカーで10年間原型をCADでモデリングして3Dプリンタで造形していた。
その後IT業界で14年間自社サービスのWebアプリケーション開発業務に携わっている。
使用している言語はPHPとJavascript
ロボットアームの話
勤めている会社でロボットアームを作る話になった。
作業用のドローン・ロボットに付ける為のロボットアームだ。
勤めている会社はソフトウエア会社だが、今後はハードもやるという事だった。
自分のスキルが活かせると思って社長に直談判して担当にして貰った。
とはいえ、ロボットは作った事は無いので何をどうすれば良いか分からない状態からのスタート。
CADと3Dプリンタ使って筐体や機構を作る所はイメージつくが、それ以外はさっぱりだった。
ChatGPTに相談
何を学習すれば良いのかChatGPTに相談した。長々と打ち合った結果以下を勉強すれば良いとの事
- 機械的な設計とモータの設置
- 特にモータの種類の選定が大事との事
- 電気・電子回路の基礎
- モータの制御、センサーの活用が大事との事
- 制御(ソフトウエア)の基本
- マイコンや制御ボード、プログラム制御辺りが大事との事
学習方法については幾つか本とUdemyを勧められた。勧められた本の名前でgoogle検索したらこの世に存在しない本だった。
本での学習
とくかく全体的な概要を掴むためにも初心者向けの本を買って読むことから始める事にした。
はじめてのロボット工学(第2版) 製作を通じて学ぶ基礎と応用
主に工業高校生向けに書いたという上記の本で概要を掴む。
ロボットの歴史から始まり、全体構成、それぞれの要素がどのように連携しているかが書いてあった。
まだ4章までしか読んでいないが、読破するつもりではある。後で内容をまとめる予定。
見えてきた課題
上記の本に書いてあったが、ロボットは幾つかの技術の集大成的な業種という事がわかって来た
- 機械工学
- 電気・電子工学
- プログラミング
上記3つが必要との事。通常は一人で全てを担当することは無いとの事だったが、社内にロボットに詳しい人材がいないため全て一通りはやるつもりだ。
自分の大まかな課題が見えてきた。
- 電気・電子工学の事がさっぱり分からない
- ロボット関連のプログラムの知識が無い
先人の知恵を借りる
自分の義理の父が機械・電気系のエンジニアなので相談する事にした。
ロボットアームはそれを売るメーカが沢山あるとの事。有名な所では川崎重工・FANUC。
用途別に特化したロボットアームを多くの異なるメーカーで取り扱っているので、探して買って利用する所から始めたら良いのでは?というアドバイスを貰った。
0から作るよりも、まずはどんなものがあるかの調査・利用方法の調査も含めてアドバイス通りにした方が良いだろうと判断
サンプルのロボット購入
社長に相談して教育用?のロボットを購入する事になった。
XiaoR GEEKというメーカのVer2.0 Jetson Nano AIロボットキットというヤツだ。
会社経費で購入する流れになったので、これは到着待ちの状態
ROSというフレームワーク
上記のサンプル用のロボットが「ラズパイ」と「ROS」を使用しているとの事
ラズパイは言わずと知れた、以下のようなヤツだ。(ChatGPTによる要約)
手のひらサイズのシングルボードコンピュータで、低消費電力かつ高性能な設計が特徴です.
教育や趣味、産業用に幅広く利用され、LinuxなどのOSが動作します.
豊富なGPIOピンや通信ポートを備え、ハードウェア制御やIoTプロジェクトに最適です.
ROSは初めて聞いたので調査した。
とりあえずChatGPTによる要約
ROS(Robot Operating System)は、ロボットの動作制御やセンサー・アクチュエータとの通信を容易にするオープンソースのミドルウェアです
複数のソフトウェアライブラリやツールを統合し、ハードウェア抽象化や分散処理をサポートします
研究や産業の現場で広く利用され、複雑なロボットシステムの開発効率を大幅に向上させます
制御の肝になりそうだなと判断して詳細に調査する事にした。
ROSについて調査
Qiita : ROSについてまとめてみる@hatt_takumi氏
ロボットの各パーツをリアルタイムで制御する為のフレームワークという認識
パッケージとしてまとめ、ビルドして実行する
ノード、メッセージ、サービス等で構成され上手いこと実装して操作するという印象を受けた。
イメージは掴めたかなといった所。
ROSはバージョンがあり、上記の記事はROS1についての解説だった。
現在はROS2がリリースされており、ほぼ互換性は無いとの事だった。なるほど?
更にROS2はLinuxのようにディストリビューション毎のリリースがあるとの事。
これから開発するならEOLが一番長い 「Jazzy Jalisco」を選択するのが良さげではある。
購入したロボットのROSのバージョンもディストリビューションも不明ではあるが
CAD選定
上記の調査の合間に使うCADも選定していた。
候補に挙がったのは以下4つ(ChatGPTの要約付き)
■ Autodesk Fusion
Autodesk社が提供するクラウドベースの高機能な3D CADソフトウェアです。CAD、CAM、CAEの機能が統合されており、設計からシミュレーション、製造まで一貫して行えます。クラウドベースで動作し、データの共有や更新がスムーズに行える点が特徴です。個人利用やスタートアップ向けには無償版が提供されています。
■ SOLIDWORKS
機械設計に特化した3D CADソフトウェアで、直感的な操作性と豊富な機能を備えています。プロフェッショナル向けのツールであり、多くのエンジニアに利用されています。
■ FreeCAD
オープンソースで提供されている3D CADソフトウェアです。全ての機能を無料で利用でき、商用利用にも対応しています。一般的なモデリング機能を備えており、3Dモデリングが主目的であれば有力な選択肢となります。
■ Blender
主にアートやアニメーション向けの3Dモデリングソフトウェアですが、3Dプリンター用のデータ作成にも利用されています。多様性に富んでおり、商用利用から趣味的な利用まで幅広いニーズに対応可能です。ただし、機械設計向けの機能は他のCADソフトウェアほど充実していないため、寸法精度が重要な場合は注意が必要です。
Autodesk Fusionのチュートリアル動画があったので、これも後で試す
まとめ
2日間で「何も分からない」から「当たりが付きそう」という所まで進捗したと自分では思っている。
勘違いにならなければ良いが
Discussion