Enviar búsqueda
Cargar
C#/Java & Linux で始める ET ロボコン
•
2 recomendaciones
•
3,570 vistas
Shin-ya Koga
Seguir
6/13(土)の OSC 2015 Hokkaido で行った ET ロボコンの紹介セミナーで使ったスライド。
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 25
Descargar ahora
Descargar para leer sin conexión
Recomendados
C#/Java & Linux で始める ET ロボコン(leJOS編)
C#/Java & Linux で始める ET ロボコン(leJOS編)
Minoru Inachi
ETロボコンのすすめ
ETロボコンのすすめ
Hiroyuki Takahashi
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
自律走行ロボットをプログラミングするということ ~ETロボコンの場合~
Shin-ya Koga
2017 05-21.overview
2017 05-21.overview
Shin-ya Koga
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
Takuya Azumi
mrubyでETロボコンに出よう
mrubyでETロボコンに出よう
yamanekko
TOPPERSプロジェクト紹介 OSC2016京都
TOPPERSプロジェクト紹介 OSC2016京都
Takuya Azumi
2015 summercamp 08
2015 summercamp 08
openrtm
Más contenido relacionado
La actualidad más candente
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
Koichi Sakata
AngulaとElixirの新しい関係
AngulaとElixirの新しい関係
陸 谷出
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
Shinichiro Yoshida
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
Shinichiro Yoshida
2015 summercamp 04
2015 summercamp 04
openrtm
2013 summercamp 02
2013 summercamp 02
openrtm
2015 summercamp 01
2015 summercamp 01
openrtm
RTM on Androidの紹介
RTM on Androidの紹介
openrtm
2013 summercamp 04
2013 summercamp 04
openrtm
Portable RT-Middleware environment on a USB memory for the robot programing ...
Portable RT-Middleware environment on a USB memory for the robot programing ...
s15mh218
自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
Shogo Namatame
2015 summercamp 09
2015 summercamp 09
openrtm
Rtm・ros相互運用プログラミング環境
Rtm・ros相互運用プログラミング環境
openrtm
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
徹 上野山
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
2017 06-04.overview
2017 06-04.overview
Shin-ya Koga
2013 summercamp 05
2013 summercamp 05
openrtm
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
Ransui Iso
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
openrtm
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
Yusuke Naka
La actualidad más candente
(20)
Introduction to JIT Compiler in JVM
Introduction to JIT Compiler in JVM
AngulaとElixirの新しい関係
AngulaとElixirの新しい関係
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
2015 summercamp 04
2015 summercamp 04
2013 summercamp 02
2013 summercamp 02
2015 summercamp 01
2015 summercamp 01
RTM on Androidの紹介
RTM on Androidの紹介
2013 summercamp 04
2013 summercamp 04
Portable RT-Middleware environment on a USB memory for the robot programing ...
Portable RT-Middleware environment on a USB memory for the robot programing ...
自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
2015 summercamp 09
2015 summercamp 09
Rtm・ros相互運用プログラミング環境
Rtm・ros相互運用プログラミング環境
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
2017 06-04.overview
2017 06-04.overview
2013 summercamp 05
2013 summercamp 05
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
Destacado
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
Shin-ya Koga
EV3 + MonoBrick + C#
EV3 + MonoBrick + C#
Masuda Tomoaki
Mid-term presentation
Mid-term presentation
Yuta Goto
Etロボコンのすゝめ
Etロボコンのすゝめ
kichimura
TOPPERS TECS WG 2016
TOPPERS TECS WG 2016
Hiroshi Oyama
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
Hironobu Fujiyoshi
Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3
Hironobu Fujiyoshi
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
Yoshifumi Kawai
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
Build Features, Not Apps
Build Features, Not Apps
Natasha Murashev
Destacado
(10)
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
EV3 + MonoBrick + C#
EV3 + MonoBrick + C#
Mid-term presentation
Mid-term presentation
Etロボコンのすゝめ
Etロボコンのすゝめ
TOPPERS TECS WG 2016
TOPPERS TECS WG 2016
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
ROSを核としたロボティクス教育(中部大学ロボット理工学科の紹介)
Tutorial for robot programming with LEGO mindstorms EV3
Tutorial for robot programming with LEGO mindstorms EV3
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
Build Features, Not Apps
Build Features, Not Apps
Similar a C#/Java & Linux で始める ET ロボコン
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
Atsuhiro Kubo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
智治 長沢
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
David Buck
Spring I/O 2015 報告
Spring I/O 2015 報告
Takuya Iwatsuka
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Takuto Wada
Lpicl304Seminar Presentations on 20150118
Lpicl304Seminar Presentations on 20150118
Takahiro Kujirai
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
Yuki Tsuchitoi
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
Atsuhiro Kubo
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
Kengo Okitsu
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
Androidテスティング実践3 ユニットテスト・CI編
Androidテスティング実践3 ユニットテスト・CI編
株式会社 NTTテクノクロス
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727
Takahiro Kujirai
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
Atomu Hidaka
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞
DMM.com
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
Yoshimasa Tanabe
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
智治 長沢
1.コース概要
1.コース概要
openrtm
Similar a C#/Java & Linux で始める ET ロボコン
(20)
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Spring I/O 2015 報告
Spring I/O 2015 報告
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
SeasarCon 2009 White TDD
SeasarCon 2009 White TDD
Lpicl304Seminar Presentations on 20150118
Lpicl304Seminar Presentations on 20150118
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
BridgePointを使ったモデル駆動開発(ETロボコン環境のご紹介)
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
java-ja TDD 2nd
java-ja TDD 2nd
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
第六回コンテナ型仮想化情報交換会_LinuxContainerLivemigrationCRIU
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Androidテスティング実践3 ユニットテスト・CI編
Androidテスティング実践3 ユニットテスト・CI編
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727
.NET Micro Framework is my spirit.
.NET Micro Framework is my spirit.
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
.NET アプリを改善して実践する継続的インテグレーション
.NET アプリを改善して実践する継続的インテグレーション
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
1.コース概要
1.コース概要
Más de Shin-ya Koga
2022-09-15.studyMeeting.pdf
2022-09-15.studyMeeting.pdf
Shin-ya Koga
2021 12-02.koga.lecture note-revised
2021 12-02.koga.lecture note-revised
Shin-ya Koga
2021 10-12.linx device-tree
2021 10-12.linx device-tree
Shin-ya Koga
品質管理グループ Linux 勉強会
品質管理グループ Linux 勉強会
Shin-ya Koga
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
Shin-ya Koga
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
Shin-ya Koga
2014年の社内新人教育テキスト #1(プログラミング言語概論)
2014年の社内新人教育テキスト #1(プログラミング言語概論)
Shin-ya Koga
2019 05-19.overview
2019 05-19.overview
Shin-ya Koga
2018 08-31.946oss revised
2018 08-31.946oss revised
Shin-ya Koga
正解は一つじゃない:選択肢と最適解
正解は一つじゃない:選択肢と最適解
Shin-ya Koga
Universal Apps (UWP)
Universal Apps (UWP)
Shin-ya Koga
IoT あるじゃん北海道支部勉強会
IoT あるじゃん北海道支部勉強会
Shin-ya Koga
組み込みから IoT へ
組み込みから IoT へ
Shin-ya Koga
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoT
Shin-ya Koga
組み込みでもマルチコア。WEC2013での対応
組み込みでもマルチコア。WEC2013での対応
Shin-ya Koga
CLR/H 第 79 回勉強会での LT
CLR/H 第 79 回勉強会での LT
Shin-ya Koga
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Shin-ya Koga
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
Shin-ya Koga
2011 06-11.koga.osc lt
2011 06-11.koga.osc lt
Shin-ya Koga
Más de Shin-ya Koga
(19)
2022-09-15.studyMeeting.pdf
2022-09-15.studyMeeting.pdf
2021 12-02.koga.lecture note-revised
2021 12-02.koga.lecture note-revised
2021 10-12.linx device-tree
2021 10-12.linx device-tree
品質管理グループ Linux 勉強会
品質管理グループ Linux 勉強会
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #3(オブジェクト指向言語ふりかえり)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #2(関数型言語からオブジェクト指向言語へ)
2014年の社内新人教育テキスト #1(プログラミング言語概論)
2014年の社内新人教育テキスト #1(プログラミング言語概論)
2019 05-19.overview
2019 05-19.overview
2018 08-31.946oss revised
2018 08-31.946oss revised
正解は一つじゃない:選択肢と最適解
正解は一つじゃない:選択肢と最適解
Universal Apps (UWP)
Universal Apps (UWP)
IoT あるじゃん北海道支部勉強会
IoT あるじゃん北海道支部勉強会
組み込みから IoT へ
組み込みから IoT へ
デバイスからクラウドへ ~組み込みエンジニアと IoT
デバイスからクラウドへ ~組み込みエンジニアと IoT
組み込みでもマルチコア。WEC2013での対応
組み込みでもマルチコア。WEC2013での対応
CLR/H 第 79 回勉強会での LT
CLR/H 第 79 回勉強会での LT
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
2011 06-11.koga.osc lt
2011 06-11.koga.osc lt
C#/Java & Linux で始める ET ロボコン
1.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. C#/Java & Linux で始める ET ロボコン ET ロボコン北海道地区大会 実行委員会
2.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. ETロボコン2015競技内容 1 プライマリー アドバンスト イノベーター部門 走行体 コース 難易度は2014年同様 ハイレベルな課題 指定なし 自由度向上 デ ベ ロ ッ パ ー 部 門 ベーシック 難所 少 ベーシック 難所 多 ショートカット ダイナミック パフォーマ ンス エリア 助走なし プレゼン重視
3.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 目的 若手技術者や学生向けの学習の場を提供・育成 開催概要 自律走行ロボットの、走行実技と設計を競う 年間スケジュール 実施説明会(3/B)~参加申し込み(4/M) 技術教育1、2 (5/M~6/B) 試走会1、2(8、9月) モデル提出~モデル審査(9/M~10/B) 地区大会実技コンテスト(一般公開)(9/M~10/B) どんなコンテスト?
4.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 目的 若手技術者や学生向けの学習の場を提供・育成 開催概要 自律走行ロボットの、走行実技と設計を競う 年間スケジュール 実施説明会(3/B)~参加申し込み(4/M) 技術教育1、2 (5/M~6/B) 試走会1、2(8、9月) モデル提出~モデル審査 地区大会実技コンテスト(一般公開)(9/M~10/B) 全国チャンピオンシップ大会(11/M @横浜) どんなコンテスト?
5.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 2015年 参加チーム 4 地区大会 参加チーム数 地区大会 参加可能チーム数 北海道 15 北陸 12 東北 25 関西 31 北関東 25 中四国 24 東京 83 九州北 24 南関東 31 九州南 10 東海 44 沖縄 22 2015年 参加チーム数 346
6.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 部門構成と変遷 2013: アーキテクト部門の創設(※2015名称変更) 2014: ディベロッパー部門のクラス分け 新走行体(トライク型)を導入 2015: 新プラットフォームの導入(移行) LEGO Mindstorms NXT から EV3 へ ARM7 48MHz → ARM9 300MHz (64KB → 16MB) Linux ベースのプラットフォームにも対応 公式プラットフォーム: RTOS (TOPPERS EV3RT) 認定プラットフォーム: leJOS (Java), MonoBrick (C#) 5
7.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 部門構成と変遷 2013: アーキテクト部門の創設(※2015名称変更) 2014: ディベロッパー部門のクラス分け 新走行体(トライク型)を導入 2015: 新プラットフォームの導入(移行) LEGO Mindstorms NXT から EV3 へ ARM7 48MHz → ARM9 300MHz (64KB → 16MB) Linux ベースのプラットフォームにも対応 公式プラットフォーム: RTOS (TOPPERS EV3RT) 認定プラットフォーム: leJOS (Java), MonoBrick (C#) 6 EV3way(二輪倒立振子): プライマリークラス ETrikeV(トライク型): アドバンストクラス
8.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. ETロボコン2015競技内容 7 プライマリー アドバンスト イノベーター部門 走行体 コース 難易度は2014年同様 ハイレベルな課題 指定なし 自由度向上 デ ベ ロ ッ パ ー 部 門 ベーシック 難所 少 ベーシック 難所 多 ショートカット ダイナミック パフォーマ ンス エリア 助走なし プレゼン重視
9.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. ETロボコン2015競技内容 8 プライマリー アドバンスト イノベーター部門 走行体 コース 難易度は2014年同様 ハイレベルな課題 指定なし 自由度向上 デ ベ ロ ッ パ ー 部 門 ベーシック 難所 少 ベーシック 難所 多 ショートカット ダイナミック パフォーマ ンス エリア 助走なし プレゼン重視
10.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. ETロボコン2015競技内容 9 プライマリー アドバンスト イノベーター部門 走行体 コース 難易度は2014年同様 ハイレベルな課題 指定なし 自由度向上 デ ベ ロ ッ パ ー 部 門 ベーシック 難所 少 ベーシック 難所 多 ショートカット ダイナミック パフォーマ ンス エリア 助走なし プレゼン重視
11.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. ETロボコン2015部門構成 10 プライマリー クラス アドバンスト クラス イノベーター部門 1.対象となる エンジニア明確に 2.学ぶステップを 明確に、 より教育効果を 高める デ ベ ロ ッ パ | 部 門 基礎 応用 生み出す 部門名称変更
12.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 公式サポートする開発環境 11 項目 NXT EV3 名称 nxtOSEK EV3RT MonoBrick leJOS OS種別 TOPPERSリアルタイム Linux 言語 C、C++ C、C++ C# Java 統合 開発環境 - - Mono- Develop Eclipse デバッガ - - ◯ ◯ プログラム 転送 USB cable SDカード Bluetooth USB cable Bluetooth WiFi USB cable Bluetooth WiFi EV3開発環境構築ガイド https://sourceforge.net/p/etroboev3/wiki/ ※実行委員会によるサポートは行われないが、上記以外の環境でも参加は可能(Ruby、Python等)
13.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. サンプルコードとデモ http://sourceforge.net/p/etroboev3/code/ci/m aster/tree/SampleCode/ 12
14.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. サンプルコードとデモ http://sourceforge.net/p/etroboev3/code/ci/m aster/tree/SampleCode/ 13
15.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. RTOS について Linux に比べて何かいいことあるの? どんな特徴があるの? 14
16.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. C# (MonoBrick) の場合 15 // 2輪倒立振子ライントレースロボットの MonoBrick 用 c# サンプルプログラム。 namespace ETTobocon.EV3.Sample { class MainClass { ... static void run(EV3body body, NetworkStream connection){ int battery = Brick.GetVoltageMilliVolt(); float forward = 0.0F; float turn = 0.0F; ... while (! body.touch.IsPressed()) { ... int gyroNow = body.gyro.Read(); // gyro right int thetaL = body.motorL.GetTachoCount(); int theTaR = body.motorR.GetTachoCount(); sbyte pwmL, pwmR; Balancer.control( (float)forward, (float)turn, (float)gyroNow, (float)GYRO_OFFSET, (float)thetaL, (float)theTaR, (float)battery, out pwmL, out pwmR); body.motorL.SetPower(pwmL); body.motorR.SetPower(pwmR); // バランス制御のみだと3msecで安定 // 尻尾制御と障害物検知を使用する場合2msecで安定 Thread.Sleep(2); } } ... } } 本来は、4ms 周期で倒立振子制御動作を 行わなければならない!
17.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. C# (MonoBrick) の場合 16 時間応答性が正確ではない: - 仮想マシン方式のプログラム実行(C#, Java) - 汎用OS (Linux) の特性
18.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. RTOS (EV3RT, nxtOSEK) Real Time Operating System 17
19.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 18 代表的な仕組み RTOS とは 特徴:リアルタイム応答性能 一定時間内に、指定した動作を実行 倒立振子制御など、時間制約の厳しい処理に適している アプリケーションプログラムの実行 アプリケーションが OS と一体になるものも アプリケーションを一つしか動かせない場合も 汎用 OS (Linux, Windows, OS X, etc.) との比較 動作の「軽さ」(起動時間、応答時間): ◎ マルチプロセス、動的ロード、仮想記憶の有無:△ メモリ保護、カーネル(OS 本体)保護の有無: △ タスク(スレッド)切り替えや割り込み 応答の時間をなるべく短くするために、 汎用 OS に比べると、機能に制限があり ます。 汎用 OS に比べると 制限がある反面、低 機能なプロセッサで も十分動く!
20.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 19 代表的な仕組み リアルタイム制御 実現要素 タスクと割り込み通知 タスク:汎用 OS のスレッドに相当 定周期動作:一定の時間間隔で動作を実行 実現方策(定周期動作) ループ内でのスリープ 一定の時間間隔になるようスリープ関数で調整 周期起動タスク・周期ハンドラ 一定周期で繰り返し起動(実行)されるタスク 周期アラームによる起床 + ループ中での休止 ハードウェアによる割り込みを OS が応答処理。 OS が、必要に応じてアプリケーションのタスクに 通知(アラームやイベントフラグの発火)。 汎用 OS とは異なり、 RTOS では、このタイ ミングが極めて正確で す。 RTOS でのプログラミング:タスクが 実行する処理を、関数として実装 複数の定周期動作を行う場合(例:倒立振子制御と Bluetooth 通信)、一つのタスクでスリープ関数を 使うだけでは、正確なタイミング合わせが難しい。 複数のタスクを 動かす時の方策 RTOS は、タスク起動のオーバーヘッドが 小さいので、数[ms]おきでも問題ない。 スリープ関数なし でも大丈夫。 複数のタスクが存在する場合、最も優先度の高いタスクに CPU が割り当 てられて実行され、そのタスクが終了したり待ち状態になるまで、それよ り低い優先度のタスクは実行されません:絶対優先度(RTOS の特徴)
21.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 20 EV3RT と nxtOSEK EV3RT の特徴 カーネル保護/メモリ保護 アプリケーションの動的ローディング 実行開始点(エントリポイント) nxtOSEK 特徴 カーネル保護/メモリ保護:無し アプリケーションと OS が結合 開発環境とハードウェア(NXT) C/C++ コンパイラのバージョン 搭載メモリ量による制約(Flash メモリ、RAM) 一般的な C/C++ プログラムとは違い、main() ルーチンでは なく、(メインタスクの)タスク関数から実行が始まります。 より正確に言うと、コンフィグレーショ ンファイル(.cfg)で設定されたタスク のうち、起動状態での生成を指定された ものの中で、最高優先度のタスクが最初 に実行されます。EV3RT では、API 内 部の初期化タスクが最初に実行されます。 サンプルコードでは、main_task() を メインタスクのタスク関数として設定し ています(初期化タスクより低優先度)。 nxtOSEK に比べて良い点 少し古いバージョン(GCC 4.0)です。 サイズが大きいプログラムや、 メモリを多く使うプログラム は動きません。(EV3RT 比)
22.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. 21 EV3RT での開発 汎用 OS との違い タスク(スレッド)を動的に生成できない 他のカーネルオブジェクトも同様(アラームやイベントフラグ) コンフィグレーションファイル(.cfg) 静的 API の呼び出しを .cfg ファイルに記述して設定 .cfg ファイルをコンフィグレータで処理 アプリケーションの作成に必要なもの ソースファイルとヘッダファイル(.c, .cpp, .h, .hpp) コンフィグレーションファイル(.cfg) makefile(Makefile.inc, Makefile.app, Makefile.appmod) OS の動作を「軽く」するための制限。 全て、アプリケーション(や OS)の初期化時にしか生成できない! コンフィグレータが、.cfg の内容に従って初期化処理のコードを生成する。 make コマンドを使って ビルドします。 静的 API で生成。
23.
Copyright © 2015
ETロボコン実行委員会 All rights reserved. モデル審査について 22
24.
Copyright(c) ETロボコン実行委員会 All
rights reserved. 23 機能実現 表現 指定された機能を実現する ための構成・方法が 正しく記載されているか? モデルの内容が、正しく・ 分かりやすく記載されてい るか? 「ソフトウェアの内容をモデルで正しく表現」 することを重視した審査を行います • 選択した機能を実現するための方法が、 モデルで正しく分かり易く提示できていることを 審査します プライマリークラスの審査基準 ここが大事⇒ ⇐ここは前提
25.
Copyright(c) ETロボコン実行委員会 All
rights reserved. 24 「技術を応用するスキル」を競うために、高性能 を実現する制御技術と、それをソフトウェアとし て実現するための設計技術を評価します • 「未確定仕様への対応」では、段階的に確定される 仕様に対して、迅速に対応するための工夫がなされ ているか、を評価します アドバンストクラスの審査基準 ⇐ここに期待! 未確定 仕様への 対応 設計技術 制御技術 制御技術で記載された内容をソ フトウェアとして実現するため のアーキテクチャが十分に検討 されているか?機能を実現するために必要な 要素技術と、それらを使って コースをどのように走行する かの手順・方法が十分に検討 されているか? 段階的に確定される仕様に対 応して、ソフトウェアを効率 的に修正可能とするための工 夫がなされているか?
Descargar ahora