忍者ブログ
[19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29]

DATE : 2024/05/18 (Sat)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2007/04/04 (Wed)

LMS のプロジェクトは、主に以下から構成されます。

  • プロジェクト設定ファイル
  • 場面設定ファイル
  • 床画像ファイル
  • 仮想 RCX ロボット設定ファイル
  • プログラムファイル
プロジェクト設定ファイル
プロジェクト全体の内容を記述するファイルです。場面設定ファイルと 仮想 RCX ロボット設定ファイルの場所を指定します。
場面設定ファイル
仮想 RCX ロボットの動きをシミュレートする場面を記述するファイルです。床の模様や障害物の位置などの設定を行います。また、シミュレーションの様子を見るための光源やカメラの位置の設定もあります。
床画像ファイル
床の模様を描画した画像ファイルです。ライントレースをシミュレートする場合は、そのラインを描いた画像ファイルになります。
仮想 RCX ロボット設定ファイル
シミュレートするマインドストームの構成を記述するファイルです。モータやセンサーの位置や接続状態の設定を行います。また、シミュレートを行うプログラムファイルの場所を指定します。
プログラムファイル
マインドストームの動作を記述したプログラムファイルです。leJOS 向けに Java で記述したクラスファイルを JAR 化したものを設定します。leJOS 向けのソースコードは、JDK 1.4 以降の言語拡張を使わないように書きます。

参考文献

PR

DATE : 2007/04/03 (Tue)

前回の記事で、lejosc コマンドの中身は javac コマンドを leJOS 環境向けに実行していることがわかりました。

lejosc コマンドを実行した後、LMS 向けのマインドストームをビルドするにはクラスファイルを JAR ファイルにまとめる必要があります。この時に使う jar コマンドも JDK 付属のツールです。

そこで、Apache Ant のビルドファイルを作ってみました。このビルドファイルを使用すると、LMS 向けマインドストームを格納した JAR ファイルを ant コマンド一発で生成できます。マニフェストファイルは Apache Ant 側で生成するため、用意する必要はありません。

LMS 向けマインドストームをビルドする Apache Ant ビルドファイルを以下に掲載します。Apache Ant 1.6.5 で動作を確認しました。

<?xml version="1.0" encoding="UTF-8" ?>

<project name="example_robot_project" default="jar" basedir=".">


  <!-- プロパティ一覧 -->
    
<!-- leJOS のインストールディレクトリ -->
<property name="lejos_home" location="c:/lejos" />

<!-- ソースコードのトップディレクトリ -->
<property name="java_src" location="src/main/java" />

<!-- ビルド結果を格納するディレクトリ -->
<property name="target" location="target" />

<!-- メインクラス(完全修飾名で指定) -->
<property name="main_class" value="com.example.ExampleRobot" />

<!-- 生成する JAR ファイルの名前(拡張子は不要) -->
<property name="jar_name" value="example_robot" />
    
<!-- ソースコードの文字エンコーディング -->
<property name="src_encoding" value="UTF-8" />


  <!-- ターゲット一覧 -->
    
<target name="init">

  <mkdir dir="${target}/classes" />

</target>


<target name="compile" depends="init">

  <javac srcdir="${java_src}" destdir="${target}/classes"
      bootclasspath="${lejos_home}/lib/classes.jar;${lejos_home}/lib/rcxrcxcomm.jar"
      encoding="${src_encoding}" target="1.1" source="1.3" />

</target>

<target name="jar" depends="compile">

  <manifest file="${target}/MANIFEST.MF">
    <attribute name="Main-Class" value="${main_class}" />
   </manifest>
  
  <jar destfile="${target}/${jar_name}.jar" basedir="${target}/classes"
      includes="**.class" manifest="${target}/MANIFEST.MF"
      compress="false" index="false" />

</target>

<target name="clear">

  <delete dir="${target}" />

</target>

</project>

プロジェクト名(project 要素の name 属性)や各種プロパティは、開発環境に応じて設定してください。

