ROSCon JP2019 AMめも

# 概要
この記事は2019年9月25日に行われたROSCon JP2019についての個人的なメモです。
そのため、不親切な表記と多分に間違いがあることをご了承下さい。
本記事は午前中の内容について記します。
午後については以下
[ROSCon JP2019 PM1めも](https://qiita.com/code_440/items/fe779e57d39ef9c41b88)
[ROSCon JP2019 PM2めも](https://qiita.com/code_440/private/a97c19188c7016cc2e86)

なお、各講演の概要はROSConJPの公式ページより引用しています。

[公式ページ](http://roscon.jp/)

RosConJPとは公式ページにて以下のように説明されています。
>ROSCon JPはROSCon同様にPyConやBoostConをモデルにした開発者会議です。 これまでの本家ROSConは過去6年間の成功裏に開催してきた歴史があります。 日本のローカルROSConである今年のROSCon JPは東京で1日イベントとして終日開催され、過去の本家ROSConと同様に、参加者がまだ知らない最新ツールやライブラリに関する技術的な発表やチュートリアルで構成されます。 

# 内容
## オープニング
9:00 近藤豊(株式会社Preferred Networks)

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> is starting! Sugoi ne! <a href="https://t.co/jwyEW2k4lO">pic.twitter.com/jwyEW2k4lO</a></p>&mdash; Open Robotics (@OpenRoboticsOrg) <a href="https://twitter.com/OpenRoboticsOrg/status/1176650359508328450?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=483)

- 昨年、初めて日本ローカルのRosCon JPを開催
- 今回は昨年と比べ1.5倍のスポンサーと展示面積
- レセプションスポンサーにより食事のクオリティも向上？
- プログラム委員会により発表者を選定
- 本会の設営はエンターテイメントボールやアールティ
- 昨日はラズパイマウスを使った講習会を開催
- 今日は208名の参加者：内78%が企業参加者
- ROSCon User Groupは1,468名が登録
- 本日のライトニングトーク発表者を募集

## 基調講演１: 安全なロボットへの8ステップ	
9:10 Ryan Gariepy (Clearpath Robotics, Inc.)	
>いまや技術の進歩により、ロボットは自由に実世界、例えば、工場、空港、ショッピングセンター、町の中といたるところで動き回れるようになりました。このことは、今後ますます移動ロボットの安全性が重視されるということでもあります。しかしながら、コンサルタントはこういったロボットのチャレンジについて詳しくなく、法規等についてのノウハウも今の所確立していません。講演では、8通りの基本的な事例を通して、実世界で自律ロボットを動かしていく前に詳しく知るべき内容を紹介します。	 

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">Ryanさんによる基調講演が始まりました。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/BCj8JIuDLd">pic.twitter.com/BCj8JIuDLd</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176652109447516161?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=1048)

### 自己紹介
- ホンダカナダ、Kiva、ドローンベンチャーでインターン
- 2009　[Clearpath Robotics](https://clearpathrobotics.com/)の共同創業者
- 2010,2012　ROSの支援
- 2014　OTTO Motors　スタート
- 2019　世界展開

### 安全なロボットへの8ステップ
1. What Is Safety?
2. What Is The Environment?
3. Know The Rules & Regulations
4. Know Your Risks
5. Use Good Mitigations
6. Safety By Design
7. Safety Architecture & Use of Predicable Code
8. Use Statics

### 安全とは？
- ゼロリスクは不可能
- 人に対して被害を与えないことは重要
- また、間接的に被害を与える可能性もある
- ロボットの作業は人が行うよりも安全でなければならない
- ロボットの周りには人間がいる
- チェックリストを作り周りに影響を与えないように

### 環境は？
- ロボットの周りに人はいるか
- それは大人か
- 防護服は着ているか
- ロボットを注意しているか

### ３つの基準
- TypeA ISO12100：リスクアセスメント
- TypeB ISO13849：安全制御
- TypeC ISO13482：介護ロボット
- TypeCは大抵あてはまらない
- TypeA、TypeBを使用する必要がある
 
### リスクのアセスメント
- 会場へ質問：リスク評価をしたことある人は？　多い
- リスク評価の例　
- 低確率低リスク：　後々改善する問題　例　ロボットが靴を押す
- 高確率低リスク：　品質の問題　例　ロボットが人の足を引く　
- 低確率高リスク：　最終的には甚大な被害の恐れ　例　レーザーに映らない
- 高確率高リスク：　できる限り軽減する必要　例　自動走行で人を引く
- 低確率高リスクを洗い出す必要がある。

### 緩和策
- 機能面の安全性、利用者の訓練、注意書き、防護装備

### 本質安全
- ペッパーでも小さい子どもには危険かも
- 良い指標：速度 < 0.3 m/s、質量 < 100kg

- 安全レーザー、緊急停止スイッチ、ロックアウト、無線停止スイッチ

### ISO13849
- Type B
- 冗長系はCategory ３、4 
- 例えばニューラルネット系では、それ以外の部分で安全を担保
- 管理者はニューラルネットがおかしいという答えは求めていない

### 統計の利用
- MTTFd：深刻な不具合までの平均時間
- MTTF：故障までの平均時間

### 4つのソフトウェア試験
 - V-model開発
 - 自動化されたユニットテスト
 - シミュレーションでのテスト
 - 実世界でのテスト

### 質疑応答
- Q:ROSの安全性はどうするのか？
A:ロジックがROSで実装されているとする、それは通常のOSかリアルタイムか
- ROSの不具合はソフトウェアの不具合
- 小さいロボットであれば完全に停止しても被害は少ない
- でも飛行機が停止したら被害が大きい
- ROSは上位のレイヤーに位置
　
- Q:例えば８０ｋｇのロボットは本質安全？形は？
A:人の足にあたるならそうではない
　また、AGVに荷物を乗せると200、300ｋｇとなる
　形は柔らかく丸いならより安全

## WHILL Model CR meets ROS - CES2019の舞台裏	
10:00	清水星矢、杉浦光 (WHILL株式会社)	

>CES2019で発表した「WHILL自動運転システム」のプロトタイプ開発を例にして、モビリティ研究開発プラットフォーム「WHILLModelCR」、ROSパッケージ「ros_whill」およびその他のROSパッケージをWHILL社内でどのように活用しているか紹介します。

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">WHILL清水さん、杉浦さんによるWHILL研究開発モデルの発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/mPMbWBIrrw">pic.twitter.com/mPMbWBIrrw</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176664458514460672?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=4039)

### 紹介
- WHILLとは「すべてのヒトの移動を楽しくスマートに」
- つくばチャレンジの参加者にも利用
- ROSと出会うと　WHILL＋ROS=WHILL autonomous model
- タブレットでWHILLを呼ぶ
- 障害物を検知して自動停止
- これをCES2019で披露した。

### ステレオ視
- 内部はOpenCVのラッパー
- これをGPU実装に置き換え
- libSGMはFIXSTARS
- VidionWorksはNVIDIA
- 昨日公開

### AWS IoT
- CESでのWHILL呼び出しデモを構築
- 公開はしばらくお待ちを
- WHILLではサーバ、モバイルエンジニアを募集中

### 質疑
- Q:デモではボタン一つで走ってきているが場所はどうしている？
A:事前に設定している。

- Q:公開されるものにバイナリは含まれるか？
A:ソースのみの予定

## 月面探査ローバーのオぺレーション開発におけるROSとGazeboの活用	
10:15 Fabian Dubois (ispace inc.) 
	
>宇宙資源開発を目指すispace社は、2018年の月面探査競争GoogleLunarXPRIZEに参加する為に、小型月面探査ローバー「Sorato」を開発しました。未知、過酷な環境かつ通信遅延の状態でのミッションを成功させるためにはスムーズな操作がカギとなります。ローバーの紹介の後、ROSとGazeboを活用したテレオペレーションツールの開発プロセスを紹介します。

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">ispace Fabianさんによる月探索ローバーの発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/UbMA0B0jSp">pic.twitter.com/UbMA0B0jSp</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176667681291849728?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=4824)

### 自己紹介
- 日本在住フランス人エンジニア
- 2009年Supelec卒

### ローバーミッション
- HAKUTO-Rのミッション
- 予定走行距離は1～10kmで水を探索

### 制約
- 14日間以下のミッション
- 2.5秒以上の通信遅延
- GPS,方位不明
- 照明条件　露出過度、暗黒

### 未知数環境
- 地球上に月環境を再現
- JAXA相模原キャンパスの試験施設は一年に数回しか使用不可
- Gazebo

### Gazebo
- デジタル標高モデル
- クレータの追加
- Gazeboの環境ファイル
- レンズフレア
- ラージスケールマップ
- 座標データをもとに斜面などを設定

ちなみにアプロ月面着陸50周年
モバイルローバーは？　49年前ロシアのローバーが10km走行

- カメラ配置を最適化
- アシスト付き手動運転
- 通信遅延を再現
- 機械学習モデルで太陽光による方向認識

### 質疑応答
- ソフバン　ワタナベ氏：月面の環境でデプスカメラはシビアとおもうがどんなものを選定？
A:いろいろテストして問題ないものを選定した。

## Honda RaaS PlatformにおけるROS活用 ～ 複数ロボットによる協調サービス ～	
11:00	東治臣 (株式会社本田技術研究所)	

>Honda RaaS Platform（ラースプラットフォーム）は、データ蓄積・共有、通信制御、状態遷移、ロボット間連携などの共通機能を、API やSDKといったインターフェースやパッケージとして提供することで、様々なパートナー企業様とロボティクスソリューションの開発を容易にするソフトウェアプラットフォームコンセプトです。※RaaS：Robotics as a Service	 

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">本田技研 東さんによるHonda Raas Platformの発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/7kmjaxUJCs">pic.twitter.com/7kmjaxUJCs</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176679059771645952?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=7376)

