SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
動きのモデリング with Mindstorms
動きのモデリング with Mindstorms
久保秋 真(Shin Kuboaki)
kuboaki@gmail.com
2013/07/01 (C) 2013 Shin Kuboaki 1
諸事情により、実際に受けた方の観たスライドと
は若干異なりますが、あしからず…。
動きのモデリング with Mindstorms
Agenda
 Mindstormsがあるとできること
 Mindstormsの紹介
 いろいろな動くモノが制作できるよ
 モデルから作ったプログラムを動かしてみよう
 動きをみてモデルに表す演習
 システムの動きを見てモデルで表現しよう
 内部の構造を踏まえたモデルを考える
 構造の情報を付加してモデルを見なおそう
 モデルを見てロボットを動かす演習
 モデルを見てシステムの動きで表してみよう
2013/07/01 (C) 2013 Shin Kuboaki 2
動きのモデリング with Mindstorms
Mindstormsがあるとできること
2013/07/01 (C) 2013 Shin Kuboaki 3
動きのモデリング with Mindstorms
Mindstormsがあるとできること
 Mindstormsの紹介
 プログラムをビルドして転送して動かしてみるよ
 いろいろな動くモノが制作できる
 写真や動画などを紹介します
 作ったモデルが動かせる
 モデルを作ってコードにして動かすまでを紹介
 手動モデル変換
 MDDツールで自動生成(BridgePoint, BricRobo?)
今回はガマン。
2013/07/01 (C) 2013 Shin Kuboaki 4
動きのモデリング with Mindstorms
© The LEGO Group.
Mindstorms NXT
 レゴブロックを使ったロボット製作キット
 コンピュータ教育やロボット体験学習に活用
 小学校から大学、企業
 各種センサ、モーターが利用可能
 サードパーティ製もある
 ソフトウェア開発環境の提供
 Robolab、C言語、Java、その他
 クロス開発
 PCで開発し、ロボットに転送して動かす
光センサ タッチセンサ
サウンドセンサ サーボモータ
ジャイロセンサ カラーセンサ
超音波センサ
2013/07/01 (C) 2013 Shin Kuboaki 5
動きのモデリング with Mindstorms
インテリジェントブロック NXTの構成
 MPU: Atmel社の32bitのARM7(クロック48MHz)
 RAM: 64Kbyte、フラッシュメモリ 256Kbyte(プログラムとデータが入る)
 単3電池6本またはリチャージブルバッテリで動作
 コンピュータで作成したプログラムを、このNXTに転送して動かす
出力ポート(出力端子)【A、B、C】
サーボモータやランプを接続する
NXT液晶ディスプレイ
文字や記号などの情報を表示
する
NXTボタン
オレンジ色:オン/エンター/ラン
グレーの矢印:NXTメニューの移動
ダークグレー:クリア/戻る
USBポート
コンピュータと接続する
スピーカー
効果音などを鳴らす
入力ポート(入力端子)【1、2、3、4】
センサを接続する
Bluetooth
NXTとNXTの間で無線通信
ができる
2013/07/01 (C) 2013 Shin Kuboaki 6
動きのモデリング with Mindstorms
Robolabのプログラム
 Robolabのプログラムを見てみよう
 プログラムを作る様子を見てみよう
 実物が動くところを見てみよう
2013/07/01 (C) 2013 Shin Kuboaki 7
動きのモデリング with Mindstorms
C言語のプログラム
 C言語のプログラムを見てみよう
 プログラムを作る様子を見てみよう
 実物が動くところを見てみよう
他に、C++やJavaで開
発する環境があります。
2013/07/01 (C) 2013 Shin Kuboaki 8
動きのモデリング with Mindstorms
いろいろな動くモノを作れるよ
 仕掛けがスゴい!! LEGOテクニックの作品集
 http://matome.naver.jp/odai/2133432020257402401
 しばしお楽しみください…
2013/07/01 (C) 2013 Shin Kuboaki 9
動きのモデリング with Mindstorms
動きをみてモデルに表す演習
2013/07/01 (C) 2013 Shin Kuboaki 10
動きのモデリング with Mindstorms
振舞いを表すモデル(1)
 振舞いのモデル
 システムやプログラムがどのような働きや動きをするのか
