RobotChallenge 2014に参加した経験

今年の3月末に、ブリャンスク州立工科大学のチームと一緒に、ウィーンで開催された2014 RobotChallenge国際ロボット競技会に参加しました。







そして、この記事では、参加の経験についてお話しし、問題を解決するためのアプローチの詳細を明らかにしたいと思います。 競技の形式はオリンピックに非常に似ています。なぜなら、 さまざまな分野があり、参加者は自分にとって最も興味深い分野を選択できます。 分野自体は比較的単純です タスク、および原則として、タスクは、他のタスクよりも速くタスクを完了する必要があるということです。 私たちはAirRaceの訓練に参加しました。これは、ロボットが完全に自律的なモードで「図8」の形で軌道に沿って2列を完全に飛行するというものです。 ロボットが勝利し、10分ですべての「8」よりも多く連続飛行します。



この競争の前は、2013年8月にモスクワで開催されたKROK社の飛行ロボットの競争に参加した経験しかありませんでした。 これらの競技会では、フライトデッキに雨が降ったという形で失敗しました。 テスト飛行ではオーガナイザーよりも速くタスクを実行しましたが、実際の飛行では、ロボットの視覚走行距離計は水たまりや黒い濡れたアスファルトで「ブラインド」になり、迷路を飛ぶことさえできませんでした。 以下は、2013年のCROC大会でのテストの試みです。







ウィーンでは、天気がずっと良かった(+20晴天)。 コンテストは屋内で開催されたため、天候の変動を恐れることはなくなりました。



限られた予算と時間のために、ウィーンの競技会で同じロボットを使用し、CROC競技会と同じアプローチを使用することが決定されました。



私たちは、ラップトップの形のAR.Drone +地上局の束に基づいていました。 この選択は(CROCの準備期間であっても)実際には、AR.Droneはすぐに使用でき、Wi-Fiを制御できるSDKがあるためです。 確かに、すでにそれを使った経験があるので、別のクアドロコプターを組み立てて、すべての計算を機内で実装するよう努力する必要があると思います。 実際、AR.Droneについて3つの苦情があります。 これは、Wi-Fi、ハードウェア拡張の問題、およびクローズドソースです。 実際、オンボードUSBを介して接続されたArduino Nanoボードを介して追加の超音波距離計を接続することにより、AR.Droneのハードウェアを拡張することができました。 概略的には、次のようになります。







これらのレンジファインダーは、迷路でのオリエンテーションのためにCROC大会でのみ使用し、ウィーンの大会では、AR.Droneの主なハックは、フロントカメラを下げてそれに沿って自分自身を向けることでした。



ラップトップでは、すべてのソフトウェアはROSフレームワークに基づいていました。 それを使用することの利点はたくさんありますが、私の意見では、主なことはGazeboの物理シミュレーション環境で仮想モデルのコードをテストできることです。 実際、仮想モデルから実際のモデルへの移行は、コードを変更することなく行われます(レギュレーターとコンピュータービジョンシステムのパラメーターの設定はわずかです)。 シミュレートする機能により、実際のドローンなしで作業コードを作成できるだけでなく、実際のクアドロコプターで使用する前に現場でコードの変更を確認することもできます。



エアレースの規律に関しては、ルールは非常に民主的です。 フィールド内で追加のナビゲーションマーク(パッシブとアクティブの両方)を使用できます。 唯一の制限は、ロボットが「8」の柱の周りを飛行しなければならないことです。それは純粋に条件付きであり、壁、柱、床に触れてはいけません。 多くのチームがこれを積極的に使用しました。 たとえば、ポーランドのチームは破線で下に移動する追加のロボットを使用し、クアドロコプターがこのロボットの後ろを飛行しました。 昨年彼らは1位になりましたが、これで信頼性に失望し、1周も飛べませんでした。 一部のチームはオリエンテーションのために追加の視覚マーカーを設置し、カナダのチームは通常2つのキネクトを内部に設置しましたが、成功しませんでした。



フィールドで余分なものを使用することはせず、床に描かれた点線に沿って厳密に方向を合わせることにしました。 したがって、制御システムの主要な機能はコンピュータービジョンの原理に基づいていました。 主なアイデアは次のとおりです。



  1. 画像内の黒い長方形を探しています
  2. それらを垂直に対する傾斜角に従ってグループに分けます。
  3. 最初のグループに最も垂直な長方形を割り当てます。
  4. 最初のグループの長方形の中心を通る線を引きます。
  5. 結果の行が垂直位置を占めるように、制御コマンドを作成します。




アルゴリズムの例は、次のビデオで見ることができます。







「ホーム」フィールドでのテストローンチの間に、10分間で15〜16ラップを巻きました。これは、2013年の優勝者の結果をわずかに上回りました。 したがって、私たちは手ぶらで競争に行きませんでした。 ウィーンへの旅行自体は非常に興味深いものでした。 車で移動しました(1800 km)。 飛行機よりも安いことが判明し、飛行機での輸送中にロボットが壊れる心配はありませんでした。



16チームが私たちの規律のために宣言され、5チームはロシア人でした。 私たちのチームに加えて、ロシアの残りのチームはサンクトペテルブルクの物理学と数学ライセウム239号から来ました。 合計46か国からの547チームがコンテストに参加したため、早めに起きて競技会場に向かい、登録を開始しました。 原則として、判明したように、これは特に必要ありませんでした。 なぜなら 登録は非常に迅速に行われ、キューがありましたが、立ち上がるのに長い時間はかかりませんでした。 私たちの専門分野での競技自体は12〜30時に始まり、その前には資格のようなものが合格しなければなりませんでした(各ロボットは少なくとも1周することができることを示さなければなりませんでした) ドイツ語(オーストリア)の時間厳守については皆が耳にしましたが、この規則はここでは機能しませんでした。 登録後、ほとんどのチームはロボットのテストを開始しましたが、裁判官は原則としてこのプロセスに参加せず、資格の開始時期は完全には明らかではありませんでした。 ロボットに何かを事前に設定するつもりはなかったので、テストのためにキューに入れませんでした。 しかし、ある時点で、フィールドが空いていることが判明したので、私は裁判官に行き、資格があるかどうか尋ねました。 彼は肯定で答え、私たちはロボットを立ち上げました。 彼は2周を非常にうまく飛行し、その後Wi-Fiで問題が始まりました。 ロボットがポールを打ち始め、私は着陸ボタンを押し始めました。 そして、ここで失敗が待っていました。 神経または不注意から着陸ボタンを押そうとすると、「緊急着陸」ボタンを押して、ロボットが2メートルから大理石の床に衝突しました。 それを床から持ち上げると、すぐに壊れた十字架があり、彼が飛ぶことができそうにないことに気付きました。 そのとき感じたことは、説明する必要がないと思います。 突然、チェコのチームの男が私のところに来て、何が起こったのかと尋ね、ドローンをテープで巻き戻して話をしようとアドバイスしました。 なぜなら 他の選択肢はありませんでした。 彼が飛ぶことができるとは思っていませんでしたが、彼は飛びました。 被保険者である私は、容量を拡張した重いバッテリーを入れませんでしたが、自分でそれを入れました。これが私の2番目のミスでした。 なぜなら 壊れた十字のためのネジの平面は床と平行ではなく、エンジンはほとんど電力の限界で動作しなければならず、バッテリーはすでに5周目に座っていました。 その結果、5つのサークルで4位になりました。







もちろん、内訳を考えると、これらの結果に非常に満足しています。 そして、得られた経験が将来の競技会で私たちを助けることを願っています。



All Articles