ROSCon JP2019 PM2めも

# 概要
この記事は2019年9月25日に行われたROSCon JP2019についての個人的なメモです。
そのため、不親切な表記と多分に間違いがあることをご了承下さい。

なおこの記事では午後の前半ライトニングトークまでを記します。
午前と午後の前半の内容については以下
[ROSCon JP2019 AMめも](https://qiita.com/code_440/items/eb954584c60a8e8963fc)
[ROSCon JP2019 PM1めも](https://qiita.com/code_440/items/fe779e57d39ef9c41b88)

# 内容
### ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
16:45	田村爽、新田泰大、高瀬英希 (京都大学)	
>FPGA Design Competitionに向けて開発した自律移動ロボット「ZytleBot」を紹介します。FPGAを活用することによって、外部PCとの通信なし&低消費電力で画像処理や機械学習等をROS上で実現することができます。本講演では私たちがGitHubで公開しているパッケージを例に、FPGAを導入するための具体的な手法を提案します。また、ZytleBotのVer.1はROS Kinetic＋Zyboで開発しましたが、Ver.2ではROS 2 Crystal＋Ultra96への移行に取り組みました。この経験を踏まえて、ROSとROS 2でのロボット開発の比較についてそれらの違いや所感について紹介します。	 

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">京都大学 田村さんによるZytleBotのFPGA活用やROS2移行の発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/M9IDnyJ7GC">pic.twitter.com/M9IDnyJ7GC</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176766243048579072?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[ストリーミング](https://youtu.be/qdOZh1Gq4mA?t=28042)

### FPGAデザインコンテスト
- 自律移動ロボット開発コンペ
- 道路を模したコースを走行、センサはCMOSセンサのみ
- プロセッサは組み込みCPUのみ

### FPGA
- FPGAはGPUと比べ低消費電力、リアルタイム性高い
- C/C++からハードウェア言語を生成する高位合成により開発コスト良い
- LinuxからFPGAを操作可能

### 成果物
- FPGAによる赤信号検出
- コンテスト優勝
- 優勝賞品はTurtleBot3だった

### ROS2への移行
- Nodeletをやめたい：ノード毎に1プロセスでは通信コストがかかる
- ノートPCをMacBook
- launchファイルがPythonに：これは開発中とのこと

### ROS2プログラミング
- ROS1と同様の書き方もできるが、共有ライブラリとしてノードを実装
- Gazeboの移行：マイグレーションガイドあり

### 実機へのマイグレーション
- TurtleBot3がROS2対応のためスムーズに移行できた

### 大変だった点
- 特になかった
- コア部分の開発が進んでいるおかげ

### 質疑応答
- Q:ROS2は楽になったか？マイコンは意識されたものだが。
A:ROS1は通信層がブラックボックスだったがROS2は明瞭

- Q:システムの差分とかある？CPU使用率とかユーザメリット。
A:細部は見れていない。Nodeletやめて安定した

### Real-time control in RedHawk and ROS 2.0	
17:05	大島龍博 (コンカレント日本株式会社)
>本稿では、ROS 2インストール時に付帯される、ROS Pendulum Controlを使って、Jetson上の商用RTOSであるRedHawk Linuxを使って、ROSのベンチマークを実行し、オリジナルペーパーとの比較を行った。その結果、オリジナルペーパーのRT_PREEMPT kernel (Xenomai)に比して５倍もの安定した結果が得られたことを報告する。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">コンカレント日本 大島さんによるROS2のリアルタイム性能評価の発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/uDkYlQ2wUa">pic.twitter.com/uDkYlQ2wUa</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176770256905224192?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[ストリーミング](https://youtu.be/qdOZh1Gq4mA?t=29245)

## 会社紹介
- コンカレントはリアルタイムコンピュータ技術をリード
- ミリタリーユースのため表に名前が出てこない

### 目的
- RTOSによりROS開発者にたいしてどのような利益が与えられるか

### RedHawk
- 商用のハードリアルタイムLinuxOS
- X86_64、ARM64をサポート
- ハードウェアが早ければリアルタイム？
　→要求時間内に確実に応答を返すのがリアルタイムOS
- POSIXで定義されていない割り込みが重要

### ROS2
- ROS2は「リアルタイムに親和性がある」←RTOSではない
- リアルタイムパフォーマン?はDDS受信の応答によってきまる
- XavierよりTx2の方が通信がよいためリアルタイムの応答がよい？
- 情報はWebでコンカレントRTで

### 質疑応答
- 高瀬氏:使える時期と思うか？
A:使える。あとはどこを選ぶか。

### 組込みシステムにおけるROS 2の動向とRTOSの対応	
17:25	佃明彦 (イーソル株式会社)	
>イーソルは自社の商用組込み RTOS である eMCOS POSIX で、ROS / ROS 2 のサポートを進めている。商用の組込み RTOS 環境で ROS / ROS 2 が利用できると、リアルタイム性向上や省電力化など RTOS 活用による技術面のメリットだけでなく、OS やデバイスドライバの品質保証を RTOS ベンダに任せられるなど、ビジネス面のメリットも得られる。本講演では、ROS / ROS 2 で商用の組込み RTOS を利用する意義と、組込み RTOS で ROS / ROS 2 をサポートするために行った取り組みを解説する。	 

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">イーソル佃さんによる組込システム向けのROS2の動向の発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/3h1rc0vP8l">pic.twitter.com/3h1rc0vP8l</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176775638583132160?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[ストリーミング](https://youtu.be/qdOZh1Gq4mA?t=30551)

### RO2の動向
- マイコン対応：EU/OFERAプロジェクトのmicro-ROS（ボッシュなど）
　日本からはルネサスのGR-ROSEを紹介
- リアルタイム制御：エイペックスAIがリーダー
- 製品開発への適用

### RTOS
- スケジューリング、メモリ管理、同期プリミティブ
- MCOS：商用

### MCOS
- GCCツールチェーンの開発
- 組み込みボードを使ったCI
- 今後：ツールチェーンの公開、評価パッケージ、リアルタイムメッセージング

### おわりに
- ROS2を使ってフィードバックを
- 公開しなくてもイシューやワーキングで報告するだけでも良い

### 質疑応答
- 安川電機　アリタ氏:eSOLではないがROS2対応をしているところとやっている。
　そこは時間単位が違うとのことでパッチをあてているとのこと。eSOLも何かしている？
A:ROS2にはパッチあてずにやっている。一部できていないところを手作業で変えているところ。

- 高瀬氏:フリーのRTOSもある。比べてどうか。
A:機能ではLinuxでもできるところある。先の発表でパッチをあてたような。
　商用ではベンダーが保証・サポートするところがメリット。
　ハマりを短くできる。

- 大島氏：フリーにないメリットとして属人化を避けられる。会社がつぶれなければサポートは続く

- Q:採用のポイントは？
A:システムへの要求があうものだが、カタログから選べるものでなく、相談に乗ってくれて、データを出してくれるベンダーが良いかと

## クロージングと集合写真
17:45 ジェフ ビグス（産業技術総合研究所）
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> のクロージングが始まりました。皆さん、ご参加ありがとうございました🎉🎉🎉 <a href="https://t.co/DLJgGPQYYE">pic.twitter.com/DLJgGPQYYE</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176780650784776192?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[ストリーミング](https://youtu.be/qdOZh1Gq4mA?t=31629)

## レセプションスポンサー ADLINKの紹介
Ryan Chen
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">レセプションスポンサーのADLINKの会社紹介です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/hBU4IkFwNm">pic.twitter.com/hBU4IkFwNm</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176781358829457408?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
[ストリーミング](https://youtu.be/qdOZh1Gq4mA?t=31942)

## 集合写真
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ROSConJP2019、無事終了！<br>また来年お会いしましょう！<a href="https://twitter.com/hashtag/rosjp?src=hash&amp;ref_src=twsrc%5Etfw">#rosjp</a> <a href="https://twitter.com/hashtag/roscon?src=hash&amp;ref_src=twsrc%5Etfw">#roscon</a> <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/MWnMDTB8mO">pic.twitter.com/MWnMDTB8mO</a></p>&mdash; Y.Nakagawa (@ykknkgw) <a href="https://twitter.com/ykknkgw/status/1176862441751244800?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## レセプション
18:00 ADLinkが提供
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">懇親会の提供はADLINK社 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/AM7qpessne">pic.twitter.com/AM7qpessne</a></p>&mdash; ハイパー絵に描いた餅クリエイター440 (@code_440) <a href="https://twitter.com/code_440/status/1176785460829380610?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

20:00	 	終