を示すモデル
 ステートマシン図(状態遷移図・表のなかま)、シーケン
ス図、アクティビティ図などを使う
 ステートマシン図
 状態とイベントに着目して振舞いを整理する図
 イベントを待っている場所を状態と捉える
 イベントが発生(発火)したときに実行する処理がアクショ
ン
2013/07/01 (C) 2013 Shin Kuboaki 11
動きのモデリング with Mindstorms
振舞いを表すモデル(2)
 状態の候補(1)
 自分では起こせない事象を待つところ
 外部からの通知待ち、タイムアウト待ちなど
 状態の候補(2)
 同じイベントに対する処理が異なる場合、状況を分ける
条件が状態の候補になる(モード)
 コンポジット状態で表現する
 複数の状態において同じイベントによって同じ状態、同じ
処理へ遷移する場合
 コードにするときには工夫が必要
状態をチェックするテスト:
「何が起きるのを待っている
ところですか?」と問う
2013/07/01 (C) 2013 Shin Kuboaki 12
動きのモデリング with Mindstorms
Porterクラスの「状態」と「イベント」を洗い出そう
 使うもの
 ポストイット
 PROCKEYまたはマジック
 作業手順
 グループで作業する
 状態をポストイットに書き出す
 待っているイベントを考えて書き出す
 ある状態の処理(アクション)を考えて書き出す
 関連する状態とイベントとアクションを近くに寄せる
イベント
状態A
状態B
アクション
状態は…
自分で起こせない事象を待っている場所
同じ事象で異なる動作になる場所の区別
• Porterクラスのイベントは…
• 関連しているクラスの操作に
よって知ることができる
• Porterクラスのアクションは…
• 自分自身や関連しているクラ
スの操作を呼び出すこと
2013/07/01 (C) 2013 Shin Kuboaki 13
動きのモデリング with Mindstorms
動きをみてモデルに表す演習(1)
 では、予め作成済みのシステムの動きを見てもらい
ます
 Mindstormsで作成したロボットを動かします
 業務上の仕様は提供しませんので…
 私が口頭で説明することばにも注意をはらいましょう
 どんな動きか観測して、ポストイットにメモしましょう
 状態、イベント、アクションが着目点です
2013/07/01 (C) 2013 Shin Kuboaki 14
動きのモデリング with Mindstorms
(口頭で説明した)自動搬送業務の図解
1)荷物を受け取るのを待つ
2)バンパが押されるこ
とで運搬指示を受
け取ると、運搬を開
始する
配達先の壁
待機場所
3)経路に沿って
走行し、荷物
を運搬する
4)配達先の側壁を検
知すると停止する
車庫の壁
6)バンパが押されるこ
とで階層指示を受
け取ると、階層を
開始する
6)経路に沿って
走行し、回送
する
7)車庫の正面の
壁を検知する
と到着音を鳴
らして停止する
2013/07/01 (C) 2013 Shin Kuboaki 15
5)荷物が引き取られ
るのを待つ
動きのモデリング with Mindstorms
動きをみてモデルに表す演習(2)
 グループに分かれて演習しましょう
 システムの動きを動的モデルで表現しよう
 観測したポストイットを集めましょう
 話し合って、システムの動きを整理しましょう
 模造紙にステートマシン図を作成します
2013/07/01 (C) 2013 Shin Kuboaki 16
動きのモデリング with Mindstorms
Porterクラスのステートマシン図を描こう
 使うもの
 前のページで作成したポストイット
 模造紙
 PROCKEYまたはマジック
 作業手順
 グループで作業する
 模造紙に状態を配置する(状態名をつけるのは後でよい)
 配置した状態の間に待っているイベントを配置する
 状態と状態の間を状態遷移の線で描いて結ぶ
 遷移にイベントを割り当てる
 状態にアクションを寄り添わせる
 「起きるのを待っていること」か「起きるの待つ間やり続けていること」をもと
