ロボットシステム学

第1回

 

上田 隆一

 

2017年9月20日@千葉工業大学

今日の内容

  • 動機付け(なんでこの講義があるのか)

ロボットシステム

  • システム
    • 目的を遂行するための体系や組織
  • ロボットシステム
    • 目的を遂行するために動作
    • 動作のための様々な要素
      • センサ
      • アクチュエータ
      • 電気回路
      • 計算機(コンピュータ)
      • 外装
      • ・・・
    • 例: ルンバ新幹線

ロボットシステム開発の変化

  • 一人で黙々と作る時代の終焉
    • 個人的な終焉: 大学生から社会人へ
    • 時代としての終焉: インターネット上への知識の集積
    • 注意: 一人で一通り作れることは相変わらず貴重
      • ただ、それだけだと広がりがない
  • 開発のスピードの急激な変化
    • CAD、3Dプリンタ、ROS、各種サービスの無い時代と
      有る時代のスピードの違い

外のリソースを使う

  • 分かりやすい例: オープンソース
    • SLAMや位置推定関係(ROSのgmappingやAMCL、他、次ページ)
    • マニピュレータ(Move It!)
    • Gitのホスティングサービス、CIサービス
    • 個人的な見解では、人の作ったソフトを使いこなせた後に理屈をしっかり学ぶべき

ROSでSLAM

2016-03-24 15.22.322016-03-26 16.22.17atohome_抽出

変化の中心にあるもの

  • プラットフォームの存在
    • 知識やソフト等を流通させるには、それらが適用できるモノが必要
    • ロボットは計算機だけの場合より多様だが存在
  • プラットフォームの例
    • ハード: PC、Raspberry Pi、Arduinoとその互換品、各種規格品
    • ソフト: UNIX、Linux
    • サービス: GitHub
    • ロボット: TurtleBot、iCart-mini、HSR、・・・

Raspberry Pi

  • シングルボードコンピュータ
  • 本講義で扱う
    • 特に講師が信者ということではない
    • 性能はともかく、プラットフォームとして非常に優秀
      • 使ったことがあっても、
        ここで性能のことにしか目に行かない人は非常にまずい

RaspberryPi2

Raspberry Piについて詳しく

  • イギリスで開発された教育用のシングルボードコンピュータ
  • 開発の動機・歴史
    • 2006-2008年: 構想・試作
      • ケンブリッジ大の学生のコンピュータの腕が落ちてきた
        • 経験者と言ってもWord, Excel, HTMLくらい
        • (未ロボだと逆の人も多い)
      • 安価でハードの制御ができるようなシングルボードPCが作れないか?
    • 2009年: Raspberry Pi Foundation設立

講義の目的

  • 一つのシングルボードコンピュータで低レイヤーから
    高レイヤーまで一通り経験する

    • 低レイヤー: デバイスドライバ
    • 高レイヤー: インターネットとのやりとり
      • さらには著作権やライセンスまで
    • 全部実現できるラズパイで

講義の内容

全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回とカウント

参考図書

参考図書(続き)

宿題: Raspberry Piの
セットアップ

  • Raspberry Piを入手してRaspbianをインストールのこと
    • 初心者向けの指示: NOOBSを使ってRaspbianをインストールのこと
    • 本当は最短手順を私が示せばよいのですが、割愛で
      • ネット上に山のように情報
      • 「これ1冊で・・・」に詳しい解説
        • Windows、Mac対応。pp.32-40
  • 諸注意
    • デスクトップ環境は使いません
    • ギブアップしても来週時間をとります
  • 慣れている人はUbuntuでもよい

Raspberry Piの入出力

raspberrypi
Raspberry Pi 2 Model B
  • 電源入力: 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から操作