実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!

Slides:



Advertisements
Similar presentations
1 ログイン ユーザ名: root パスワード: hosei (初期設定). 2 はじめに 対象 学部 1 年生 日時 毎週木曜 6 限 18 : 30 ~ 19:30 ( 初回のみ ~ 20 : 00) 開催場所 W211 各自持参するもの ノート PC LAN ケーブル.
Advertisements

実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB : 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 :
プロセスの生成とコマンドの実行 プロセスの生成とコマンドの実行 プロセス生成のシステムコール プロセス生成のシステムコール プロセス生成のプログラム例 プロセス生成のプログラム例 プログラム実行のシステムコール プログラム実行のシステムコール 子プロセスの終了を待つシステムコール 子プロセスの終了を待つシステムコール.
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB : 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 :
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
Macユーザーの方:データ転送 ターミナル使用.
情報実験:ネットワークコンピューティング入門
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
UNIXマシン間のファイル転送 2002年10月20日 海谷 治彦.
システムプログラミング 第6回、7回 main関数の引数 usageメッセージ システムコールのエラーメッセージ ファイル
翻訳サポートメモ – Developerじゃないと理解できない内容とかあります。 木谷公哉(KITANI
Linux リテラシ 2006 第2回 基本コマンド2.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
第2回ネットワークプログラミング 中村 修.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
プログラムはなぜ動くのか.
の まとめ 2007/04/02 (Mon) / d;id:hzkr
担当:青木義満、篠埜 功 情報工学科 3年生対象 専門科目 システムプログラミング 第8回、第9回 シグナル処理 担当:青木義満、篠埜 功
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
初年次セミナー 第2回 文字の出力.
情報学部 プログラミング体験教室 (初級編)
スクリプト言語を用いたPHITSの連続実行
データベース設計 第9回 Webインタフェースの作成(1)
インターネット技術特論 B:コマンドライン, shell 山口 実靖
EGS5のWindows PC へのインストール
第7回 条件による繰り返し.
ネットワークプログラミング 中村 修.
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
Cプログラミング演習 中間まとめ2.
KEK 波戸 、平山 最終変更 テキスト:installation_guide.pdf
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
第7回 条件による繰り返し.
第6回:ラケットを動かそう! (キーボードによる物体の操作)
第11回 プログラミングⅡ 第11回
ネットワークプログラミング (5回目) 05A1302 円田 優輝.
デジタル画像とC言語.
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
UNIX演習 情報ネットワーク特論.
プログラミング入門第5回 ~レゴロボットのプログラミング5~
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
UDPマルチキャストチャット      空川幸司.
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
B演習(言語処理系演習)第2回 田浦.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
システムプログラミング 第6回 システムコールのエラーメッセージ ファイルシステム 情報工学科 篠埜 功.
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
ネットワーク・プログラミング デバイスドライバと環境変数.
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
プログラミング基礎演習 第4回.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
Sftp の使い方 牧之内研究室 修士1年 安部智貴 2004/04/13.
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
第1章 文字の表示と計算 printfと演算子をやります.
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
Presentation transcript:

実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン! WEB:http://www.robot-programming.jp/ 著者:藤吉弘亘, 藤井隆司, 鈴木裕利, 石井成郎 E-mail:support@robot-programming.jp

■音をならしてみる (p.35〜)

PAD(Problem Analysis Diagram)はプログラムの設計図 指定したサウンドファイルを無限ループで再生 1 音を鳴らす 無限ループ 2 Bravoと音を鳴らす 処理の流れ 3 1秒間待機 PAD(Problem Analysis Diagram)はプログラムの設計図 PADの構成部品: 処理: 選択: 反復:

プログラムの準備(今回のみ) ワーキングディレクトリをUSBメモリ上に作成 USBメモリを挿入してオートマウントする /media/(ユーザ名)/(USBメモリ名)に移動 ワーキングディレクトリ”LEGO”を作成 プログラムをコピーして解凍 pc > cd /media/(ユーザ名)/(USBメモリ名) pc > mkdir LEGO pc > cd LEGO pc > cp /usr/local/dg/LEGO/EV3_Sample/EV3Sample.zip ./ pc > unzip EV3Sample.zip

NXCプログラム (p.37 sound.c) #include “./jissenPBL.h” int main() { SoundInit(); ButtonLedInit(); while(true){ PlayFile("/home/root/lms2012/prjs/Bravo.rsf"); Wait(1000); if(ButtonPressed(BTN1)) break; } return 0; 注意点: ・拡張子は .c ・サウンドファイル「Brabo.rsf」もEV3へ転送が必要 ・ファイル名、プログラムの中では日本語は使用できない (すべて半角英数)

sound.c の説明 #include “./jissenPBL.h” int main() { SoundInit(); ButtonLedInit(); while(true){ PlayFile("/home/root/lms2012/prjs/Bravo.rsf"); Wait(1000); if(ButtonPressed(BTN1)) break; } return 0; ヘッダファイルの読み込み 1 2 3 ・SoundInit();   サウンドの初期化 ・PlayFile(ディレクトリ/ファイル名);   再生するサウンドファイルの場所とファイル名 ・Wait(時間);   直前の状態の保持、単位はティック(1ティック=1ms)

while (true) { } while文を用いたループ while(true){処理} とすると無限ループ 繰り返す処理 //force-quit if(ButtonPressed(BTN1)) break; } Off(OUT_BC); 無限ループのプログラムを作成する時は: プログラムの緊急停止(無限ループ脱出)のための処理を必ず入れておくこと 無限ループ脱出後の処理として、モータを停止する命令を追加すること 7

ヘッダファイル (jissenPBL.h) ヘッダファイル NXCコマンドを使用できるように関数が定義されている int getSensorGyro(unsigned char chnum) int getSensorUSonic(unsigned char chnum) int getSensorColor(unsigned char chnum) int getSensorTouch(unsigned char chnum) int getSensorNXT(unsigned char chnum) int getSensorHTAcc(unsigned char chnum) int getSensor(int chnum) int setSensorPort(int chnum, int funcnum, int modenum) int startSensor() void initSensor() void closeSensor() …

コンパイルとファイルの転送 (p.41〜) プログラムのコンパイル プログラム”sound.c”をクロスコンパイラでコンパイル pc > arm-none-linux-gnueabi-gcc sound.c -o sound sound という名前の実行ファイルを生成 オプション“-o sound”を付けないと ”a.out” という名前の実行ファイルが生成 コンパイルエラーが発生した場合は、エラー文章を読み修正 pc > chmod a+x sound

EV3の設定(Wi-Fi設定) EV3「 」メニュー「WiFi」を選択 PW: lego2017 EV3「  」メニュー「WiFi」を選択 デジタルラボ内の無線LAN環境「○○○○」へ接続(Connection) EV3「  」「Brick Info」からIPアドレスを確認 IPアドレスとは:パケットを送受信する機器を判別するための番号

EV3へのリモートログインと設定 ubuntuメニューから「Term」と入力してターミナルを起動 telnetコマンドを使用してEV3へ接続 login:ログイン名「root」でログイン(パスワードは不要) ログイン後、”dropbear”と入力 (ファイル転送を可能にする) pc > telnet 192.168.11.17 (先ほど調べたEV3のIPアドレス) EV3# > dropbear

EV3のデイレクトリ構造 EV3のOS:Linux ワーキングディレクトリ:/home/root/lms2012/prjs / bin dev boot etc user lib ・・・ root lms2012 prjs ホームディレクトリ ワークスペース 12

EV3へファイルの転送と実行 EV3へファイルを転送(PC上で実行) 実行ファイル”sound”とサウンドファイル”Bravo.rsf”をコピー する EV3上で実行ファイルsoundを実行 ワーキングディレクトリに移動してから実行 pc > scp sound root@(EV3のIP):/home/root/lms2012/prjs/ pc > scp Bravo.rsf root@(EV3のIP):/home/root/lms2012/prjs/ EV3# > cd /home/root/lms2012/prjs/ EV3# > ./sound

EV3へ実行スクリプトのコピー(初回1回のみ) EV3上でディレクトリ「Run」の作成 EV3へファイルを転送(PCから実行) EV3# > cd /home/root/lms2012/prjs/ EV3# > mkdir Run pc > scp run.rbf root@(EV3のIP):/home/root/lms2012/prjs/Run/

EV3メニューからプログラムの実行 EV3上で実行ファイルの名前をAppに変更 EV3メニューのRun内のrunを実行 EV3# > cd /home/root/lms2012/prjs/ EV3# > mv sound App

プログラムの実行 実行前にすべきこと 実行時の注意 安全確認 プログラムのアルゴリズムを頭の中で実行 ロボットの動作をよく観察し、設計図(PAD)通りにアルゴリズム が実現できているかを確認 ロボットが思い通りに動かないときは、ロボットがどこまで設計 図通りに動いたかを調べ、プログラムを修正(デバッグ)する 16

→設計図通りにロボットが動くまでトライ&エラーを繰り返して問題解決 トライ&エラーによる問題解決 ロボットを思い通りに動かすには 実現したいロボット アルゴリズムを考える 設計図の作成 無限ループ 実行 ロボットは設計図 通りに動いた? プログラムの作成 終了 プログラムの修正 True False トライ&エラーを繰り返す →設計図通りにロボットが動くまでトライ&エラーを繰り返して問題解決 17