東 海 地 区 独 教 育 開 発 環 境 相 談 会 2015/05/09 開 催 Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved.
スケジュール 全 体 説 明 10:30 10:35 セクション:1 10:35 12:00 開 発 環 境 の 構 築 コンパイル ダウンロードの 操 作 説 明 セクション:2 13:00 16:30 サンプルプログラムを 使 って プログラム 作 成 の 作 業 練 習 演 習 注 : 参 加 的 を 達 したチームから 退 席 して 頂 いて 構 いません Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 1
開 発 環 境 の 構 築 まずは 開 発 環 境 の 構 築 状 況 の 確 認 と 困 りごとの 相 談 及 び 解 決 を います その 中 で 必 要 に 応 じて EV3 向 け 開 発 環 境 の 構 築 順 を 順 を 追 って 確 認 して きましょう Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 2
EV3 向 け 開 発 環 境 構 築 (1) 別 資 料 としてEV3RTのダウンロードパッケージに 含 まれて 提 供 されている 以 下 構 築 ガイド を 使 って 順 を 確 認 します 資 料 タイトル: EV3RT Mindstorms EV3 開 発 プラットフォーム Installation Guide ( 1. 開 発 環 境 の 準 備 ) 注 :この 資 料 は β4のパッケージには 含 まれていないので β3-1のパッケージに 含 まれている 物 を 使 しています ETロボコン EV3サポートサイト : http://sourceforge.net/p/etroboev3/wiki/home/ Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 3
EV3 向 け 開 発 環 境 構 築 (2) 開 発 プラットフォームEV3RTのダウンロード&インストール ダウンロードページからEV3RTのパッケージをダウンロードし 以 下 の 順 に 従 ってインストールしてく ださい ダウンロードページ:http://dev.toppers.jp/trac_user/ev3pf/wiki/Download 注 : 必 ず β4 以 降 のバージョンを 使 してください 1 zipファイルを 解 凍 し プラットフォームのパッケージ(ev3rt-beta4-utf8-lf.tar.xz)を 作 業 フォルダに 移 動 します - 作 業 フォルダの 指 定 は 由 です - 作 業 フォルダは スペースや 全 字 が 含 まれているパスを 使 わないでください 2 ターミナルを 開 いて 作 業 フォルダに 移 動 します (もし Windows 環 境 でCygwinをインストールしていない は 先 に 開 発 環 境 (クロス コンパイラ,ツール)のインストール を 実 施 してください) 3 下 記 のコマンドでプラットフォームの 簡 易 パッケージを 解 凍 します 注 意 : 解 凍 ソフトを 使 して 解 凍 すると アーカイブに 含 まれるシンボリックリンクが 壊 れて しまうことがありますので 以 下 のように tar コマンドを 使 してください > tar xvf hrp2.tar.xz 作 業 フォルダに hrp2 フォルダができたら プラットフォームのインストールが 完 了 です ETロボコン EV3サポートサイト : http://sourceforge.net/p/etroboev3/wiki/home/ Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 4
EV3 向 け 開 発 環 境 構 築 (3) 体 側 の 環 境 構 築 ダウンロード し 展 開 したEV3RTのパッケージには 体 に プログラムを 組 み 込 む 為 のSDカード 設 定 モジュールも っています 以 下 フォルダの 内 容 をそのままSDカードにコピーしてください./ev3rt-beta4-release/sdcard/uImage /ev3rt/apps /etc /res このコピー 作 業 を 実 施 したSDカードを 体 (EV3)のSDカードソケットに 差 し 込 んで EV3の 電 源 を れることでプログラム 起 動 環 境 が 起 動 します Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 5
EV3 向 け 開 発 環 境 構 築 (4) 体 個 々のBluetoothデバイス 名 設 定 法 を 説 明 します 各 チーム 個 々のデバイス 名 を 命 名 ルールに 従 って 設 定 ファイルの 記 述 してください 命 名 ルール: ET + チームID またPINコードも 各 で 任 意 の 値 を 設 定 してください 注 :PINコードは 1234 以 外 を 設 定 してください 修 正 ファイル: SDカード 上 の /ev3rt/etc/rc.conf.ini を 編 集 [Bluetooth] LocalName=ETxxx PinCode=xxxx 詳 細 は 以 下 規 約 を 確 認 してください ET ソフトウェアデザインロボットコンテスト2015 Bluetooth 通 信 規 約 1.0.0 版 1.5. Bluetooth 通 信 機 器 と 体 のペアリング Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 6
NXT 向 け 開 発 環 境 構 築 のマニュアル 別 資 料 として 参 加 者 に 提 供 されている 以 下 構 築 ガイド を 使 っ て 順 を 確 認 します 資 料 タイトル: ET ソフトウェアデザインロボットコンテスト2015 ET ロボコン NXTOSEK 開 発 環 境 構 築 ガイド 版 数 1.0.0 Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 7
開 発 環 境 構 築 作 業 皆 さんの 開 発 環 境 構 築 状 況 を 確 認 した 上 で EV3/NXT 両 環 境 に 分 かれて 開 発 環 境 構 築 及 び 問 題 解 決 作 業 を 進 めましょう EV3チーム NXTチーム 出 来 るだけ 参 加 者 の 皆 さん 同 でも 情 報 交 換 しながら 進 めて きましょう 過 去 に 経 験 した 問 題 で 困 っているチームに 気 が 付 いたら 解 決 した 経 験 を 教 えてあげてください Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 8
コンパイル ダウンロードの 操 作 説 明 構 築 が 終 わったEV3 向 け 開 発 環 境 でプログラムをコンパイルし 体 へプログラムをダウンロードしてみましょう Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 9
サンプルアプリケーションのビルドと 実 (EV3) EV3 体 向 けのプログラムのビルドと 実 順 について 確 認 します 開 発 環 境 構 築 の 説 明 で 使 しました 以 下 資 料 の ビルド 実 部 分 を 順 を 追 って 確 認 します また 今 回 の 説 明 では 動 的 ローディング 形 式 に 絞 って 話 を 進 めます 資 料 タイトル: EV3RT Mindstorms EV3 開 発 プラットフォーム Installation Guide ( 2.アプリケーションのビルド 実 ) 注 :この 資 料 は β4のパッケージには 含 まれていないので β3-1のパッケージに 含 まれている 物 を 使 しています Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 10
サンプルアプリケーションのビルドと 実 (NXT) NXT 体 向 けのプログラムのビルドと 実 順 について 確 認 します 資 料 タイトル: 拡 張 NXTファームウェア 搭 載 のNXTへの nxtosekプログラムのアップロード 法 注 :この 資 料 は 以 下 URLの 内 容 をプリントした 物 です URL: http://lejos-osek.sourceforge.net/jp/howtoupload_enf.htm Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 11
サンプルプログラムを 使 って プログラム 作 成 の 作 業 練 習 まずはソースコードをコンパイルして 実 形 式 のビルド 次 にプログラムを 体 に 転 送 して 起 動 するまでの 順 を 経 験 し 慣 れる 事 が 的 です サンプルプログラムを 使 って 作 業 してみましょう Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 12
演 習 1. プログラムを 動 作 させてみる(1) 作 業 内 容 - 1: サンプルプログラムをそのままビルドして 体 を らせて みましょう 使 するサンプルプログラムは EV3way_EV3RT_sample.tgz に 含 まれる sample_c4 です 以 下 URLからダウンロードしてください URL: http://sourceforge.net/p/etroboev3/wiki/sample_program/ Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 13
演 習 1. プログラムを 動 作 させてみる(1) 作 業 内 容 - 2: 作 業 内 容 -1のビルドしたプログラムソース 内 のパラメータ 値 を 変 更 して 動 作 の 変 化 を 観 察 してみましょう 着 パラメータ 例 a) 49,50 の 光 センサ 値 #define LIGHT_WHITE 40 /* の 光 センサ 値 */ #define LIGHT_BLACK 0 /* の 光 センサ 値 */ b) 54,55 名 のしっぽ 度 #define TAIL_ANGLE_STAND_UP 93 /* 完 全 停 時 の 度 [ 度 ] */ #define TAIL_ANGLE_DRIVE 3 /* バランス 時 の 度 [ 度 ] */ c) 150,153,157 の 命 令 値 forward = 30; /* 前 進 命 令 */ turn = 20; /* 左 旋 回 命 令 */ turn = -20; /* 右 旋 回 命 令 */ Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 14
演 習 2. 個 別 デバイスを 動 作 させてみる 作 業 内 容 : 体 に 搭 載 されている 各 デバイスを サンプルプログラムを 使 って 個 別 に 動 作 させてみます まずは 各 サンプルをそのままビルド& 実 して 動 作 を 確 認 して ください その 次 にそのソースコードを 部 変 更 してみてAPIの 使 い に 慣 れて きましょう a) LCD 表 : sample_lcd (LCDに 字 を 表 ) b) モータ 回 転 : sample_motor (モータを 回 す) c) 光 センサー: sample_color ( 光 センサーの 値 をLCDに 表 ) d) a,b,cを 参 考 にして 他 のデバイスを 使 ったプログラムを APIのリファレンスマニュアルを 参 照 して 作 ってみましょう APIレファレンスマニュアル:EV3RT C API Reference http://www.toppers.jp/ev3pf/ev3rt_c_api_reference/ 注 :OSの 概 要 説 明 等 は 技 術 教 育 の 中 で 実 施 しますので 今 回 はソースコードのAPIを 使 った 個 別 デバイスへのアクセス 処 理 だけに 注 してください Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 15
演 習 2. 個 別 デバイスを 動 作 させてみる a) LCD 表 : sample_lcd (LCDに 字 を 表 ) /* LCDフォントサイズ */ #define CALIB_FONT (EV3_FONT_SMALL) #define CALIB_FONT_WIDTH (6) #define CALIB_FONT_HEIGHT (8) void main_task(intptr_t unused) { /* LCD 画 表 */ ev3_lcd_fill_rect(0, 0, EV3_LCD_WIDTH, EV3_LCD_HEIGHT, EV3_LCD_WHITE); ev3_lcd_draw_string("sample_lcd : Hello world!!", 0, CALIB_FONT_HEIGHT*1); } ext_tsk(); Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 16
演 習 2. 個 別 デバイスを 動 作 させてみる b) モータ 回 転 : sample_motor (モータを 回 す) #define DRIVING_POWER 40 const int touch_sensor = EV3_PORT_2, color_sensor = EV3_PORT_3, tail_motor = EV3_PORT_A, left_motor = EV3_PORT_B, right_motor = EV3_PORT_C; void main_task(intptr_t unused) { // Configure motors ev3_motor_config( tail_motor, LARGE_MOTOR ); ev3_motor_config( left_motor, LARGE_MOTOR ); ev3_motor_config( right_motor, LARGE_MOTOR ); ev3_motor_config( EV3_PORT_D, NONE_MOTOR ); while (1) { ev3_motor_set_power( left_motor, DRIVING_POWER ); } tslp_tsk(4); /* 4msec 周 期 起 動 */ } ext_tsk(); Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 17
演 習 2. 個 別 デバイスを 動 作 させてみる c) 光 センサー: sample_color ( 光 センサーの 値 をLCDに 表 ) /* LCDフォントサイズ */ #define CALIB_FONT (EV3_FONT_SMALL) #define CALIB_FONT_WIDTH (6) #define CALIB_FONT_HEIGHT (8) void main_task(intptr_t unused) { uint8_t buf[256]; // uint8_t ambient; uint8_t light; /* LCD 画 表 */ ev3_lcd_fill_rect(0, 0, EV3_LCD_WIDTH, EV3_LCD_HEIGHT, EV3_LCD_WHITE); // Configure sensors ev3_sensor_config(color_sensor, COLOR_SENSOR); while (1) { // ambient = ev3_color_sensor_get_ambient( color_sensor ); light = ev3_color_sensor_get_reflect( color_sensor ); sprintf( buf, "sample_color : light = %03d", light ); ev3_lcd_draw_string( buf, 0, CALIB_FONT_HEIGHT*1); // sprintf( buf, " : ambient = %03d", ambient ); // ev3_lcd_draw_string( buf, 0, CALIB_FONT_HEIGHT*2); } tslp_tsk(4); /* 4msec 周 期 起 動 */ } ext_tsk(); Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 18
Copyright 2015 ETロボコン 実 行 委 員 会 All rights reserved. 19