2021/04/15
アビリンピック過去問題|第38回全国(2018)コンピュータプログラミング
本ページはプロモーションが含まれています
プログラミングスキルやプログラマーとしての総合的な技能を競うアビリンピック競技種目「コンピュータプログラミング」。ロボットアームを使って指定された図柄を正確かつ速く描き上げなければならない上に、競技時間も6時間という長丁場の種目です。
2018年大会では、前大会とは異なるロボットアームやプログラミング言語が用いられました。3Dペンを使った描画も今大会が初めてです。
もくじ
競技種目「コンピュータプログラミング」の概要と2018年大会の変更点
競技種目「コンピュータプログラミング」は、指定された図柄をペンで描画するプログラムの作成技能を競う競技です。
ただプログラムを作成するだけでなく、実際にロボットアームを動かして描画しなければならないため、“できるだけ小さなプログラムで、安定した線で正確に速く描く”ことが求められます。
身体障害者・知的障害者・精神障害者が参加可能で、2018年大会では4名が参加登録を行い、3名が競技に臨みました。
これまでの大会では、ホワイトボードマーカーなどの普通のペンを描画で使用してきましたが、今大会では3Dペンを導入。ペンから出る「フィラメント」がペン先の立体的な動きを記録するため、垂直方向も含めてうまく制御しなければなりません。
また、ロボット本体や使用するプログラミング言語も2017年大会とは異なるものでした。
「コンピュータプログラミング」で使える機材とプログラミング言語
2018年大会の「コンピュータプログラミング」で使用された機材は、
- ROBOT本体:デンソーウェーブ(株)7関節汎用ロボットアームCOBOTTA
- ベース:卓上設置用 一体構造
- 動作軌道記録機材:マーカーペン、3Dpen、ビデオトラッカ等
- ロボット制御用PC
- プログラム作成用PC
- プリンタ
- PCデスク
- OAチェア
です。
また、プログラミング言語はCOBOTTA専用言語でした。
練習用の事前課題と評価のポイント
「コンピュータプログラミング」では、練習用として事前課題が提示されます。本番の課題に比べるとシンプルで簡単に見えますが、実際の競技で6時間以内により複雑な図を効率よく安定的に描き、ユーザーインターフェースやプログラムの資料を作成しなければなりませんので、やるべき練習はたくさんあります。
2018年の本番で実機を使えたのは1時間半ほどでしたので、まずは4時間半でプログラム作成・シミュレーション・資料作成を終えられるように繰り返し練習しましょう。
練習用の事前課題の概要
「コンピュータプログラミング」では、事前練習として以下の2つが提供されます。
- 競技課題A
- ロボットシミュレータ(3次元グラフィックシミュレータを含む、6関節小型卓上ロボットアームCOBOTTA専用プログラム開発環境)
ロボットシミュレータを使い、指定の大きさ・位置・色の正方形、円、正三角形を描けるようプログラミングの練習をしてください。
課題Aの条件等は以下のようになっています。
- ロボットの基本動作(移動・速度指定など)は予め関数として用意されている
- 軌跡の位置、大きさなどを表すデータを適切なユーザインターフェースで指定できるようにする
- ティーチング機能は使用しない
- ロボットの動作誤差や動作指定面のひずみなどを修正する補正動作を導入する
本番の課題では、練習用課題よりもずっと複雑な図が出題されます。大会前に自分でもさまざまな図の描画に挑戦しておくとよいでしょう。
ユーザーインターフェースの調整や資料作成も忘れずに練習してください。
4つの評価ポイント
本競技の主な評価ポイントは4つあります。画面のハードコピーやプログラムリスト、プログラムを説明するドキュメントをもとに審査が行われますので、実際のロボットの動作だけでなく、これらの部分も分かりやすく整えるようにしましょう。
<「コンピュータプログラミング」の主な評価ポイント>
- 競技終了後に提出された最終動作結果の記録
- 動作に要した時間
- ユーザーインターフェースの完成度
- 作業の進捗管理
制限時間と本課題(課題B)の概要
「コンピュータプログラミング」は、コンピュータ関連競技で最も時間の長い競技です。
ロボット実機での描画と調整、資料作成などもありますので、競技時間をどう有効に使うかという進捗管理が重要です。
制限時間
「コンピュータプログラミング」の制限時間は6時間。
2018年大会は9:00-16:00(休憩 12:00-13:00)で実施されました。
本課題(課題B)の概要と流れ
当日の競技では、課題Aでシミュレーションした6関節ではなく、7関節汎用ロボットアームCOBOTTAが使われました。
本競技で作成するのは
- COBOTTAを用いて描画するプログラム
- プログラムの説明資料(ドキュメント)
- プログラムによる描画結果
の3つです。
描画するのは、沖縄の美ら海水族館でも人気を誇るジンベエザメ。前大会の課題では曲線を多用した「さるの絵」でしたが、今大会は曲線と直線を細かく組み合わせた図となりました。
一筆書きができるので、フィラメントを流しっぱなしにして描画することも可能です。
競技全体の流れとしては、概ね以下のように進めていくとよいでしょう。
- プログラム作成用PCでプログラムを作成
- シミュレータで動作を確認
- ロボット制御用PCにプログラムを移す
- ロボット実機を用いて動作させた結果(描画等の記録物)を作成
- データ入力画面等のハードコピーを作成
- プログラム説明書を作成
- 描画等の記録物・画面のハードコピー・プログラム説明書を提出
実機で描画してプログラムの修正をする時間については、ロボットアームが何台用意されているかによっても変わります。2018年大会では1台のみの用意だったため、他の選手と被らないタイミングで実機を動かす必要がありました。
6時間あるとはいえ行うべき作業は多くありますので、時間配分と進捗状況を意識しながら進めましょう。
(関連記事)
アビリンピック過去問題|第37回全国(2017)コンピュータプログラミング