ロボットシステム学2016第1回
Mon Aug 29 09:55:54 JST 2016 (modified: Fri Nov 29 17:32:55 JST 2019)
views: 800, keywords:
ロボットシステム学
第1回
上田 隆一
2016年9月21日@千葉工業大学
今日の内容
- 動機付け(なんでこの講義があるのか)
ロボットシステム
- システム
- 目的を遂行するための体系や組織
- ロボットシステム
ロボットシステム開発の変化
- 一人で黙々と作る時代の終焉
- 個人的な終焉: 大学生から社会人へ
- 時代としての終焉: インターネット上への知識の集積
- 注意: 一人で一通り作れることは相変わらず貴重
- ただ、それだけだと広がりがない
- 開発のスピードの急激な変化
- CAD、3Dプリンタ、ROS、各種サービスの無い時代と 有る時代のスピードの違い
外のリソースを使う
- 分かりやすい例: オープンソース
- SLAMや位置推定関係(ROSのgmappingやAMCL、他、次ページ)
- マニピュレータ(Move It!)
- Gitのホスティングサービス、CIサービス
- 個人的な見解では、人の作ったソフトを使いこなせた後に理屈をしっかり学ぶべき
ROSでSLAM
- RoboCup JapanOpen 2016にて。
- ROS(robot operating system)+gmapping
- ROSは講義後半で扱う
- ついでにRoboCup2016のビデオ
変化の中心にあるもの
- プラットフォームの存在
- 知識やソフト等を流通させるには、それらが適用できるモノが必要
- ロボットは計算機だけの場合より多様だが存在
- プラットフォームの例
- ハード: PC、Raspberry Pi、Arduinoとその互換品、各種規格品
- ソフト: UNIX、Linux
- サービス: GitHub
- ロボット: TurtleBot、iCart-mini、HSR、・・・
Raspberry Pi
- シングルボードコンピュータ
- 本講義で扱う
- 特に講師が信者ということではない
- 性能はともかく、プラットフォームとして非常に優秀
- 使ったことがあっても、 ここで性能のことにしか目に行かない人は非常にまずい
Raspberry Piについて詳しく
- イギリスで開発された教育用のシングルボードコンピュータ
- 開発の動機・歴史
- 2006-2008年: 構想・試作
- ケンブリッジ大の学生のコンピュータの腕が落ちてきた
- 経験者と言ってもWord, Excel, HTMLくらい
- (未ロボだと逆の人も多い)
- 安価でハードの制御ができるようなシングルボードPCが作れないか?
- ケンブリッジ大の学生のコンピュータの腕が落ちてきた
- 2009年: Raspberry Pi Foundation設立
- 2006-2008年: 構想・試作
講義の目的
- 一つのシングルボードコンピュータで低レイヤーから
高レイヤーまで一通り経験する
- 低レイヤー: デバイスドライバ
- 高レイヤー: インターネットとのやりとり
- さらには著作権やライセンスまで
- 全部実現できるラズパイで
講義の内容
全15回。シラバスから一部変更あり
- 第1週: イントロダクション(本講義)
- 第2週: ラズパイの操作
- 通信等
- 第3週: マイコンの仕組み(3,4週は入れ替えで)
- 低レイヤーを学習
- 第4週: オペレーティングシステム
- プロセス、ファイルシステム
- 第5週: 電子回路とプログラミングI
- GPIOをソフトウェアで操作
- 12週のデバドラを先にやるかもしれません
- 第6週: 電子回路とプログラミングII
- 実習
- 第7週: ペリフェラル
- 様々なデバイスの操作
- 第8週: ネットワーク
- 第9週: システム管理とデータ処理
- 第10週: オープンソースとライセンス
- 第11週: GitとGitHub
- 第12週: デバイスドライバ
- Travis CIになるかも
- 第13週: ROSの役割と構造
- 第14週: ROSの利用
- 第15週: まとめ
講義で使う道具
- ノートPC
- Raspberry Pi
- Raspberry Piのアクセサリ(次のページ)
- 仮想マシン上のUbuntu
- Raspberry Piと繋がらないときのつなぎ
- Ubuntu Server16.04 LTS
- Desktop版でも良いけど重い
- 仮想マシンは特にこだわりがなければVirtualBoxで
ラズパイのアクセサリ
- USBケーブル(Type A-Micro B)
- ノートPCからRaspberry Piに電源供給
- microSDカード
- 16GBのものがおすすめ
- 複数あるとよい
- LANケーブル
- ノートPCとRaspberry Piを接続
ウェブサイト等
- 講義のサイト
- 連絡: 人にバレてもいい内容はTwitterで @ryuichiueda
- 授業支援システムは勉強中()
- 去年はメールでレポートを提出してもらいました
- 追って連絡
テスト・レポート等
- 課題は2回
- 各20点(+α)
- テストは1回
- 60点
- 出席
- 遅刻、早退は0.5回とカウント
参考図書
- 初心者の人はこれを購入のこと
- Linuxの操作
参考図書(続き)
- デバドラ関係
- Corbet 他(著), 山崎 他(翻訳): Linuxデバイスドライバ 第3版, オライリージャパン, 2005.
- デバイスドライバのリファレンス
- ちょっと古い
- 英語ならネット上に
- Corbet 他(著), 山崎 他(翻訳): Linuxデバイスドライバ 第3版, オライリージャパン, 2005.
- OS
宿題: Raspberry Piの セットアップ
- Raspberry Piを入手してRaspbianをインストールのこと
- 諸注意
- シラバスと違いますができればPi2かPi3で
- デスクトップ環境は使いません
- ギブアップしても来週時間をとります
- 慣れている人はUbuntuでもよい
Raspberry Piの入出力
[caption id="attachment_1189" align="alignright" width="225"] Raspberry Pi 2 Model B[/caption]- 電源入力: MicroUSB
- ディスプレイへ出力: HDMI
- ストレージ: microSDカード
- 有線LANポート
- USBポート
- 40ピンのブロック
- 「GPIOピン」と呼ばれる
- 他: 専用カメラの取り付け端子等
GPIOピンの構成
- 配置(Model Bのもの): http://pinout.xyz
- 電源: 3.3V、5V
- GND
- GPIOピン: 27
- うち何本かがI2C、SPI、UARTも使える
- I2C ID EEPROM用ピン
- A/D変換機能は付いていない
CPU・メモリ・ストレージ
- Raspberry Pi 3
- CPU: 1.2GHz Cortex-A53 ARMv8 64bit(4コア)
- DRAM: 1GB DDR2 450MHz
- ストレージ: microSD
- 細かい規格の制限や相性等に注意
- 16GBまではトラブルが少ない
- 細かい規格の制限や相性等に注意
Raspberry Piのソフトウェア
- Linuxが標準
- Raspbian
- Ubuntu
- ロボットのコントローラとしてのLinux
- 欠点: マイコンのように単純なリアルタイム制御ができない
- 長所: 開発時、運用時にインターネットとシームレスに接続
- これから講義でいろいろやります
次回
- 教室でRaspberry Piを使います
- ノートPCにLANケーブルで接続してSSHから操作