なお、このビルドファイルはプロジェクトディレクトリのトップに置いてください。

ビルドが成功すると、生成されたJAR ファイルが、<プロジェクトのトップディレクトリ>/<ビルド結果を格納するディレクトリ> 内に出力されています。

ビルドファイルのファイル名を「build.xml」としておくと、プロジェクトのトップディレクトリで次のコマンドを実行するだけで JAR ファイルが生成されます。

> ant

次のように clear ターゲットを実行すると、ビルド結果を格納するディレクトリを削除します。

> ant clear

参考文献


DATE : 2007/04/02 (Mon)

LMS 向けマインドストームは、leJOS 上の Java を使ってプログラミングを行います。

プログラムが出来上がったあとは、次のようにコマンドを実行して JAR ファイルを生成します。(以下のコマンドは「Lego Mindstorms Simulator - Creating virtual RCX robots」を参考にしています。「>」はプロンプトです)

> lejosc *.java 
> jar cvfm0 myrobot.jar manifest.txt *.class

manifest.txt は、生成する JAR ファイルのマニフェストファイルで、メインクラスを指定しておきます。

lejosc というコマンドを見ると、leJOS 独自のコンパイラを使っているように見えます。しかし実際は、lejosc.bat というバッチファイルです(leJOS RCX 2.1.0)。その中身を覗いて見ると、次のようになっていました。(以下は、<LEJOS_HOME>/bin/lejosc.bat を抜き出したものです)

javac -target 1.1 -source 1.2 -bootclasspath %LEJOS_HOME%\lib\classes.jar;%LEJOS_HOME%\lib\rcxrcxcomm.jar

つまり、JDK 付属のコンパイラを使用していることになります。ただし、ブートストラップクラスが指定されているので、 leJOS 独自の環境向けにコンパイルしています。

また上のコマンドから、LMS や leJOS 向けのソースコードでは、JDK 1.4 以降の言語拡張が利用できないこともわかります。

参考文献


DATE : 2007/04/01 (Sun)

LMS (Lego Mindstorms Simulator) をインストールするには、以下の環境が必要です。なお、この記事は LMS 1.41を対象としています。

  • Java2 SDK 1.4.2 以上
  • Java3D 1.3.1 以上

LMS 上で動作するマインドストームは Java でプログラミングするため、実行環境(JRE)ではなく開発環境(SDK / JDK)が必要です。

なお、Windows 用インストーラを使用した場合、インストーラに Java3D が付属しています。

Windows の場合はインストーラが付いているので、インストール作業は簡単に終わります。

次に、leJOS をインストールします。leJOS はマインドストーム用の Java 実行環境+開発環境です。leJOS には leJOS NXT 、leJOS RCX とありますが、現時点の LMS は RCX にしか対応していないので、leJOS RCX をインストールします。

インストール後は、LEJOS_HOME 環境変数を作り、leJOS をインストールしたディレクトリを設定しておきます。また必要に応じて、「<LEJOS_HOME>/bin」をパスに設定したり、「<LEJOS_HOME>/lib/classes.jar」や「<LEJOS_HOME>/lib/pcrcxcomm.jar」を CLASSPATH 環境変数に設定します。


DATE : 2007/03/31 (Sat)

(;^ω^)今月はいろいろとイベント続きだったのでブログを書く暇もありませんでしたが、最近ようやく解放されたような気がします。

(;´Д`)もっとも、マインドストームやら次の企画やらでまたすぐに忙しくなりますが。

( ^ω^)とりあえず今は、LMS (Lego Mindstorms Simulator) を使って遊び半分にプログラムを書いているところです。ただ、このアプリケーションは設定にクセがあって面倒臭いのが難点ですね。場面設定やロボットの装備は XML ファイルに記述するのですが、設定する要素が細々としていてやっかいです。

( ´∀`)もっとも、いったん設定ファイルができてしまえば、あとは Java のコードを書いてビルドするだけなのでとても楽です。

忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
ブログ内検索
最近の状況
リンク
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック