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

Slides:



Advertisements
Similar presentations
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB : 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 :
Advertisements

実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB : 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 :
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
ARの拡張性の研究 H411023 太田智章.
入力機器 2SK 情報機器工学(第5回).
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
初年次セミナー 第4回 整数と実数の取り扱い.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
プログラミング 平成24年10月30日 森田 彦.
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラミング 平成25年11月5日 森田 彦.
行列による画像処理 デジタル表現論 担当者:劉 雪峰 2017年6月1日.
LEGO MINDSTORMの車両の PCによる遠隔操縦
プログラミング演習I 2003年6月25日(第10回) 木村巌.
プログラミング序論 2. n人のインディアン.
プログラミング演習I 2003年5月7日(第4回) 木村巌.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
前回の練習問題.
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
専門教育入門セミナーT in KatLab 2018/10/14 平木場風太 作成
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
GPSを使わないBebop Droneの 自動飛行
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
LEGOを用いた倒立振子の 制御系設計に関する研究
プログラミング入門第6回 ~レゴロボットのプログラミング6~
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
C言語 はじめに 2016年 吉田研究室.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
Handel-Cを用いた パックマンの設計
プログラミングⅡ 第2回.
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
ネットワーク・プログラミング Cプログラミングの基礎.
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
情報処理Ⅱ 2006年11月24日(金).
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
トキのカタチ 2016 Arduino講習会 原田隆尚.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
プログラミング 平成28年10月25日 森田 彦.
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
専門教育入門セミナー 2016/10/31.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

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

10: ディスプレイ表示 (p.95〜) 2

ディスプレイの座標 x 177 MINDSTORMS y 127 テキスト表示 x 127 y (50,20) 40 177 図形表示 3

超音波センサの値を表示 超音波センサの値を液晶ディスプレイに表示 デバッグに重要 4

超音波センサの値を表示(PAD) (p.96) 超音波センサの値を読み取り、テキストをディスプレイに表示 MINDSTORMS 1 2 3 距離の読み取り 2 超音波センサ ディスプレイ表示 1 無限ループ テキストを表示 3 177 127 x y テキスト座標 MINDSTORMS 5

超音波センサの値を表示 (p.97 display_text.c) #include "./jissenPBL.h" int main() { int dist=0; char sensval[64]; LcdInit(); LcdSelectFont(2); LcdRefresh(); initSensor(); ButtonLedInit(); //use button setSensorPort(CH_4,USONIC,0); startSensor(); while(true){ dist=getSensor(CH_4); sprintf(sensval,"%4d",dist); LcdText(1,50,50,sensval); LcdText(1,120,50,"mm"); Wait(100); if(ButtonPressed(BTN1))break; //Stop Program } closeSensor(); sprint()とは? 書式指定変換した出力を文字列に格納 整数型変数distの値を4桁の整数として 文字変数sensvalに格納する 1 2 3 6

図形の繰り返し表示(PAD) (p.98) 図形1と図形2を繰り返しにディスプレイに表示 1 2 3 4 5 6 7 x y 図形の表示 無限ループ 1 画像を1秒表示 2 3 ディスプレイのクリア 4 図形を1秒表示 5 6 ディスプレイのクリア 7 177 127 x y (50,20) 40 CircleOut(50,20,40); 7

図形の表示 (p.99 display_fig.c) #include "./jissenPBL.h" int main() { LcdInit(); LcdRefresh(); ButtonLedInit(); //use button while(true){ LcdBmpFile(1,0,0,”/home/root/lms2012/prjs/Angry.rgf”); Wait(1000); LcdClearDisplay(); CircleOut(50,20,40); //(x,y,r) if(ButtonPressed(BTN1))break; //Stop Program } 1 2 3 4 5 6 7 8

■課題 障害物までの距離が小さくなるほど大きくなる円を表示 127 (89,64) r y x 177 9

■並列タスク (p.107〜) 10

→ライントレースと障害物回避を同時に行うには並列タスクを利用 シングルタスク シングルタスクと並列タスク →ライントレースと障害物回避を同時に行うには並列タスクを利用 11

PADによる並列タスクの図示 (p.110) 1 2 5 1 3 4 6 7 10 9 2 右旋回 無限ループ 反射光 > 40 ライントレースプログラムを起動 障害物回避プログラムを起動 2 True 右旋回 5 1 ライントレース 無限ループ 3 反射光 > 40 4 左旋回 6 False 障害物との距離が 30cm以下 超音波センサによる障害物回避 7 10 無限ループ 45度右旋回 9 True False 2 12

並列タスクにおける問題 (p.110) 命令の衝突(コンフリクト) タスクAがタスクBの実行を妨害 同時にモータを制御 タスクB:後退 モータBCを順方向に回転 タスクB:後退 モータBCを逆方向に回転 どっちを実行すればいいの? 13

セマフォ(信号灯) 14

セマフォ(信号灯) 15

セマフォ(信号灯) 16

セマフォ(信号灯) 17

セマフォによるコンフリクトの回避 18