### 自己紹介
- RaaSプラットフォーム　プロダクトオーナー

### ロボティクスビジョン
- CES2019 人のすばらしさが際立つロボティクス社会の実現
- Robotics as a service
- 柔軟にクラウドサービスを使ってスケーラブルに

### 実行例
- ロボットの協調：お茶の荷積みロボ、お茶運搬ロボ、コミュニケーションロボ
- RaaSの異なる複数ロボットのサービス例
- ros-rass-nodeを開発中

## 垂直多関節ロボットを外部接続PC からROS I:F でインピーダンス制御した話	
11:10	三部辰一 (株式会社豆蔵)	

>control_msgs/FollowJointTrajectory.action で軌道を送信できる(つまりMoveItで操作できる) I/Fを備えた垂直多関節ロボットに対し、6軸力覚センサを用いたインピーダンス制御器を外部接続PC上に構築した際に遭遇した課題や対応策について述べる。例として産業でよくあるタスクを中心に話を進める。	 

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

### 自己紹介
- 豆蔵は「一粒のち生がソフトウェアエンジニアリングを変える」を合言葉
- 顧客のソフトウェア開発スタイルの革新を実践的に支援
- 発表者制御工学専門で古典から現代制御までカバー
- モデルベース開発でロボットに関わりROS1,2を利用

