ようこそ
ロボット工学へようこそ — 力学、電子工学、ソフトウェアが収束して、感知し、判断し、作動する機械を構築するエンジニアリング分野です。
ロボットという言葉はチェコ語のrobota(強制労働)に由来します。カレル・チャペックがこの言葉を1920年の劇作品で造語しました。1世紀後の今、ロボットは自動車を溶接し、火星を探査し、手術を行い、リビングルームを掃除しています。
すべての自動化された機械がロボットではありません。トースターには自動化があります — 加熱してポップアップします — しかし環境を感知することも適応することもできません。ロボットには3つの本質的な能力があります:
- 感知する — センサを通じて世界の情報を収集する
- 判断する — その情報を処理してアクションを選択する
- 作動する — アクチュエータを通じて物理世界を動かすまたは操作する
この感知・判断・作動のループは継続的に実行されます。工場用アームは1秒間に何千回も関節位置をチェックします。火星探査機は各ホイールコマンドの前に地形画像を分析します。ループの速度と複雑さは異なりますが、構造は同じです。
ロボットは自律性スペクトラム上に存在します。遠隔操作される爆弾処理ロボットは自律性がゼロです — 人間がすべての判断を下します。自動走行して障害物を回避する倉庫ロボットは部分的な自律性を持ちます。自動運転車は完全な自律性を目指していますが、それは依然として未解決のエンジニアリング課題です。
ロボットの主なカテゴリ:
- 産業用ロボット — 工場で溶接、塗装、組立、パレタイジングを行う固定ベースアーム
- サービスロボット — 非製造業の場で人間を支援する:手術用ロボット、配送ロボット、清掃ロボット
- モバイルロボット — 世界を移動する:車輪式、脚式、トラック式、航空用(ドローン)、水中用(ROVとAUV)
このレッスンでは、すべてのロボット工学者が理解する必要のあるコア構成要素をカバーします:アクチュエータ、センサ、制御システム、プログラミング概念、キャリアパス。
ウォームアップ
クイックチェックイン
あなたがどこから始まるのか見てみましょう。
モーターと運動
アクチュエータ:ロボットがどのように動くか
アクチュエータは、エネルギーを物理的な運動に変換するあらゆるデバイスです。アクチュエータはロボットの筋肉です。
DCモーター — 最も単純な電動モーター。電圧を加えると、シャフトが回転します。電圧を反転すると、逆方向に回転します。速度は電圧に比例します。DCモーターは安価で高速ですが、位置を知る組み込みの方法がありません。車輪式ロボットと単純なメカニズムで一般的です。
ステッピングモーター — 通常1.8度のステップで離散的に動きます(1回転あたり200ステップ)。特定のステップ数をコマンドするし、モーターはその距離だけ動きます。ステッピングモーターはセンサなしで正確なオープンループ位置制御を提供しますが、重い負荷の下ではステップを逃す可能性があります。3Dプリンター、CNcルーター、カメラジンバルで一般的です。
サーボモーター — モーターと位置センサ(エンコーダー)および閉ループシステム内のコントローラーが組み合わされています。コントローラーは継続的にコマンド位置と実際の位置を比較し、エラーを修正します。サーボは速度、トルク、精度の最高の組み合わせを提供します。産業用ロボットアームはほぼ排他的にサーボモーターを使用します。
空気圧アクチュエータ — 圧縮空気を使用して直線または回転運動を作成します。サイズの割に高速で強力ですが、空気は圧縮可能であるため、正確に制御することが難しいです。工場のグリッパーおよびピック・アンド・プレイス機械で一般的です。
油圧アクチュエータ — 空気の代わりに加圧流体(油)を使用します。流体はほぼ非圧縮性であるため、油圧は正確な制御で膨大な力を発揮します。重い建設機械、大型産業プレス、および一部の脚付きロボット(Boston Dynamicsの初期Atlas など)は油圧を使用します。トレードオフは重量、複雑さ、および流体漏れのリスクです。
自由度(DOF) — 独立した運動軸ごとに1つの自由度があります。典型的な産業用ロボットアームは6つのDOFを持ちます:エンドエフェクターを空間に配置するための3つ(X、Y、Z)およびそれを向きづけるための3つ(ロール、ピッチ、ヨー)。人間の腕は7つのDOFを持ちます。自由度が多いほど柔軟性が増しますが、制御とプログラミングの複雑さも増します。
正しいアクチュエータを選ぶ
タスクへのアクチュエータの適合
正しいアクチュエータを選ぶには、アプリケーション要件を理解する必要があります:速度、精度、力、環境。
ロボットが世界をどのように認識するか
センサ:ロボットの感覚
センサがなければ、ロボットは盲目で聾です。センサはすべての判断を駆動する生データを提供します。
エンコーダー — 回転を測定します。光学式エンコーダーはスロット付きディスクを持ちます;光が輝き、検出器がディスクが回転するときのパルスをカウントします。これはコントローラーに関節がどのくらい動いたかを正確に伝えます。増分エンコーダーは相対運動をカウントします;絶対エンコーダーは電源投入時の正確な角度を報告します。すべてのサーボモーターにはエンコーダーがあります。
IMU(慣性測定装置) — 加速度計(直線加速度を測定)、ジャイロスコープ(回転速度を測定)、時々磁力計(磁気方位を測定)を組み合わせます。IMUはロボットの向きと空間内での動き方をロボットに伝えます。ドローン、脚式ロボット、およびバランスを保つ必要があるモバイルプラットフォームに重要です。
LIDAR(光検出と測距) — レーザーパルスを発射し、各パルスが跳ね返るのにかかる時間を測定します。これにより、周辺の詳細な2Dまたは3D マップが作成されます。自動運転車と倉庫ロボットは障害物検出とマッピングにLIDARを使用します。回転するLIDARは1秒間に数百万の距離測定値を生成できます。
カメラ — 豊富な視覚データを提供しますが、それを解釈するために重大な計算が必要です。単一のカメラは2D画像を提供します;ステレオカメラ(既知の分離を備えた2つのカメラ)は深さ情報を提供します。コンピュータビジョンアルゴリズムはカメラデータを処理して、物体認識、ラインフォローイング、および視覚SLAM(同時位置決定とマッピング)を行います。
力/トルクセンサー — 通常、ロボットの手首またはエンドエフェクターで、1ポイントに加えられた力とトルクを測定します。制御された接触が必要なタスク(アセンブリー、ピンを穴に挿入、研磨)およびコラボレーティブロボットが人間との接触を検出する必要があるタスク(接触を検出して即座に停止)に不可欠です。
センサフュージョン — 単一のセンサは完璧ではありません。LIDARは正確な距離を提供しますが、色はありません。カメラは豊富な画像を提供しますが、暗闇で苦労します。IMUは時間とともにドリフトします。センサフュージョンは複数のセンサからのデータを組み合わせて、任意のセンサ単独よりも正確で信頼性の高い画像を生成します。自動運転車は継続的にLIDAR、カメラ、レーダー、GPS、およびIMUデータを融合させます。
タスクのためのセンサの選択
ミッションへのセンサのマッチング
センサの選択は、ロボットが知る必要があるもの、環境、および計算予算に依存します。
オープンループ対クローズドループ
制御:ロボットが振る舞いをするようにする
ロボットは制御なしではただの部品の集まりです。制御システムは判断層です — センサデータを取り、アクチュエータを駆動するコマンドを計算します。
オープンループ制御 — コマンドを送信して最高を願います。負荷の下でステップを逃すと、ステッピングモーターは200ステップを実行しようとしますが、エラーは検出されません。オープンループはシンプルで安価ですが、摂動を修正することができません。電子レンジはオープンループです:設定した時間実行されます。食品が実際に熱くなっているかどうかに関係なく。
クローズドループ制御 — 出力を測定し、目的の値と比較し、違いを修正します。これはフィードバック制御であり、すべての真摯なロボット工学の基礎です。サーボモーターはクローズドループです:エンコーダーが実際の位置を測定し、コントローラーはそれをコマンド位置と比較し、モーター電圧を調整してギャップを閉じます。
PID制御 — 最も広く使用されているフィードバックコントローラー。PIDは比例積分微分を意味します。
- P(比例):修正は現在のエラーに比例します。大きなエラー、大きな修正。しかし、P単独はしばしば過剰シュートするか、小さなエラーで落ち着きます。
- I(積分):時間の経過とともに過去のエラーを蓄積します。システムがわずかにオフの状態にある場合、Iは蓄積され、より強く押します。これにより定常状態エラーが排除されますが、設定が高すぎるとオシレーションが発生する可能性があります。
- D(微分):エラーがどのくらい速く変わっているかに応答します。エラーが急速に縮小している場合(システムがターゲットに近づいている)、Dはオーバーシュートを防ぐために修正を減らします。Dはダンパーとして機能します。
PIDコントローラーのチューニング — 正しいP、I、およびD値の検出 — は部分科学、部分工芸です。P が多すぎるとシステムが振動します。I が多すぎるとそれが巻き上がり、オーバーシュートします。D が多すぎるとノイズに反応します。実際のロボットはしばしば各関節のPIDチューニングが必要です。
安定性 — 制御システムは望ましい状態に収束する場合、安定しています。不安定なシステムは振幅を増大させながら振動します — ロボットは自分自身を揺り動かします。安定性分析は制御エンジニアリングの中核スキルです。
制御概念の適用
制御エンジニアのように思考する
フィードバックとPIDを理解することは、単なる理論ではありません — ロボットがどのように振る舞うかを説明しています。
ステートマシンとROS
ソフトウェア:ロボットの脳
ロボットソフトウェアはウェブまたはビジネスソフトウェアと根本的に異なります。リアルタイムで実行され、物理的なハードウェアと相互作用し、予期しない状況(落とされたオブジェクト、詰まった関節、ワークスペースに足を踏み入れた人間)を優雅に処理する必要があります。
ステートマシン — ロボット工学で最も一般的なプログラミングパターン。ステートマシンは状態のセット(IDLE、MOVING、GRIPPING、ERRORなど)とそれらの間の遷移を定義します。ロボットは常に正確に1つの状態にあります。イベントは遷移をトリガーします。
例えば、ピック・アンド・プレイス・ロボット:
- IDLE:コマンドを待機
- MOVING_TO_PICK:ピックアップ場所への移動
- GRIPPING:オブジェクトにグリッパーを閉じる
- MOVING_TO_PLACE:目的地にオブジェクトを運ぶ
- RELEASING:グリッパーを開く
- ERROR:何か問題が発生しました(オブジェクト落下、関節障害、障害物検出)
各状態は定義されたエントリ実行、終了実行、および遷移条件を持ちます。ステートマシンはロボットが無意識なことをするのを防ぎます — グリップしたことのないオブジェクトをリリースすることはできません。
ROS(ロボット操作システム) — 実際にはオペレーティングシステムではありません。ROSは通信インフラストラクチャ、ハードウェア抽象化、および再利用可能なパッケージの膨大なライブラリを提供するミドルウェアフレームワークです。Linuxで実行されます。ROSで構築されたロボットはpub-subアーキテクチャを使用します:センサノードはトピックでデータを発行し、制御ノードは必要なトピックにサブスクライブします。このモジュール設計は、ナビゲーションコードを書き直さずにLIDARセンサを交換できることを意味しています。
パスプランニング — ロボットが障害物を回避しながらポイントAからポイントBへのルートを決定する方法。簡単なアプローチには、ウェイポイントナビゲーション(事前定義されたポイントのシリーズに従う)とポテンシャルフィールド(障害物は反発し、目標は引き付ける)が含まれます。A*やRRT(急速に探索するランダムツリー)などの高度なアプローチは、複雑な環境を通した最適またはフィージブルなパスを検索します。自動運転車は世界が変わるにつれて1秒間に複数回パスを再計画します。
ロボットの振る舞いの設計
ロボットソフトウェアの思考
良いロボットソフトウェアは障害を予想し、それを優雅に処理します。
ロボット工学のキャリア
ロボット工学でキャリアを築く
ロボット工学は製造、ロジスティクス、ヘルスケア、農業、および防衛全体で急速に成長しています。これは主要なキャリアパスです。
ロボット工学技術者 — ロボットシステムをインストール、保守、トラブルシューティング、および修復します。これが最もアクセス可能なエントリーポイントです。モーターの交換、センサーのキャリブレーション、コントローラーの配線、障害のための診断を含むハードウェアで作業します。コミュニティカレッジプログラムとメーカー認定(FANUC、ABB、KUKA)があなたを開始できます。典型的な初期給与:45,000~65,000ドル。
制御エンジニア — ロボットが正しく振る舞う制御システムを設計およびチューニングします。この役割には強い数学(線形代数、微分方程式)とプログラミング能力が必要です。制御エンジニアはPIDチューニング、モーションプロファイリング、センサ統合、および安全システムで作業します。電気、機械、またはメカトロニクス工学の学士号が典型的です。給与範囲:75,000~120,000ドル。
ROS開発者/ロボット工学ソフトウェアエンジニア — 知覚、プランニング、および制御を調整するソフトウェアを書きます。これらの開発者はC++とPythonで作業し、ROSノードを構築し、パスプランニングアルゴリズムを実装し、知覚のための機械学習モデルを統合します。強いコンピュータサイエンススキルが不可欠です。この役割は自動運転車、倉庫ロボット、ドローンシステムで高い需要があります。給与範囲:90,000~150,000ドル。
オートメーションインテグレータ — 工場のロボット作業セルを完全に設計および実装します。インテグレーターは製造上の問題(2つの部品をこのように溶接する時間あたり60ユニット)を取り、ロボット、エンドエフェクタ、安全システム、およびコンベアを選択し、セル全体をプログラミングして、工場の床でコミッションします。インテグレーターは機械、電気、およびソフトウェア全体の広い知識が必要です。多くはシステム統合企業で働きます。給与範囲:70,000~110,000ドル。
その他のパス — ロボット構造とメカニズムを作成する機械設計者。電力システムと回路基板を設計する電気エンジニア。操作、運動性、および知覚の機械学習の境界を押し進める研究科学者。極端な環境 — 水中、地下、または宇宙で — ロボットを展開するフィールドロボット工学エンジニア。
一般的なスレッド:ロボット工学は分野全体で考えることができる人々に報いを与えます。純粋に機械的な人はソフトウェアスキルなしで苦労します。純粋にソフトウェアな人は物理学を理解せずに苦労します。最高のロボット工学者はT字形です — 1つの領域の深い専門知識はすべてを横断する知識を備えた。
あなたの前方のパス
思考
あなたは基本的な構成要素をカバーしました:アクチュエータ、センサ、制御システム、プログラミングパターン、およびキャリアパス。