読者です 読者をやめる 読者になる 読者になる

.logbook

学んだことを書き綴る、言わば航海日誌です。

2年目のETロボコンに向けてプラットフォームの知識を深めよう

ETロボコン C言語

本記事はETロボコン Advent Calendar 2016 7日目のエントリです。

3年目のETロボコン Advent Calendar。リタイアさせるのはもったいないので12/6が終わる10分前から書き始めました。が、@yuri_at_earthさんが先にフォローに入ってくださったので12/7のエントリに鞍替えしました...orz

というわけで、EV3RTを使用するETロボコン初心者を対象にざっくりと書きます。

プラットフォームの仕様書を読もう

はじめてEV3RTを使う人はきっとこのページを眺めていることでしょう。

WhatsEV3RT – EV3 Platform

そしてたどり着くのはこのページ。

EV3RT C API Reference: 総合概要

とりあえずサンプルプログラムを動かして、モータやセンサを扱えるようになって、プラットフォームでできることを理解した気になりがちです。おそらくここで1年目のETロボコンが終わります。

そんなあなたには、2年目に向けてこの仕様書を読んで欲しいです。

TOPPERS新世代カーネル統合仕様書 Release 1.7.1

EV3RTでできること

あたりまえですがEV3RTはれっきとしたリアルタイムOSです。Webページにも「TOPPERS/HRP2カーネルをベースとした」とありますね。従って「TOPPERS/HRP2カーネル」で使えるAPIはEV3RTでも使えます。

あなたは気づいていましたか?

  • EV3RTが4ms周期ごとに自動でタスク実行してくれること(参照:周期ハンドラ)
  • タスク間で同期をとったり、情報をやり取りする手段があること(参照:イベントフラグ、データキュー、メールボックスなど)
  • 排他制御を行えること(参照:セマフォミューテックス)

これらを知っているだけでも設計の幅は広がりますし、無用なトラブルを回避できることでしょう。

仕様書を読むコツ

1. わからない用語をわからないままにしない

普段から組込み業界に精通している人であれば用語に躓くことはないと思いますが、そうでない人は専門用語が多く、何が書かれているかさっぱり理解できないかもしれません。

しかし、使われている専門用語の大半はTOPPERSに限らずリアルタイムOS界隈で一般的に使われる用語ですので、Google先生に聞けば詳しく解説しているページが見つかります。

未知の専門用語を、自分がわかる用語に変えていくことが理解の近道です。

2. それでもわからなければ、メーリングリストに投げる

きっと、誰かが教えてくれます。

まとめ

本記事ではETロボコン初心者向けにプラットフォームの仕様書を読むことの重要性を説きました。熟練者にはあたりまえな内容だったと思います。初心者チームが熟練者チームに追いつくための一つのきっかけとなれば幸いです。

ETロボコンモデリングに重きをおいたコンテストですが、実装技術に触れる場でも合ってほしいという思いがありこのテーマで筆を取った次第です。

追伸

あまり技術には踏み込んでいないのでQiitaではなく個人のブログに書きました。悪しからず。