Enviar búsqueda
Cargar
SAKURAボードでお手軽マルチタスク環境
•
1 recomendación
•
3,475 vistas
Bizan Nishimura
Seguir
2013.5.18 第1回 FUJI-SAKURAぷろじぇくとMTG 次期SAKURAボードへの提案というか妄想です。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 20
Descargar ahora
Descargar para leer sin conexión
Recomendados
ロボット用マイコンボードを設計してみた
ロボット用マイコンボードを設計してみた
Bizan Nishimura
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化
Bizan Nishimura
Maker Faire Tokyo 2012 のご報告など
Maker Faire Tokyo 2012 のご報告など
Bizan Nishimura
Pythonでルンバをペットにする闇の技術
Pythonでルンバをペットにする闇の技術
karaage0703
Inputとスパゲッティ
Inputとスパゲッティ
anba lioh
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
emakryo
Virtual Tsukuba Challenge on Unity について
Virtual Tsukuba Challenge on Unity について
Ryodo Tanaka
ROS搭載ラズパイでLチカしてみる
ROS搭載ラズパイでLチカしてみる
mozyanari
Recomendados
ロボット用マイコンボードを設計してみた
ロボット用マイコンボードを設計してみた
Bizan Nishimura
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化
Bizan Nishimura
Maker Faire Tokyo 2012 のご報告など
Maker Faire Tokyo 2012 のご報告など
Bizan Nishimura
Pythonでルンバをペットにする闇の技術
Pythonでルンバをペットにする闇の技術
karaage0703
Inputとスパゲッティ
Inputとスパゲッティ
anba lioh
rustdef: Rust on jupyter notebook
rustdef: Rust on jupyter notebook
emakryo
Virtual Tsukuba Challenge on Unity について
Virtual Tsukuba Challenge on Unity について
Ryodo Tanaka
ROS搭載ラズパイでLチカしてみる
ROS搭載ラズパイでLチカしてみる
mozyanari
[DL Hacks]DL Hacks LTHSRの紹介
[DL Hacks]DL Hacks LTHSRの紹介
Deep Learning JP
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
Ryodo Tanaka
Mbed gps logger_20101105
Mbed gps logger_20101105
Toshihisa Tanaka
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
Hirokazu Onomichi
タミヤのカムロボを改造中 micro:bit編
タミヤのカムロボを改造中 micro:bit編
Yasuhisa Hironaka
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Sugawara Genki
Web標準技術だけでロボ
Web標準技術だけでロボ
Wakasa Masao
Making a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKit
Lina Katayose
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Kazuhiro Takahashi
ラジコンをROSで制御してみた
ラジコンをROSで制御してみた
shohaga
VR/AR, UX and robotics
VR/AR, UX and robotics
UnityTechnologiesJapan002
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
これまでの制作物いろいろ+ Quadruptor
これまでの制作物いろいろ+ Quadruptor
Teng Tokoro
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアーム
Masuda Tomoaki
JTF 2013
JTF 2013
Yasuhiro Asaka
超小型クアッドロータ "Quadruptor" の製作とその制御
超小型クアッドロータ "Quadruptor" の製作とその制御
Teng Tokoro
Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御
Masuda Tomoaki
ARKit native or unity
ARKit native or unity
shimada tatsuya
Raspberry pisym
Raspberry pisym
openrtm
3 Dプリンタでロボットを作ろう_プレンプロジェクト
3 Dプリンタでロボットを作ろう_プレンプロジェクト
Natsuo Akazawa
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
三七男 山本
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Joe_noh
Más contenido relacionado
La actualidad más candente
[DL Hacks]DL Hacks LTHSRの紹介
[DL Hacks]DL Hacks LTHSRの紹介
Deep Learning JP
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
Ryodo Tanaka
Mbed gps logger_20101105
Mbed gps logger_20101105
Toshihisa Tanaka
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
Hirokazu Onomichi
タミヤのカムロボを改造中 micro:bit編
タミヤのカムロボを改造中 micro:bit編
Yasuhisa Hironaka
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Sugawara Genki
Web標準技術だけでロボ
Web標準技術だけでロボ
Wakasa Masao
Making a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKit
Lina Katayose
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Kazuhiro Takahashi
ラジコンをROSで制御してみた
ラジコンをROSで制御してみた
shohaga
VR/AR, UX and robotics
VR/AR, UX and robotics
UnityTechnologiesJapan002
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
これまでの制作物いろいろ+ Quadruptor
これまでの制作物いろいろ+ Quadruptor
Teng Tokoro
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアーム
Masuda Tomoaki
JTF 2013
JTF 2013
Yasuhiro Asaka
超小型クアッドロータ "Quadruptor" の製作とその制御
超小型クアッドロータ "Quadruptor" の製作とその制御
Teng Tokoro
Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御
Masuda Tomoaki
ARKit native or unity
ARKit native or unity
shimada tatsuya
Raspberry pisym
Raspberry pisym
openrtm
3 Dプリンタでロボットを作ろう_プレンプロジェクト
3 Dプリンタでロボットを作ろう_プレンプロジェクト
Natsuo Akazawa
La actualidad más candente
(20)
[DL Hacks]DL Hacks LTHSRの紹介
[DL Hacks]DL Hacks LTHSRの紹介
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
Mbed gps logger_20101105
Mbed gps logger_20101105
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
タミヤのカムロボを改造中 micro:bit編
タミヤのカムロボを改造中 micro:bit編
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
Web標準技術だけでロボ
Web標準技術だけでロボ
Making a Drone by Python using RaspberryPi and Google VoiceKit
Making a Drone by Python using RaspberryPi and Google VoiceKit
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
Raspberry pi で スマホリモコンでラジコンカーを動かすさっと動かす編
ラジコンをROSで制御してみた
ラジコンをROSで制御してみた
VR/AR, UX and robotics
VR/AR, UX and robotics
Building Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
これまでの制作物いろいろ+ Quadruptor
これまでの制作物いろいろ+ Quadruptor
Raspberry piで動かすロボットアーム
Raspberry piで動かすロボットアーム
JTF 2013
JTF 2013
超小型クアッドロータ "Quadruptor" の製作とその制御
超小型クアッドロータ "Quadruptor" の製作とその制御
Raspberry pi+mono を使ってlegoを制御
Raspberry pi+mono を使ってlegoを制御
ARKit native or unity
ARKit native or unity
Raspberry pisym
Raspberry pisym
3 Dプリンタでロボットを作ろう_プレンプロジェクト
3 Dプリンタでロボットを作ろう_プレンプロジェクト
Similar a SAKURAボードでお手軽マルチタスク環境
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
三七男 山本
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Joe_noh
Golang, make and robotics #gocon
Golang, make and robotics #gocon
Hideyuki TAKEI
札幌シムトラ学会 発表資料
札幌シムトラ学会 発表資料
myagami
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Nico-Tech Shenzhen/ニコ技深圳コミュニティ
Ltマイコン2011
Ltマイコン2011
Issey Matsumoto
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
三七男 山本
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Hiroaki Kaneda
あぐりログでSORACOMをどう使っているか
あぐりログでSORACOMをどう使っているか
MitsuyoshiOki
Fuji-SAKURA MTG発表資料
Fuji-SAKURA MTG発表資料
三七男 山本
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
SORACOM UG 農業活用コミュニティ #1 オープニング
SORACOM UG 農業活用コミュニティ #1 オープニング
Koichiro Oki
Raspberry pi最新情報アップデート&いろいろ比較
Raspberry pi最新情報アップデート&いろいろ比較
Masafumi Ohta
サイタマッパー活動報告2015
サイタマッパー活動報告2015
Kazuho Ohta
6層基板を作ってみた.pdf
6層基板を作ってみた.pdf
AkiraNagai4
Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003
cat sin
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
Tetsuya Noguchi
Similar a SAKURAボードでお手軽マルチタスク環境
(17)
IoTLT 大阪 Vol.6
IoTLT 大阪 Vol.6
@nukokusa_botを支える技術
@nukokusa_botを支える技術
Golang, make and robotics #gocon
Golang, make and robotics #gocon
札幌シムトラ学会 発表資料
札幌シムトラ学会 発表資料
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Ltマイコン2011
Ltマイコン2011
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
あぐりログでSORACOMをどう使っているか
あぐりログでSORACOMをどう使っているか
Fuji-SAKURA MTG発表資料
Fuji-SAKURA MTG発表資料
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
SORACOM UG 農業活用コミュニティ #1 オープニング
SORACOM UG 農業活用コミュニティ #1 オープニング
Raspberry pi最新情報アップデート&いろいろ比較
Raspberry pi最新情報アップデート&いろいろ比較
サイタマッパー活動報告2015
サイタマッパー活動報告2015
6層基板を作ってみた.pdf
6層基板を作ってみた.pdf
Androidでロボットを動かそう・すまべん関西201003
Androidでロボットを動かそう・すまべん関西201003
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
Más de Bizan Nishimura
光る縄文土器を作る
光る縄文土器を作る
Bizan Nishimura
IoT渾天儀で太陽の運行を知る
IoT渾天儀で太陽の運行を知る
Bizan Nishimura
ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子
Bizan Nishimura
GR-MANGOでEtherCAT
GR-MANGOでEtherCAT
Bizan Nishimura
TeXで多言語文書作成! (2011年ごろの資料)
TeXで多言語文書作成! (2011年ごろの資料)
Bizan Nishimura
GR-SAKURAでEtherCAT
GR-SAKURAでEtherCAT
Bizan Nishimura
だんグラ用お玉コントローラ
だんグラ用お玉コントローラ
Bizan Nishimura
可視光を利用したIoTエッジデバイスとの通信
可視光を利用したIoTエッジデバイスとの通信
Bizan Nishimura
IoTマニ車でクラウドに功徳を積む
IoTマニ車でクラウドに功徳を積む
Bizan Nishimura
Arduino系IDE設定切替ツール inoSwitch
Arduino系IDE設定切替ツール inoSwitch
Bizan Nishimura
二足歩行ロボットKXR-L2をGR-ROSEで動かす
二足歩行ロボットKXR-L2をGR-ROSEで動かす
Bizan Nishimura
ラジコンで演奏する楽器
ラジコンで演奏する楽器
Bizan Nishimura
CANとCANopen
CANとCANopen
Bizan Nishimura
GRでシリアルサーボ
GRでシリアルサーボ
Bizan Nishimura
Esp8266でラジコン基板
Esp8266でラジコン基板
Bizan Nishimura
BLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみた
Bizan Nishimura
ミニ四足 ~歩くミニ四駆~
ミニ四足 ~歩くミニ四駆~
Bizan Nishimura
SerialScreen
SerialScreen
Bizan Nishimura
mrubyでC使う? Cでmruby使う?
mrubyでC使う? Cでmruby使う?
Bizan Nishimura
GR-KURUMIで倒立振子
GR-KURUMIで倒立振子
Bizan Nishimura
Más de Bizan Nishimura
(20)
光る縄文土器を作る
光る縄文土器を作る
IoT渾天儀で太陽の運行を知る
IoT渾天儀で太陽の運行を知る
ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子
GR-MANGOでEtherCAT
GR-MANGOでEtherCAT
TeXで多言語文書作成! (2011年ごろの資料)
TeXで多言語文書作成! (2011年ごろの資料)
GR-SAKURAでEtherCAT
GR-SAKURAでEtherCAT
だんグラ用お玉コントローラ
だんグラ用お玉コントローラ
可視光を利用したIoTエッジデバイスとの通信
可視光を利用したIoTエッジデバイスとの通信
IoTマニ車でクラウドに功徳を積む
IoTマニ車でクラウドに功徳を積む
Arduino系IDE設定切替ツール inoSwitch
Arduino系IDE設定切替ツール inoSwitch
二足歩行ロボットKXR-L2をGR-ROSEで動かす
二足歩行ロボットKXR-L2をGR-ROSEで動かす
ラジコンで演奏する楽器
ラジコンで演奏する楽器
CANとCANopen
CANとCANopen
GRでシリアルサーボ
GRでシリアルサーボ
Esp8266でラジコン基板
Esp8266でラジコン基板
BLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみた
ミニ四足 ~歩くミニ四駆~
ミニ四足 ~歩くミニ四駆~
SerialScreen
SerialScreen
mrubyでC使う? Cでmruby使う?
mrubyでC使う? Cでmruby使う?
GR-KURUMIで倒立振子
GR-KURUMIで倒立振子
Último
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
Último
(9)
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
SAKURAボードでお手軽マルチタスク環境
1.
SAKURAボードユーザ会 関西連絡会 西村備山 SAKURAボード で お手軽マルチタスク環境
2.
自己紹介 西村備山 (@lipoyang) ■組込み系のソフト屋 ■おもにC/C++ ■たまにC#やJava ■趣味でロボットなど製作 ■ツンデレ萌え
3.
GR-SAKURA 茶運び人形ロボ Bluetoothで スマホから操作 ・ステッピングモータ ×2 ・ラジコンサーボ
×6 ・ゆっくりチップ(音声) 過去の作例
4.
GR-KURUMI ミニ四駆ラジコン ・マブチモータ制御 ・サーボでステアリング Bluetoothで スマホから操縦 過去の作例
5.
最近は戦車道 タミヤツインモーター ギアボックス改造
6.
Arduinoへの不満 処理が終わるまで帰ってこない → その間、他のことができない loopでポーリングなのに APIはブロッキング処理 ここから本題
7.
具体例:ステッピングモータ Stepper stepper( 一回転のステップ数, ピン1,ピン2,ピン3,ピン4
); stepper.setSpeed( 回転数[RPM] ); stepper.step( ステップ数 ); 指定したステップ数回転するまで帰ってこない。 ( 一回転100ステップ、回転数1RPMで 100ステップを指定すると1分間ブロック )
8.
ロボットに使う場合… 走行中、センシングも通信も中断されちゃう! For better control,
keep the speed high and only go a few steps with each call to step(). (Arduino Reference) そうではなく、並行処理したい!
9.
マイコンでの並行処理 ・OSなし → ステートマシン設計 長所:特別な知識・費用いらない スペック低くてもOK 短所:超巨大switch文 (処理の流れが非常に読みにくい) ・OSあり
→ マルチタスク 長所:並行処理をスッキリ記述できる 短所:スペック要求(RAM、ROM、処理能力) OSの知識・有償のOSなら費用がいる
10.
OSなしでの並行処理 メインループ{ 処理1(); 処理2(); 処理3(); } 必ず短時間で関数を抜けること → ブロッキング処理は不可 →
複雑なステートマシンになる
11.
OSをつかった並行処理 // OSがないとき switch(state){ case READY: if(
command == STEP100 ){ stepper.start(); state = MOVING; } break; case MOVING: if(stepper.count() >= 100){ stepper.stop(); state = READY; } break; } // OSがあるとき while (true){ if( command == STEP100 ){ stepper.start(); while(stepper.count() < 100){ SleepTask(10); } stepper.stop(); } } OSが関数をいったん中断して 他のタスクに処理を移してくれる
12.
マルチタスクOSの課題 (1) マイコンのスペック要求(メモリ、処理能力) → ARM
Cortex-M3クラスなら無問題! (2) OSの知識が必要 & コンフィグがめんどくさい → Arduino文化には馴染まない もっとお手軽にマルチタスクを!
13.
むかし自作した簡易OS AVRIL-TAN(あぶりるたん) … APIは9個だけ API
説明 CreateTask タスクを生成する StartTask 指定IDのタスクの開始(実行待ち状態へ) ExitTask 自タスクの停止(休止状態へ) SleepTask 自タスクを指定時間だけスリープ(待ち状態へ) RotateTask 次のタスクへ処理を移す(自タスクは実行待ち状態へ) WaitFlag 自タスクを指定IDのイベントフラグ待ちにする(待ち状態へ) PollFlag 指定IDのイベントフラグのポーリング SetFlag 指定IDのイベントフラグのセット ClearFlag 指定IDのイベントフラグのクリア
14.
簡易OSを用いた記述 #define ID_TASK_HOGE 0 void
taskHoge() { 処理; } void setup() { 初期設定; CreateTask( ID_TASK_HOGE, taskHoge ); StartTask( ID_TASK_HOGE ); }
15.
OSをクラスで隠蔽 class : public
Task { public: void run () { 処理; } } taskHoge; void setup() { 初期設定; taskHoge.start(); }
16.
もっとシンプルに! @task taskHoge() { 処理; } void
setup() { 初期設定; taskHoge.start(); } 簡潔な記法 ↓ プリプロセッサで展開
17.
タスク制御のメソッド @taskオブジェクトのメソッド start() タスクを開始する (実行待ち状態へ) startCycle(周期)
周期タスクを開始する (待ち状態へ) startOneShot() ワンショットタスクを開始する (待ち状態へ) exit() タスクを停止する (休止状態へ) sleep() sleep(期間) タスクを(指定時間だけ)スリープ (待ち状態へ) wakeup() タスクをスリープから復帰させる (実行待ち状態へ) waitFlag(フラグ) タスクをイベントフラグ待ちにする (待ち状態へ) yield() タスクを強制中断する (実行待ち状態へ)
18.
Easy Multitasking RTOS クラスライブラリ プリプロセッサ マルチタスク機能を提供 C++クラスで隠蔽 簡潔な@task記法
19.
最後に… ユーザー会の手でOSやライブラリなどを 開発していくなら… オンボードJTAGデバッガ ぜひ載せてほしい!
20.
以上 ご清聴ありがとうございました 妄想乙でした
Descargar ahora