Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

オープンソースとロボット

3,772 views

Published on

2016年11月12日関西オープンフォーラム2016(KOF2016)@大阪

Published in: Technology
  • Login to see the comments

オープンソースとロボット

  1. 1. オープンソースとロボット 千葉工業大学 上田 隆一 ※ 他意はありません。
  2. 2. 本日の内容 1. 自己紹介 – なんでここで喋っているのか? – ロボットのビデオを見せつつちょっと長めに 2. ROSが面白い 3. ロボットの学科とソフトウェア・オープンソース 2016年11月12日 KOF2016 2
  3. 3. シェル芸の人の自己紹介 • 上田隆一(38) – 2ヶ月に1回「シェル芸勉強会」という会を開いています • 10月の第25回で4周年 • 第11回は大阪でした • 大阪サテライトが開催されることも 2016年11月12日 KOF2016 3
  4. 4. シェル芸勉強会の問題の例 • 問題: 右のような サイン波を描いてください – CLIの端末に • 解答の例 – $ seq 1 20 | awk '{a=sin($1/3)*10+10;for(i=0;i<a;i++)printf "@ ";printf "* ";for(i=a;i<20;i++)printf "@ ";print ""}' | rs -t 22 | tr @ ' ' – この時の様子 2016年11月12日 KOF2016 4
  5. 5. 何に役立つのか • 初心者 – 端末やコマンドの使い方 • 中級〜上級者 – コマンドの組み合わせ – ニッチだけど役立つオプションやコマンドの発見 • 前ページのようなパズル問題をやると発見が多い • 役に立つとかあんまり関係なく謎の盛り上がり 2016年11月12日 KOF2016 5
  6. 6. ロボットの人のとしての自己紹介 • 上田隆一(38) – 「確率ロボティクスの人」 • 28歳くらいの時にProbabilistic ROBOTICSという教科書を翻訳 – 翻訳しただけなので研究者としては恥ずかしいが 日本語の「確率ロボティクス」という言葉を作成 • 用途: 自分で考えるロボット、自動車の自動運転 – 研究者としての戦闘能力は・・・ まあまあ • 本年度の仕事は英語の投稿論文2本、 展望1本、書籍1冊(予定) 2016年11月12日 KOF2016 6
  7. 7. 最近の仕事 • アールティ社のお手伝い – 唐揚げサーバロボット • 私はほぼノータッチ(会社と学生さん優秀) • 千葉工大未来ロボティクス学科林原研究室のお手伝い – つくばチャレンジ • 2km自動運転で完走 • 私のアルゴリズムが ちょっと乗っているけど ノータッチ(学生さん優秀) – 余談: このロボット、 GPSは付いてません 2016年11月12日 KOF2016 7
  8. 8. ちゃんとコミットしている最近の仕事 (ネズミ案件2件) • タミヤの工作キットの電子化 – 安価、入手容易、簡素に – 本質だけ • つまりシェル芸風 – CANVASさんとワークショップ • 本を執筆中 – 日経Linuxの連載を加筆 – Linux + ROS 2016年11月12日 KOF2016 8
  9. 9. 本題: ROSの話 • 先ほど出てきたロボットは、タミヤのネズミを 除いて全て「ROS」で動作 • ROSとはなんぞや? • 難しいの? • ロボットやらない人に関係あるの? 2016年11月12日 KOF2016 9
  10. 10. ROS: robot operating system • ロボットのソフトウェアコンポーネントを作って 動作させるためのフレームワーク/ミドルウェア – OSでは無い • 発祥: 2000年代後半、Willow Garage社 • BSDライセンス • Linux(Ubuntu)上での動作がデフォルト • サイト – 公式ページ: http://www.ros.org/ – マニュアル等: http://wiki.ros.org/ja 2016年11月12日 KOF2016 10
  11. 11. どんなものか • 本体: プロセス間通信をつかさどる – プロセス同士をpublish-subscribeモデルや サービスでつなぐ • XML-RPC等を利用 • 通信するデータに型 • 周辺 – ビルドシステム、パッケージ管理、テストツール、・・・ 2016年11月12日 KOF2016 11 と、書いてもわからんので動かしてみます
  12. 12. デモ: ROSの操作 • 手順メモ –ROSのインストールシェルスクリプト: https://github.com/ryuichiueda/ros_setup_scripts_Ubuntu16.04_server – 構造 • パッケージ – ノード、ノードの立ち上げ – 通信 • publish-subscribeモデル • サービス • actionlib • msg、srvファイル 2016年11月12日 KOF2016 12 Raspberry Pi Mouse(アールティ社) http://products.rt- net.jp/micromouse/raspberry-pi- mouse
  13. 13. さらに便利に使う • ROS化されているキラーコンテンツ – ナビゲーションメタパッケージ • 地図生成、位置推定、経路生成 – MoveIt! • 腕の動作計画 – 腕先の位置を入力→関節角を計算(逆運動学) • その他、様々なハード・ソフトがROS化 2016年11月12日 KOF2016 13 簡単に巨人の肩に乗れてしまう (研究者は大変)
  14. 14. ROSを用いたナビゲーション • もう一度、つくばチャレンジのビデオを – 右下に「ロボットの頭の中」 – パッケージ手を入れて自分たちの手法を 反映して利用・GitHubに公開 • 12月に北海道で学会発表(SI2016) • 使っているパッケージ – gmapping, amcl, dwa_local_planner, global_planner, ... 2016年11月12日 KOF2016 14
  15. 15. 学生にROSを使ってもらうハードル (巨人の肩に乗ってもらう仕事) • ロボティクスの学科の大変さ – 機械もやってLinuxもやって – 標準のCADのソフトがWindowsでしか動かない – 「私ハードの人だから」 • 基本、学生はドレイファスモデルの初心者〜中級者 「私には関係がない」 • ライセンス・著作権・オープンソースの理解は、まだ – 危なっかしい – お固い機械業界: オープンソース界隈のノリが意味不明 2016年11月12日 KOF2016 15
  16. 16. 担当講義「ロボットシステム学」 • 3年後期 – ラズパイを買ってもらって触ってもらう – マイコンからROSに至るまでを一通り理解 • 内容 – Raspberry Pi、Unix、Linux(プロセス、ファイルシステム) – デバイスドライバを書く – 著作権とライセンス – Git、GitHub、Travis CI (レポート提出: GitHub上、YouTube上) – ネットワーク – ROS 2016年11月12日 KOF2016 16 執筆中の書籍に 盛り込む予定
  17. 17. 講義での心がけ • 講義の際に使用する道具の歴史と成り立ちを説明 – なぜ、存在するのか? – 訴訟や喧嘩の話、ストールマンの話がウケる • 使ってみせる – 講義でシェル芸やライブコーディング 2016年11月12日 KOF2016 17
  18. 18. • ラズパイ触るときにGUI禁止 – マイコンの延長線上にあるものだと強調 – GUIだと講義資料がスクリーンショットだらけで薄くなる • 字だけで行うコミュニケーションの密度は高い – 仮想マシンやラズパイだと重たい・酔う(劣化Windows) • 心がけというより幸運 – 今年の1年からプログラミングの講義はLinuxベースに 2016年11月12日 KOF2016 18
  19. 19. 講義で足りないことは課外活動で • OSunCを千葉工大で – 2016年7月23日 – 就活という気持ち悪い場 以外で社会人との接点を • お話があれば乗っかります (主体的が無く申し訳ないのですが・・・) 2016年11月12日 KOF2016 19 図: 肖像権が面倒なので ビールの写真をお楽しみください
  20. 20. まとめ • ロボットとオープンソース – ROSによりオープンソースが容易に利用可能に – ロボット関係者にとっては可能というより 必須なので学生に触ってもらう仕掛けを試行錯誤中 • 最後にお願い: 「ロボットの内側にもっと興味を」 – ロボット界隈の話を楽しむにはそれなりに広範囲な知識が 必要なのでなかなか理解されない – ROSは良い入り口。触ってみていただければと 2016年11月12日 KOF2016 20

×