9 人の大学生が卒業プロジェクトでジャンピングロボットを製作
小型で機敏な "Ascento" が階段を上り、障害物を回避
最初の話し合いは、2 週間以上も続きました。2017 年夏、スイス連邦工科大学 (ETH チューリッヒ) の工学部の学生 9 人が 1 つのチームを作り、卒業プロジェクトに取り組むことになりました。地面をすばやく移動し、階段も上れるようなロボットを 1 年かけて作りたいということについては、全員で意見が一致していました。しかし、設計については、なかなか意見がまとまりませんでした。有力な候補として、トレッド付きの戦車のようなロボットや、階段の上り下りに使う風車のような車輪を付けた 2 種類のロボットなど、いくつかのアイデアが選ばれました。学生たちは、これらのアイデアを通して、作業用ロボットの設計、製作、および操作に対する可能性を検討していきました。ただし、それぞれのデバイスには、大きすぎる、遅すぎる、他の研究者が既に製作したロボットに似すぎているといった欠点がありました。
歩く代わりに車輪が付いた二つの脚でジャンプするロボットは、最も革新的なアイデアでしたが、チームの賛同は得られませんでした。このような機械の設計とプログラムが、とても困難なものになると誰もが予想できたからです。また、跳躍するだけでなく、車輪で走行しながらバランスをとるには、工学面とソフトウェア面で克服しなければならない課題が多くありました。これは実現不可能と思われました。「ジャンピングロボットには反対でした」と、チームメンバーで機械工学科の学生、Victor Klemm は語ります。「車輪 2 つだけで飛び上がり、その後再び安定性を取り戻すには、ロボットは極めて機敏な動きをする必要があり、最新のモーション コントロール技術を必要とするからです」
そのとき、他のチームメンバー、Florian Weber が声を上げました。機械工学科の学生、Lionel Gulich も次のように回想します。「Weber は、『ジャンプする機械を試してみよう。一番難しいけど、格好いいじゃないか。自分たちで何か選ぶなんて、学生のうちしかできないかもしれないよ』と言ったんだよ」。次第に Weber の賛同者が増え、最終的には全員一致で彼の意見を採用しました。
この決定が最終的に Ascento を生み出したのです。二足歩行する 23 ポンド (10.4 kg) のロボットは、1 時間に 5 マイル (8 km) 走行し、倒れることなく垂直に 14 インチ (35.6 cm) ジャンプします。障害物を飛び越え、跳躍しながらゆっくりと階段を上ります。搭載されたカメラとセンサーで周辺の 3D マップを作成し、ビジョンおよびパスプランニング アルゴリズムを組み合わせることで、ロボットを自律歩行させることができます。
最初の一歩
休み明けの 9 月までに、9 人の工学部生はそれぞれの興味に沿って、エレクトロニクス、ソフトウェア制御、構成と設計、知覚とコンピューター ビジョンの 4 つのサブグループに分かれました。5 週間で試作品を作成し、最初の中間発表 (合計で 3 回実施) で進捗を披露しました。彼らは、ETHZ で利用できる研究室で毎日ミーティングすることにして、階段を上るロボットの構想を深めていきました。最終的に、20 のコンセプトを考え、MATLAB® を使用して基本的な動作を評価し、最も可能性があると思われる 4 つの選択肢に絞りました。そこから、段ボールと LEGO® ブロックによる大まかな物理モデルを作り、コンピューターを使って 3D 設計図を作成しました。このマシンの名前は、知覚およびコンピューター ビジョンのチームメンバーである Nicola Küng がプロジェクトの初期に提案した「Ascento」としました。こうして、Ascento は、私たちとその一歩を踏み出したのです。
学生たちは数週間で確固たる設計を完成し、ロボット本体の最初の試作品を 3D プリンターで作成することができました。
ここまでのコンセプト段階で明らかになったのは、軽量で耐久性が高いロボットにするには、搭載するモーターと電子機器を最小限にする必要があるということでした。学生たちは、MATLAB の最適化ツールを使用して、独特な形の脚を設計することに集中し、各「股関節」につける脚モーターを 1 つだけにすることができました。設計は、次のとおりです。脚は、上部の骨組みは 2 本、下部 (ひざ関節から車輪まで) の骨組みは 1 本としました。上部の脚の骨組みの 1 本は、モーター駆動の股関節とばねのようなひざ関節に接続し、ジャンプを制御します。上部の脚 2 本は並行して動作し、骨組みのもう 1 本は、ピン関節と 2 つ目のひざ関節に接続し、歩行中のロボットを安定させます。上部の脚 2 本と下部の脚との接続部は、平行四辺形のような形になります。学生たちは、機構と設計グループのメンバー Dominik Mannhart からの多くのサポートを得ることで、数週間で確固たる設計を完成し、ロボット本体の最初の試作品を 3D プリンターで作成することができました。
10 月の最初の中間発表の期日が迫ってきていました。Gulich とチームメイトの Marcus Vierneisel は、Klemm とともにソフトウェア制御グループのメンバーで、ロボットの車輪のバランスをとる必要性を感じていました。彼らは車輪用モーターやセンサーなどの電子部品を大学でかき集めて Ascento に追加し、ロボットが前後にゆっくりと移動する際に安定性を保つ制御システムに取り組みました。これにより、大きな成果が得られました。彼らは、わずか 5 週間で、20 ものさまざまなスケッチから、転倒せずに車輪でバランスをとることができる 1 つの試作モデルに到達したのです。
「とてもカッコいいと思いました」と Klemm は語ります。チームは興奮に包まれました。「しかし、落とし穴もありました」と彼は言います。この微妙なバランスシステムは、Ascento が走行やジャンプする際に安定性を保つために最終的に必要となる、高速で強力なモーターとコンピューター制御システムに対応するには十分ではありませんでした次の発表は、クリスマスの直前に予定されていましたが、それまでの道のりは、チームメンバーの予想をはるかに超えたものでした。
バランスをとる
ロボットにおいては、物理の法則がシステムのダイナミクスを支配するため、ロボットを適切に動作させることは、数学的な問題を解決することを意味します。Klemm は、物理システムを数学的モデルに変換する作業に取り組みました。この取り組みのために、さまざまな構造的要素の質量、動作するパーツの慣性などの情報を使用し、理想的なロボットが理論上どのように動作するかを示す方程式を MATLAB で導き出しました。次に、これらの方程式を Simulink® に組み込み、コンピューター シミュレーションを構築しました。ここでは、テストを行ってロボットの性能をより深く理解できただけでなく、最適な動作を生み出すためのアルゴリズムをプロトタイピングすることができました。シミュレーションでは、たとえば、ロボットの上部が前方に傾いていることを感知した場合、ロボットの下部を加速させて上部に追いつかせることにより、前方への転倒を防ぎました。
「人の動作も同じです」と Klemm は説明します。「人も立っていて前に倒れそうになると、一歩前に出てバランスをとります」。
チームは MATLAB と Simulink を使用して、バランスをとるためのアルゴリズムを調整し、シミュレーションで十分に試してから、調整後のパラメーターを実際の Ascento ロボットに適用しました。12 月も終わりに近づく頃、学生たちは、より性能の高い、強力なモーターとセンサーをロボットの第 2 号に搭載しました。しかし、テストのたびにロボットは転倒を繰り返しました。機器のトラブルシューティングを行い、Simulink で制御アルゴリズムを再テストし、コードを変換して、ロボットに再インストールしましたが、転倒を止めることはできませんでした。この状況は、数週間続きました。「これには、かなりショックを受けました。ハードウェア、バッテリー、センサーを新しいものに替え、コンピューターや高額のモーターも入手したので、以前よりもすべてが簡単に進むはずだ、と思っていたのです。しかし、実際はその反対でした」と Klemm は述べます。
2 回目の発表期日の数日前、Klemm、Gulich、Corentin Pfister、Alessandro Morra など、数名の学生は、2 日間徹夜でロボットの安定化に取り組みました。しかし、バランスはとれませんでした。発表の当日、チームは現在の状況を伝え、ロボットがバランスを失って、前後によろめくところを短いビデオで説明しました。チームメンバーは意気消沈していましたが、決断が必要な状況でした。友人の 1 人が諦めるつもりかと Klemm に尋ねました。「私は彼に、5 月までにロボットのバランスをとることができないなら、この工学研究をやめると話しました」と Klemm は語ります。
シミュレーションでは、たとえば、ロボットの上部が前方に傾いていることを感知した場合、ロボットの下部を加速させて上部に追いつかせることにより、前方への転倒を防ぎました。
小さな一歩から始まった大きな進展
2018 年春、ロボットチームは目標に向けて前進していました。彼らは、成功の可能性を高める大きな変更を行いました。それは、USB ポートを使用した Ascento モーターへのコマンド送信をやめ、タスクに特化した通信プロトコルに切り替えるというものでした。このプロトコルは、コントローラー エリア ネットワークと呼ばれ、モーターの通信と高速性において最適化されています。これにより、モーターに転送されるコマンド数は、毎秒 20 から 400 に増加しました。シミュレーションが示していたとおり、信号がモーターに届くまでに時間がかかりすぎていたのです。それは、多くの学びの 1 つでした。「後で分かったことですが、USB ポートを使用しようという考え自体、甘かったのです。実際のエンジニアならば、そうはしなかったでしょう」と Gulich は説明します。
しかし、この変更を行った後も、新しい試作品でロボットを安定させることはできませんでした。イースターが近づき、3 回目の発表が 2 週間後に迫っていました。Gulich と彼のチームメイト数名は、休暇を取ることにしました。Klemm を含む数名は、休暇を取らず、Ascento の作業を続けました。Klemm と Morra はバランスの問題を解決できず、他の工学部の学生や教員にアドバイスを求めることにしました。ある博士課程の学生が、ロボットが転倒するビデオとチームのデータを確認し、傾きセンサーに異常があるように見える、と指摘しました。チームメンバーは、設定が適切なバランスを取るよう調整されておらず、反応時間に誤りが生じていることに気が付きました。彼らは調整を行い、20 分もしないうちにロボットは安定しました。
「それはとてもすばらしい瞬間でした。わずか 1 つの設定で正しく調整され、完璧にバランスがとれるようになったのです。チームは歓喜しました」と Klemm は語ります。
最終発表から 3 週間過ぎても、彼らはまだロボット性能の調整を続けていました。バランスをしっかり保ちながら動き回ったり、ジャンプする能力を向上させなければなりませんでした。制御チームはシフトを組み、わずか 6 時間の睡眠をとるだけで、作業に戻るようにしました。数人のチームメンバーが 1 日かけて可能な限り作業を進め、次のチームに引き継ぐようにしました。ロボットはジャンプできるようになったものの、着地に問題がありました。ロボットは、学生が支えなければ転倒してしまう状態でした。
この状況は、数日間続きました。ある晩、Klemm と Gulich が寝ている間に、Vierneisel と Ciro Salzmann らのチームメンバーが、ロボットをジャンプさせて、真っ直ぐに着地させることに成功しました。Gulich はスマートフォンでそのビデオを見て、飛び起きました。チーム全員が研究室に急いで集まり、この成功を自分の目で確かめました。冷蔵庫に入れていたシャンパンを開け、彼らはプロジェクト開始以来の乾杯をしました。
Klemm と Gulich は自らの経験を振り返り、2 人とも最も難しいロボットを選んだことは、正しい選択だったと言います。「それは、すべてのアイデアの中で最もすばらしく、2 年経った今でも、車輪と脚、そしてジャンプさせるという技術がとても気に入っています」と Gulich は説明します。
「もっと簡単なロボットを選んでいたら、2 年前にすべてが終わっていて、メンバーはそれぞれ別の道に進んでいたと思います」と Klemm は言います。Ascento は、階段の高さなら簡単にジャンプすることができますが、その前に走行始動することが必要です。彼らは、現在、この点を高速化することに取り組んでいます。メンバーだった 9 人のうち 5 人が、Ascento をさらに改良するために大学院でもこの研究を続けています。また、メンバー全員が、大学の研究の一部としてロボットの技術的側面に焦点を当て、2 件の学術論文を発表し、いくつかの会議やイベントでプレゼンテーションを行いました。
チームは、ロボットをカスタマイズ可能なプラットフォームと考えています。温度カメラ、マイクロフォン、レーザースキャナー、化学センサーなどのさまざまなセンサーをサポートしているため、これらのセンターを産業分野のニースに応じて交換できます。たとえば、小型ロボットならば倉庫の在庫を検査したり、工業地帯での化学物質の漏れを探したり、新しい建設現場の地図を作ったりすることができるでしょう。また、災害地域の生存者捜索も期待できます。Ascento の次のバージョンは、3 か月後の完成を予定していますが、このような最終的な理想にかなり近づいていることでしょう。
Klemm にとってその日は、嬉しい反面、少し悲しい気持ちになる日になるかもしれません。Klemm はこう言います。「まだまだやることがたくさんあり、本当に興味深いシステムです。この楽しみを終わらせたくないというのが本音です」