に状態名を決める
まず、なにかが起きるのを
待っている場所を状態とし
て認識し…
イベントとアクションが決まっ
てから状態名を決める
2013/07/01 (C) 2013 Shin Kuboaki 17
動きのモデリング with Mindstorms
…
ステートマシン図をまとめている様子
荷物が載った
荷物受け取り待ち
…
…する
最初の状態を指し示
すラベル
最後の状態を指し示
すラベル
ここが最初の状態
イベントの例
状態の例
アクションの例
状態遷移の例
…
ここが最後の状態
2013/07/01 (C) 2013 Shin Kuboaki 18
動きのモデリング with Mindstorms
みなさんのモデル図を見てみましょう
 Porterクラスには、どんな状態が見つかりましたか
 Porterクラスには、どんなイベントやアクションが見つ
かりましたか
 状態、イベント、アクションは、区別がついていますか
2013/07/01 (C) 2013 Shin Kuboaki 19
動きのモデリング with Mindstorms
ステートマシン図の例
2013/07/01 (C) 2013 Shin Kuboaki 20
動きのモデリング with Mindstorms
モデルを見てロボットを動かす演習
2013/07/01 (C) 2013 Shin Kuboaki 21
動きのモデリング with Mindstorms
仕様を変更します
 グループごとに違う仕様の変更を指示します
 変更に合わせてモデル図を修正しましょう
 修正したモデルを自分たちで確認してみましょう
 このあと、どんな演習をやったのかは、ナ・イ・ショ!
2013/07/01 (C) 2013 Shin Kuboaki 22
動きのモデリング with Mindstorms
まとめ
 Mindstormsがあると、いろんな動くモノが制作できる
 ロボットを使った業務のモデルを考えてみた
 内部の構造を踏まえてモデルを見なおしてみた
 与えられたモデルを見て業務やロボットの動きを考
えてみた
 動くものがあると、状態モデルで考える練習ができる
2013/07/01 (C) 2013 Shin Kuboaki 23
今回はガマン。
動きのモデリング with Mindstorms
分けたら名前がついた!
 分けることができると…
 分けたものに名前をつけることができる
 名前があると、分けたものを使うことができる
 名前をつけて使えれば、別の構造を作ることができる
 (数学ガール5巻より)
バンパPoter
transport
2013/07/01 (C) 2013 Shin Kuboaki 24
動きのモデリング with Mindstorms
手で書くときもモデルとコードの紐づけが重要
 UMLモデルとプログラムを結びつける技術
 UMLを使ったモデリングの技術
 プログラミングの技術
 上記2つの技術を結びつける部分が
モデル変換に相当
モデリング プログラミング
UMLを使う C言語を使う
プログラムによる制御
両方を結びつける技術
モデル変換技術
結びつける技術がモデル変換。
手動のコーディングであれ、
自動変換であれ、結びつける方
法や知識を表出化し、コード作
成の技術を非属人化し再利用
可能にする。
2013/07/01 (C) 2013 Shin Kuboaki 25
動きのモデリング with Mindstorms
参考資料
2013/07/01 (C) 2013 Shin Kuboaki 26
動きのモデリング with Mindstorms
オープンソースのMDDツール
 BridgePointのUMLエディタ部をオープンソース化
 Mentor Graphics社の発表(2012/04/18)
 http://www.mentorg.co.jp/products/sm/news/2012/120417.html
 Yakindu
 オープンソースのMDDツールキット
 http://www.yakindu.org/
 ステートマシン図(MDD的)、ブロック線図(MBD的)
 シミュレーション環境
 JavaやCのコード生成
2013/07/01 (C) 2013 Shin Kuboaki 27
動きのモデリング with Mindstorms
YAKINDUのシミュレーション
MDD_YAKINDU_Workbench.pdf より
BAIKEM Netzwerktreffen “Embedded Systems” – Munich/Germany , July 12th 2011
 BridgePointのベリファイアと同様のことが実行できる
 MBDツールのブロック線図と同様のことができる
2013/07/01 (C) 2013 Shin Kuboaki 28
動きのモデリング with Mindstorms
動きのモデリング with Mindstorms
久保秋 真(Shin Kuboaki)
kuboaki@gmail.com
― おしまい ―
2013/07/01 (C) 2013 Shin Kuboaki 29

Más contenido relacionado

Último

ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 

Último (12)

ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 

動きのモデリング With Mindstorms NXT