### ターゲット
- 様々なロボットで部品の嵌合（かんごう）
- ビジョンでは0.5~1.0㎜のずれ→力覚センサでインピーダンス制御

### 構成
- UR3、DynPickの力覚センサ
- 外部PC

### 課題
- リアルタイム性保証していない→動作と停止を繰り返して微動させる
- 停止中に外力が安定してくる。
- MoveIt!はパスプランニングに時間を要する→PTPで制御

### 質疑応答
- Q:リアルタイム補償の方法について比較はした？
A:今回はしてない。

###　Alpine ROS- コンテナフレント゛リー軽量Linuxて゛ROSを使う	
11:20	渡辺敦志 (SEQSENSE株式会社)	
> 本講演では、超軽量LinuxディストリビューションであるAlpine LinuxへのROSの移植と、バイナリパッケージリポジトリの公開について紹介します。これにより、例えばros_coreのインストールにかかる時間を約1/3に、ディスク容量を約1/2に削減でき、ROSを利用したシステムのCI/CD(Continuous Integration/Continuous Deployment)の高速化に貢献します。	 

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

### 自動テスト回してますか？
- CI、CD
　挙動のただしさを担保しながら高速開発
　リリースとフィードバックのサイクル向上
- コンテナ仮想化

### Alpine ROS
- Alpine Linux：容量が小さくすむ。DockerImageのベースに使われる
- Alpine ROSはAlpine Linuxがサポートしていないライブラリもサポート

