ROBOTCを用いてMindstroms NXT2.0を久しぶりに動かしてみた


Mindstroms NXT2.0とは

2009年6月29日にver2.0発表、8月1日発売開始[1]。パーツ数が619に増え、2個のタッチセンサーと1個の超音波センサーと新型の色センサーが導入された。NXT 2.0 は浮動小数点演算を使用するが、初期の型では整数演算を使用した。[2] キットの値段はおよそUS$280だった。
2010年11月に、ソフトウェアがNXT 2.1にバージョンアップされた。

随分昔の教育用おもちゃってことですね、、昔は4万円程度で売られていたのですが在庫の関係で値段が2倍になっていることがびっくりです!もう十年すれば相当なレアおもちゃになりそうなのでこれからも大切に扱っていこうと思います(;'∀')

ROBOTCとは

RobotCは、C言語に基づくプログラミング言語です。これは、教育の分野に特化したロボット工学の最初の言語です。「EtU」(使いやすい)開発環境で作成されました。RobotCを使用すると、VEX IQ、VEX COREX、NXT、EV3、Arduino MEGA1280およびMEGA2560などのロボットをプログラムできます。そのファイル構造により、必要なコマンドと変数を見つけることができます。RobotC言語は現在、プロプライエタリライセンスの下にあります。
コーディングは柔軟で比較的普遍的であり、コードをプラットフォームに送信したいユーザーは、ほとんどまたはまったく問題に遭遇しません。

早速今回の本題に入っていくのですが、子供のころは現在でいうとスクラッチのようなアルゴリズムを組み立ててmindstromsを動かしていたのですが、今回はより精密な動作ができるようにROBOTCというテキスト型言語のC言語に近い言語を用いてロボットに動作のスクリプトを組み込みしていきたいと思います。

ROBOTCのインストール方法 【Windows編】

ダウンロードリンクはこちらから
https://www.robotc.net/

Downloadのすぐ下に

VEX LEGO Arduino

とありますのでlEGOをクリックしてください。

そうするとレゴの写真がでてくると思いますのでCurrent Versionのリンクで

4.56(EXE) 4.56(MSI)

↑上記はどちらも同じですが、拡張子が違うだけなのでこの拡張子の違いを理解できない型はこちらのリンクを参照にしてみてください。
https://aprico-media.com/posts/3926

ダウンロードできましたら、
ROBOT for LEGO mindstroms 4.X
というアプリの名前がでるのでそちらをクリックして起動してみてください。

クリックしましたら下記のような写真になるかと思います。

ここでスクリプト実行エラーとなっておりますが、私も理由がわからないのでそのままこのページのスクリプトを実行し続けますか?はいという回答にして無視しています。

早速、mindstrom nxt2.0を動かしてみよう!

ソースコードはモーターだけを動かすように開発しました

SourceFile002.c
-------------------


task main(){
    motor[motorA] = 1000;
    motor[motorC] = 1000;
    wait1Msec(4000);

    motor[motorA] = -100;
    motor[motorC] = -100;
    wait1Msec(4000);

    motor[motorB] = 0;
    motor[motorC] = 0;

    return;
}

firemwareをダウンロードしてmindstroms NXTシールドを使えるようにしよう!

早速実行しようと右上のボタンで
Download to Robotというのをクリックしましたができませんでした。

実は、その一つ手前にFirmware Downloadというボタンがありますのでそちらのボタンを押してNXTシールドに読み込んで置かないとスクリプトの実行ができません。
ここで注意して置きたいことは、FirmwareをダウンロードするとNXTシールドが初期化されるので大事なデーターがあるかたはどっかにバックアップをとってください。

残念ながら、私は高校1年生の時に開発したルービックキューブロボットのデーターを気づかず初期化してしまったためすごくショックです、、、

コンパイル成功~!

今回は簡単な入門をしただけなのでまた次回より精密なプログラムを組んで何か開発してみたいと思います~!

そのほか参考記事

今回の説明はおおざっぱな部分が多いため、参考にした記事を下記にて記載しますのでよければ参考にしてみてください。

INTRODUCTION TO PROGRAMMING NXT ROBOTS IN C WITH ROBOTC
ROBOTCによるプログラミング基礎
ROBOTCのチュートリアル
CS2N

CS2N

CS2Nの説明を入れなかったのですが、Download to Robotをクリックした際にアカウントを作らないとNXTにコンパイルできなかったようです、、、