• 検索結果がありません。

実践ロボットプログラミング

N/A
N/A
Protected

Academic year: 2021

シェア "実践ロボットプログラミング"

Copied!
34
0
0

読み込み中.... (全文を見る)

全文

(1)

実践ロボットプログラミング

LEGO Mindstorms NXT で目指せロボコン!

WEB:http://robot-programming.jp/

著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 E-mail:[email protected]

(2)

■モデリング入門

P.147

(3)

■モデリングとは

P.147

(4)

モデリングのイメージ

• 大会コースが発表された!!!     

P.147

(5)

モデリングのイメージ

• 目標: 優勝するぞ!!!

‒ 速く走るロボットとプログラム

!

 すぐ決まる(^^)

!

 すぐには作れない(ーー)

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット

(6)

モデリングのイメージ

• 目標: 優勝するぞ!!!

‒ 速く走るロボットとプログラム

!

 すぐ決まる(^^)

!

 すぐには作れない(ーー)

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット

(7)

モデリングのイメージ

• モデリング

‒ 実現したい目標を

• 具体化 可視化 詳細化

‒ 設計図を作ること!! !

 わかりやすくなる(^^)

P.148

(8)

モデリングのイメージ

• モデリング

‒ 実現したい目標を 具体化 可視化 詳細化

‒ 設計図を作ること!!

優勝 するぞ!

! 遠い "

実現!

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット やりたい

こと?

ロボットの組み立て

 (ーー)

PAD

コーディング

(9)

モデリングのイメージ

• モデリング

‒ 実現したい目標を 具体化 可視化 詳細化

‒ 設計図を作ること!!

優勝 するぞ!

! 遠い "

実現!

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット やりたい

こと?

ロボットの組み立て

 (ーー)

PAD

コーディング

モデリング

(設計図)

(10)

モデリングのイメージ

• モデリング

‒ 実現したい目標を 具体化 可視化 詳細化

‒ 設計図を作ること!!

! 遠い "

実現!

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット やりたい

こと?

ロボットの組み立て

 (ーー)

PAD

コーディング

モデリング

(設計図)

(11)

モデリングのイメージ

• モデリング

‒ 実現したい目標を 具体化 可視化 詳細化

‒ 設計図を作ること!!

! 遠い "

実現!

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット やりたい

こと?

ロボットの組み立て

 (ーー)

PAD

コーディング

モデリング

(設計図)

PLAN

計画

(12)

■コース攻略をモデリング

P.151

(13)

コース攻略をモデリング

小学生大会のコース攻略をモデリング!

得点ルール = ライントレースポイント + 障害物回避ポイント

+ 缶倒しポイント  

+ タイムポイント

優勝するぞ! プログラム?

P.152

(14)

コースモデリングの手順

1. ルールの確認

2. 必要な機能(やりたいこと)の確認

3. 機能(やりたいこと)の内容と必要な情報を整理 4. 機能(やりたいこと)の詳細(実現方法)を記述 5. 機能と機能の関連を記述

P.152

(15)

コースモデリングの手順

1. ルールの確認

2. 必要な機能(やりたいこと)の確認

3. 機能(やりたいこと)の内容と必要な情報を整理 4. 機能(やりたいこと)の詳細(実現方法)を記述 5. 機能と機能の関連を記述

P.152

(16)

コースモデリングの手順

1. ルールの確認

2. 必要な機能(やりたいこと)の確認

3. 機能(やりたいこと)の内容と必要な情報を整理 4. 機能(やりたいこと)の詳細(実現方法)を記述 5. 機能と機能の関連を記述

P.152

(17)

2. 必要な機能(やりたいこと)の確認

• どんな機能が必要だと思いますか?

• K君とU君の場合は....

P.153

ライントレース

ライントレース

(18)

2. 必要な機能(やりたいこと)の確認

• どんな機能が必要だと思いますか?

• K君とU君の場合は....

P.153

ライントレース

ライントレース

(19)

コースモデリングの手順

1. ルールの確認

2. 必要な機能(やりたいこと)の確認

3. 機能(やりたいこと)の内容と必要な情報を整理 4. 機能(やりたいこと)の詳細(実現方法)を記述 5. 機能と機能の関連を記述

P.152

(20)

3. 機能(やりたいこと)の内容と必要な情報の整理 P.154

必要な情報や量  光量(名詞)

機能の内容 (

実際にさせたい動作

)  回転する(動詞)

B .ライントレース:黒線を追跡して走行する

!"#$%&'!

(21)

3. 機能(やりたいこと)の内容と必要な情報の整理 P.154

必要な情報や量  光量(名詞)

機能の内容 (

実際にさせたい動作

)  回転する(動詞)

B .ライントレース:黒線を追跡して走行する 1 .光量を測定する

!"#$%&'!

(22)

3. 機能(やりたいこと)の内容と必要な情報の整理 P.154

必要な情報や量  光量(名詞)

機能の内容 (

実際にさせたい動作

)  回転する(動詞)

B .ライントレース:黒線を追跡して走行する

①光量

1 .光量を測定する

!"#$%&'!

(23)

3. 機能(やりたいこと)の内容と必要な情報の整理 P.154

必要な情報や量  光量(名詞)

機能の内容 (

実際にさせたい動作

)  回転する(動詞)

B .ライントレース:黒線を追跡して走行する

2 .光量によって右回転、左回転する

①光量

1 .光量を測定する

!"#$%&'!

(24)

3. 機能(やりたいこと)の内容と必要な情報の整理 P.154

必要な情報や量  光量(名詞)

機能の内容 (

実際にさせたい動作

)  回転する(動詞)

B .ライントレース:黒線を追跡して走行する

