ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

leJOS NXJ(LEGO MINDSTORMS NXT 用 Java 環境)のセットアップ

今日は ET ロボコンのキックオフをしてきました。
メンバーはみなさんホントに"ちゃんとした"方々なので楽しみです:)


今回は NXT & Java の組み合わせで参加しようと思っていてまずは開発環境の構築から。
基本的には参考サイトを参照すればほぼ環境は整いますが、バージョンの違いから若干変わったところ、また Eclipse 初心者の自分がつまずいたところを補足します。

用意するもの

Eclipse・NXT USB ドライバ・leJOS NXJ のインストール

参考サイトの通り。
leJOS NXJ の環境変数の設定は 0.7 になり、インストーラに変わったため "NXJ_HOME" のみ設定される。
このほかに "LEJOS_HOME" (NXJ_HOME と同じ)、path の設定("NXJ_HOME\bin")も設定した。

leJOS を NXT にインストール

4.1 NXT と PC を USB ケーブルで接続し、NXT の電源を入れます。
4.2 NXT をリセットします。リセットは、USB ケーブルの入り口の近くのブロックのジョイント部分の中を、ビンか何かとがっているものでさすことでリセットできます。
リセットボタンは4秒以上押し続けます。(2008-10-30 追記)
なお、リセットボタンの位置は、マニュアルを確認してください。
4.3 PC のコマンドプロンプトから次のコマンドを打ちます。
>lejosfirmdl

2008年7月 - marunomaruno-memo
  • リセットボタンの位置

  • lejosfirmdl

おそらくそのままだと何も動かないと思う。
何でかと思って調べてみると lejosfirmdl (バッチファイルで) インストールフォルダを大文字と小文字で比較しエラーになっていた。
なので、比較を大文字に変えておく(もう一箇所変更する必要があるので、インストールフォルダを小文字にしてしまったほうがいいかもしれない)。

NXT にダウンロード

  • ダウンロード用実行ファイルの修正

ダウンロード用実行ファイル(lejosdl.bat)も、先ほどの lejosfirmdl と同じように nxt -> NXT へ変更しておく


  • ダウンロードボタンを押したときにこんなエラーがでたときの対処法


Eclipse のパッケージエクスプローラ上の選択を該当 Java ソースにあわせる

実行すると

こんな感じ:)

まとめ

とりあえず Java で動かすことはできた。
ただ、Java だと二点倒立制御API がないので、まずは C で動作確認かな?
C の二点倒立制御API のソースを見る限り計算だけなのでパラメータの調整は必要あれど、Java への移植はできるんじゃないかなぁ。。。と思ったり。
センサがきたらやってみようっと。