Upload
hideki-takase
View
617
Download
3
Embed Size (px)
Citation preview
github.com/tlk-emb/mROS
まずはじめに
これはROS1のネタです,,,
2
でも,ROS1ノードが組込みデバイスで動いたら
面白くないですか??(絶賛開発中なので言ったもの勝ちのところもあります)
そんな方はLet’s pull!!
github.com/tlk-emb/mROS
なぜROSを使うのか??
• ロボットシステムの開発支援フレームワーク
1. 分散システムを容易に構築できるPub/Sub通信
2. 強力かつ高機能なビルドシステムとツール群
3. オープンソースの豊富なパッケージ
4. 活発なコミュニティ活動
3
これはとっても使いやすい!!
ROS1ならこれも手軽に使いたい! でも高機能な
デバイスとLinuxが必要,,,
github.com/tlk-emb/mROS
ということでmROSを作ってます
4
オープンソースの既存パッケージが使えるかも!?
ROSノード
ROSノード
ROSmROS
ROSの通信プロトコルをサポート!ITRONでROS!
ROSの関数を使ってプログラミング可能
mROSが提供する機能 ROSマスタとの通信 ノード間でのpub/sub通信
ミッドレンジ組込みデバイス
github.com/tlk-emb/mROS
mROSの構成
5
ハードウェア
mbed
TOPPERS/ASPカーネル
mROS通信ライブラリ
アプリケーションアプリケーション
アプリケーションは組込み記述を気にせずにROS記述可能!
ITRON仕様の設計を行うことでリアルタイム性の確保も容易!?
ROSのAPIをそのまま使える(advertise, publish,
subscribe等)
マルチタスク化(複数ノード化)はITRONプログラミングで実現できる
lwIPを使用
mbedライブラリでデバドラも開発できる
github.com/tlk-emb/mROS
mROSの提供する機能
• ROS1の通信フローに準拠
(1) ノード情報の登録
(2) publisher情報の送信
(3) トピックリクエストの送信
(4) TCPポート情報の送信
(5) コネクションヘッダ送信
(6) コネクションヘッダ返信→ データ転送の開始
6
TCPROSのPub/Sub通信によってROS1ノードとして振る舞える!
github.com/tlk-emb/mROS
TOPPERSタスクによるROSノード間通信の実現
7
• ホストPC上にあるROSシステムとの通信は専用に生成されるタスクによって実現される
• 複数ユーザタスクに対しても通信タスクは1つずつ
それぞれのタスクはITRON仕様に則る
mROS通信ライブラリで生成される
タスク間通信は共有メモリ+データキュー
github.com/tlk-emb/mROS
TOPPERSタスクによるROSノード間通信の実現
• データキューによる同期制御
−8bitのノード識別IDと24bitのデータ長(最大16MB)からなるデータを格納
• 共有メモリを介したトピック通信
8
ID length
github.com/tlk-emb/mROS
現在の開発対象
• Renesas GR-PEACH
−mbedライブラリ対応
オンラインコンパイラ有り
−Arduino互換ピン
−純正カメラシールドあり
OpenCVも使える!??
9
http://gadget.renesas.com/ja/product/peach.html
搭載マイコン RZ/A1H
ROM/RAM 外部FLASH 8MB内蔵10MB
動作周波数 400MHz
動作電圧 3.3V/1.18V
画像認識ROSノードが
きびきび動く,かも!?
github.com/tlk-emb/mROS
今はこんなふうに動いています
10
github.com/tlk-emb/mROS
今はこんなふうに動いています
11
パブリッシュサブスクライブ トピックを介してLチカ
超音波センサの取得データを送信
green メッセージ受信
red メッセージ受信
緑に光る
赤く光る
ホストから
std_msgs/Stringのデータ出版
センサの値をパブリッシュコールバック関数LEDの発光
コールバック関数標準出力
github.com/tlk-emb/mROS
おわりに
• 組込みデバイス向けROSノードの軽量実行環境
−既存ROSパッケージをそのまま使える,かも!
−ROS1ノードの省電力化に使える,かも!?
−リアルタイム性能の向上に使える,かも!?
• ユーザ様募集中!!
−ROS1を使っているけど資源制約が厳しい方
−開発済みのROS1資産を組込み化したい方
−結局ROSマスタ必要やん?時代はROS2!!という方
一緒にROSマスタ組込み化/ROS2対応に取り組みませんか!??
12
そんな方はLet’s pull!!