### デモ
- Ros環境の立上げまで比較：Ubuntuがアプデ中にAlpはインストール開始まで進んでいる。
　Alpは1分程度で完了　かなり速い
- Alpは273のROSパッケージを提供、依存99パッケージ提供
- SEQSENSEで使えるくらいには安定

### 対応で大変だったところ
- 古いメンテナンスされてないパッケージ
- 特定バージョンへの依存

### 質疑応答
- Q:CDは実機に大変な理由は？CDを高速化とはAlpineの功績それとも発表者？
A:安全を担保する上で大変。なぜ速いか、Alpineがそもそも早い。
　
- Q:実機はUbuntuかと思うがデプロイ先がAlpineではどうか？
A:SEQSENSEでは実機はAlpine。なのでテストもAlpine。

###　ROSでピッキングと組み立て: Amazon Robotics ChallengeとWorld Robot Summitの経験	
11:40	Felix von Drigalski (OMRON SINIC X Corp)	

>本講演ではWRS2018アセンブリチャレンジ向けに構築したROSによるロボットシステムについて発表する。組み立てに必要なMoveItの新機能やベストプラクティスを紹介する。この発表は複数台のロボットをROS上で使用したい、ロボット大会やDockerでの開発に興味のある方向け。私達O2ASは、WRSの組み立てタスクにおいてROSを使用したチームの中で最高点数を獲得し、総合4位でSICE特別賞を受賞。	 

<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">OMRON FelixさんによるAmazonチャレンジやWRSに参加して得られた経験の発表です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/Kr0NczFe5r">pic.twitter.com/Kr0NczFe5r</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176688315082297344?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=9731)

### 自己紹介
- 2016 Airbus Shopfloor Challenge (1位)
- 2017 Amazon Robotics Challenge (6位)
- 2018 World Robot Summit Assembly Challenge (4位)
- これらのコードはオープン

### WRS 組み立てタスク
- 前日まで部品が不明
- 取り組みの特徴：ツールチェンジャー無し、治具レスを目指す
- WRSではほとんどのチームは達成できず
- 来年もあるから是非皆さんチャレンジを

###　教訓
- 可視化大事
- 開発を速める
- 柔らかさ有利
- ケンブリッジはセンタリング装置を利用
- OMRONは柔らかさで不確実性を許容
- Docker管理

### 告知 
- World MoveIt Day 2019を開催
- 11月~~25~~日＠OMRON SINIC X（本郷3丁目）

### 質疑応答
- PFN 近藤氏：来年に向けどういう開発を？
A:タスクがより複雑になる。部品があらかじめ分けられていないタスクになる。

- Q:WRSでは多くのチームができなかったなか、Idexは速くできているがWRSとの差異は？
A:一つはセーフティ、もう一つ、今回は時間が足らない。
　時間があればチューニングできるが。

- Q:柔らかさはシミュレータでどう表現したか？
A:コリジョンでは無視していた。MoveItでは無理かと。

##　ティアフォーの紹介
<blockquote class="twitter-tweet" data-partner="tweetdeck"><p lang="ja" dir="ltr">ランチスポンサーのTier IV 片岡さんによる会社紹介です。 <a href="https://twitter.com/hashtag/ROSConJP2019?src=hash&amp;ref_src=twsrc%5Etfw">#ROSConJP2019</a> <a href="https://t.co/bVAOFjjfVo">pic.twitter.com/bVAOFjjfVo</a></p>&mdash; ROSCon JP (@rosconjp) <a href="https://twitter.com/rosconjp/status/1176693395944890370?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=10988)

### 株式会社ティアフォーの紹介
- AutoWareの開発を行う
- 紹介ビデオ
- センシングからコントロールまで様々な機能の提供
- 本郷3丁目にある

12:00	全員	ランチ	Tier IVが提供。

<blockquote class="twitter-tweet" data-partner="tweetdeck"><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/EKZ7WNLPvY">pic.twitter.com/EKZ7WNLPvY</a></p>&mdash; ハイパー絵に描いた餅クリエイター440 (@code_440) <a href="https://twitter.com/code_440/status/1176704657856638978?ref_src=twsrc%5Etfw">September 25, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>