2 .光量によって右回転、左回転する

①光量 ②モータの力 1 .光量を測定する

!"#$%&'!

(25)

• すべての機能が整理できたら機能モデルを作成しよう!

3. 機能(やりたいこと)の内容と必要な情報の整理 P.155

!"#$%&!!! ! !!!!!!!!'()!!!*!!!)!

!"#$%%%%%%%%%%!!

&'%%%"#%%%%%%%%(%((((((((((((((((((((!

!"#$%%%%%%%%%%(((((!

&'%%%$%%%%%%%%%((((((((((((((((((((!

)*+#$,((((((((((((((((((((((&!

)*+',(((((((((((((((((((((((((((((((((((((((((((%!

!"#$%&'()*+,-.!

-./01234,56789/034:;<=!

%%'.34<=!

%%(.56789/0>?@A9734BC6=!

%%D/0%%EF*GHI!

J.KLMNO*P,QRBSTAU:;<=!

%%'.VWBX2<=!

%%(.VWYZ[U\]^_`]^<=!

%%DVW%%EF*GHI!

! ! ! ab%)*'++!cd!

(26)

コースモデリングの手順

1. ルールの確認

2. 必要な機能(やりたいこと)の確認

3. 機能(やりたいこと)の内容と必要な情報を整理 4. 機能(やりたいこと)の詳細(実現方法)を記述 5. 機能と機能の関連を記述

P.152

(27)

4. 機能(やりたいこと)の詳細(実現方法)を記述 P.156

• 各機能ごとに

機能の実現のために必要なことを確認して行こう!

0.  絵を描きながら確認するといいよ!(イメージスケッチ)

1. 何を実現する機能か? (機能の概要)

2. その機能の動作が始まるときの条件は?

 (開始条件)

3. 動作の内容とその順番は? (機能の流れ)

4. その機能の動作が終わるときの条件は?

 (終了条件)

• K君とU君の場合は....

(28)

• 確認した内容を詳細モデルに記述しよう!

• このモデルからPADが書けるかな? P.160参照

P.157

4. 機能(やりたいこと)の詳細(実現方法)を記述

!"#$%&!!!! ! !!!!'()!!!*!!!)!

!"#$%%%%%%&'%%%!"%%%%%%%%#

!"#$%%%%%%&'%%%$%%%%%%%%((((((((((((((((()*+#$%%%%%%)*+'%%%%%%%%%%%%%%#

,-'!

,-./0!

1234!

,-.56!

7834!

&9:;<=>?@ABCDE!

'9FGHIG.JK<?@ABCDE#

(9JK.LMNOPQRSTURVTU?@#

%%()9FWXYZSTU?@ABC[E#

%%(*9F\]GXYZVTU?@ABC[E!

^_*`abc)#

d^efg*a!

Fh<ijkQlm?@!

nopcqrstuNv?@!

wxy>z{|7}@!

(29)

コースモデリングの手順

1. ルールの確認

2. 必要な機能(やりたいこと)の確認

3. 機能(やりたいこと)の内容と必要な情報を整理 4. 機能(やりたいこと)の詳細(実現方法)を記述 5. 機能と機能の関連を記述

P.152

(30)

• 機能と機能の関連を整理しよう!

• K君とU君の場合は....

‒ コースに沿って、機能の動きをイメージ             

(処理の流れから)

‒ 機能と機能の移り変わりをイメージ        

(機能中心)

P.157

5. 機能と機能の関連を記述

(31)

5. 機能と機能の関連を記述 P.158

• すべての機能の関連を考えて関連モデルを作成しよう!

        処理中心の関連モデル は P.158 参照

機能中心の関連モデル

(32)

モデリングのイメージ

• モデリング

‒ 実現したい目標を 具体化 可視化 詳細化

‒ 設計図を作ること!!

優勝 するぞ!

! 遠い "

実現!

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット やりたい

こと?

ロボットの組み立て

 (ーー)

PAD

コーディング

(33)

モデリングのイメージ

• モデリング

‒ 実現したい目標を 具体化 可視化 詳細化

‒ 設計図を作ること!!

優勝 するぞ!

! 遠い "

実現!

P.148

task main()

{ SetSensorLight(IN_3);

while(true) {

if(Sensor(IN_3) > 40){

OnFwd(OUT_C, 75);

Off(OUT_A);

} else{

OnFwd(OUT_A, 75);

Off(OUT_C);

} } }

プログラム+ロボット やりたい

こと?

ロボットの組み立て

 (ーー)

PAD

コーディング

モデリング

(設計図)

(34)

■演習問題9-1. に挑戦!

■モデルの評価方法を参考に...P.159

P.160

参照

関連したドキュメント

『サンスクリット文法』 (岩波書店〈岩波全書〉、 1974、のち新装版 ) 、および『サンス クリット読本』 (春秋社, 1975

TRIP : Transformation induced plasticity HTSS : High tensile strength steel DP : Dual phase.. ERW : Electric resistance welding HAZ : Heat

碇石等の写真及び情報は 2011 年 7 月、萩市大井 1404、萩市大井公民館長の吉屋安隆さん、大井ふる

第四章では、APNP による OATP2B1 発現抑制における、高分子の関与を示す事を目 的とした。APNP による OATP2B1 発現抑制は OATP2B1 遺伝子の 3’UTR

歌雄は、 等曲を国民に普及させるため、 1908年にヴァイオリン合奏用の 箪曲五線譜を刊行し、 自らが役員を務める「当道音楽会」において、

|﹁ひとつむすびてはゆひ︐I︑して﹂

び3の光学活`性体を合成したところ,2は光学異`性体間でほとんど活'性差が認め

著者 磯崎 博司.