ROSロボットで学ぶ次世代のIoTアーキテクチャ
書籍情報
発売日 : 2023年10月23日
著者/編集 : 田胡 和哉
出版社 : コロナ社
発行形態 : 単行本
書籍説明
内容紹介
アーム付き自律移動ロボットを例に,その構成要素(ハードウェア,ナビゲーション機構,アーム制御機構,機械学習,システムアーキテクチャ)を原理に基づいて学ぶことで,IoT システムの全体像を理解できるよう解説した。
目次
☆発行前情報のため,一部変更となる場合がございます
1.準備作業
1.1 本書の構成
1.2 試行に必要な準備
1.3 実際の準備作業
2.自律移動ロボットの事例
2.1 自律移動ロボットとは何か
2.1.1 自律移動機能
2.1.2 外界に働きかける機構
2.1.3 タスクプランニング
2.1.4 ロボットの機構
2.2 自律移動ロボットの利用
2.3 自律移動ロボットのハードウェア例
2.4 アームの例
2.4.1 軽量なロボットアーム
2.4.2 試作用自走型ロボットアーム
補足資料
チャレンジしよう
3.ロボットハードウェア
3.1 アクチュエータとその制御
3.1.1 アクチュエータを用いるIoTデバイス
3.1.2 IoTデバイスに使用されるモータ
3.1.3 モータの制御とサーボ機構
3.1.4 モータの形状
3.1.5 I2C
3.2 センサ
3.3 伝統的なエッジ構成技術
3.3.1 Arduino
3.3.2 メインCPU
3.3.3 エッジ基板の実装
3.3.4 処理性能
3.4 新しいエッジ構成技術
補足資料
チャレンジしよう
4.ROSと自律移動ロボットのソフトウェア
4.1 自律移動機能の実装
4.1.1 想定するハードウェア
4.1.2 実現すべき機能
4.2 ROSのプログラミング
4.2.1 ドキュメント
4.2.2 インストール
4.2.3 ROSのプログラム実行
4.2.4 ROSの通信
4.2.5 プログラムの実行
4.2.6 ROSの開発環境
4.2.7 Pythonによる通信プログラム
4.3 ROSによる自律移動の実現
4.3.1 ROSにおけるモータの制御
4.3.2 モータ制御のシミュレーション
4.3.3 MCUとの連携方法
4.3.4 Odometry
4.3.5 tf2
4.3.6 Pythonによるtf2の利用
4.3.7 障害物検出とコストマップ
4.3.8 Navigation2
4.3.9 自律移動のシミュレーション
4.3.10 ROSの使いこなし
4.4 ROSナビゲーション機構利用のまとめ
4.5 自律移動機構の原理入門
4.5.1 自己位置推定
4.5.2 SLAM
補足資料
チャレンジしよう
5.ロボットアームの制御ソフトウェア
5.1 制御の目標
5.1.1 ロボットが行う作業
5.1.2 マニピュレータのモデル化
5.1.3 パスプランニング
5.1.4 トラジェクトリプランニング
5.1.5 アームのモーションプランニング
5.1.6 把持プランニング
5.2 ROSを用いたアーム制御
5.2.1 全体の構造
5.2.2 形状のモデリング
5.2.3 試行
5.3 ROSによる把持動作の実現
5.4 ロボットのモーションプランニングの原理入門
5.4.1 C―Space
5.4.2 自律移動のモーションプランニング
5.4.3 トラジェクトリプランニング
5.4.4 経路計画
補足資料
チャレンジしよう
6.アプリケーション
6.1 ピッキングロボットによる在庫管理の思考実験
6.1.1 全体の構成
6.1.2 在庫管理システム
6.1.3 入出庫システム
6.1.4 実装方法
6.2 Behavior Treeによるタスク実行
6.3 ロボットの自律行動
6.3.1 ティーチング
6.3.2 行動の自律化
6.3.3 自律行動の必要性
6.4 全体システム
補足資料
チャレンジしよう
7.AIとコンピュータビジョン
7.1 本章の構成
7.2 コンピュータビジョンとロボット
7.2.1 OpenCV
7.2.2 ROSからのOpenCV利用
7.3 visual SLAM
7.3.1 開発現状の把握
7.3.2 対象画像の特徴点抽出による方法
7.3.3 画素の直接比較による方法
7.3.4 ロボットへの応用
7.4 機械学習と深層学習
7.4.1 機械学習
7.4.2 深層学習
7.4.3 深層学習のフレームワーク
7.5 物体検出,セグメンテーションとSpatial AI
7.5.1 物体検出
7.5.2 セグメンテーション
7.5.3 visual SLAMへの深層学習の導入
7.5.4 Spatial AI
7.6 深層強化学習とその活用
7.6.1 強化学習
7.6.2 深層強化学習
7.6.3 深層強化学習の改良
7.6.4 深層強化学習の実装
7.7 現在できることとできないこと――まとめ
補足資料
チャレンジしよう
8.システム基盤
8.1 クラウド技術
8.1.1 仮想化
8.1.2 VM
8.1.3 コンテナ
8.1.4 コンテナオーケストレーション
8.2 エッジのソフトウェア
8.2.1 RTOS
8.2.2 開発環境
8.2.3 専用ハードウェアへの対応
8.2.4 深層学習を用いた現実的なエッジシステムの実現
8.3 QoS管理とフォグコンピューティング
8.3.1 ネットワークとその仮想化
8.3.2 DDS
8.3.3 フォグコンピューティング
8.4 分散処理モデル
8.5 次世代のIoT基盤と技術課題
8.5.1 解くべき課題
8.5.2 システム像
補足資料
チャレンジしよう
9.エンジニアによる価値創造の具体像
9.1 エンジニアとしてすべきこと
9.1.1 エンジニアの職種
9.1.2 製品・サービスの提供におけるエンジニアの役割
9.1.3 エンジニアとして何をすべきか
9.1.4 試作の勧め
9.2 自律移動ロボットによる社会の変革
9.2.1 対象となる産業分野
9.2.2 ロボットによる物流業の変革
9.3 新しい開発エコシステムの出現
9.3.1 ROSの生かし方
9.3.2 コンテナの持つ意味
9.4 Technology Outlook
9.4.1 ロボットによる物流革命の可能性
9.4.2 技術開発スタイルの変化
9.4.3 戦略
補足資料
チャレンジしよう
あとがき
索引
1.準備作業
1.1 本書の構成
1.2 試行に必要な準備
1.3 実際の準備作業
2.自律移動ロボットの事例
2.1 自律移動ロボットとは何か
2.1.1 自律移動機能
2.1.2 外界に働きかける機構
2.1.3 タスクプランニング
2.1.4 ロボットの機構
2.2 自律移動ロボットの利用
2.3 自律移動ロボットのハードウェア例
2.4 アームの例
2.4.1 軽量なロボットアーム
2.4.2 試作用自走型ロボットアーム
補足資料
チャレンジしよう
3.ロボットハードウェア
3.1 アクチュエータとその制御
3.1.1 アクチュエータを用いるIoTデバイス
3.1.2 IoTデバイスに使用されるモータ
3.1.3 モータの制御とサーボ機構
3.1.4 モータの形状
3.1.5 I2C
3.2 センサ
3.3 伝統的なエッジ構成技術
3.3.1 Arduino
3.3.2 メインCPU
3.3.3 エッジ基板の実装
3.3.4 処理性能
3.4 新しいエッジ構成技術
補足資料
チャレンジしよう
4.ROSと自律移動ロボットのソフトウェア
4.1 自律移動機能の実装
4.1.1 想定するハードウェア
4.1.2 実現すべき機能
4.2 ROSのプログラミング
4.2.1 ドキュメント
4.2.2 インストール
4.2.3 ROSのプログラム実行
4.2.4 ROSの通信
4.2.5 プログラムの実行
4.2.6 ROSの開発環境
4.2.7 Pythonによる通信プログラム
4.3 ROSによる自律移動の実現
4.3.1 ROSにおけるモータの制御
4.3.2 モータ制御のシミュレーション
4.3.3 MCUとの連携方法
4.3.4 Odometry
4.3.5 tf2
4.3.6 Pythonによるtf2の利用
4.3.7 障害物検出とコストマップ
4.3.8 Navigation2
4.3.9 自律移動のシミュレーション
4.3.10 ROSの使いこなし
4.4 ROSナビゲーション機構利用のまとめ
4.5 自律移動機構の原理入門
4.5.1 自己位置推定
4.5.2 SLAM
補足資料
チャレンジしよう
5.ロボットアームの制御ソフトウェア
5.1 制御の目標
5.1.1 ロボットが行う作業
5.1.2 マニピュレータのモデル化
5.1.3 パスプランニング
5.1.4 トラジェクトリプランニング
5.1.5 アームのモーションプランニング
5.1.6 把持プランニング
5.2 ROSを用いたアーム制御
5.2.1 全体の構造
5.2.2 形状のモデリング
5.2.3 試行
5.3 ROSによる把持動作の実現
5.4 ロボットのモーションプランニングの原理入門
5.4.1 C―Space
5.4.2 自律移動のモーションプランニング
5.4.3 トラジェクトリプランニング
5.4.4 経路計画
補足資料
チャレンジしよう
6.アプリケーション
6.1 ピッキングロボットによる在庫管理の思考実験
6.1.1 全体の構成
6.1.2 在庫管理システム
6.1.3 入出庫システム
6.1.4 実装方法
6.2 Behavior Treeによるタスク実行
6.3 ロボットの自律行動
6.3.1 ティーチング
6.3.2 行動の自律化
6.3.3 自律行動の必要性
6.4 全体システム
補足資料
チャレンジしよう
7.AIとコンピュータビジョン
7.1 本章の構成
7.2 コンピュータビジョンとロボット
7.2.1 OpenCV
7.2.2 ROSからのOpenCV利用
7.3 visual SLAM
7.3.1 開発現状の把握
7.3.2 対象画像の特徴点抽出による方法
7.3.3 画素の直接比較による方法
7.3.4 ロボットへの応用
7.4 機械学習と深層学習
7.4.1 機械学習
7.4.2 深層学習
7.4.3 深層学習のフレームワーク
7.5 物体検出,セグメンテーションとSpatial AI
7.5.1 物体検出
7.5.2 セグメンテーション
7.5.3 visual SLAMへの深層学習の導入
7.5.4 Spatial AI
7.6 深層強化学習とその活用
7.6.1 強化学習
7.6.2 深層強化学習
7.6.3 深層強化学習の改良
7.6.4 深層強化学習の実装
7.7 現在できることとできないこと――まとめ
補足資料
チャレンジしよう
8.システム基盤
8.1 クラウド技術
8.1.1 仮想化
8.1.2 VM
8.1.3 コンテナ
8.1.4 コンテナオーケストレーション
8.2 エッジのソフトウェア
8.2.1 RTOS
8.2.2 開発環境
8.2.3 専用ハードウェアへの対応
8.2.4 深層学習を用いた現実的なエッジシステムの実現
8.3 QoS管理とフォグコンピューティング
8.3.1 ネットワークとその仮想化
8.3.2 DDS
8.3.3 フォグコンピューティング
8.4 分散処理モデル
8.5 次世代のIoT基盤と技術課題
8.5.1 解くべき課題
8.5.2 システム像
補足資料
チャレンジしよう
9.エンジニアによる価値創造の具体像
9.1 エンジニアとしてすべきこと
9.1.1 エンジニアの職種
9.1.2 製品・サービスの提供におけるエンジニアの役割
9.1.3 エンジニアとして何をすべきか
9.1.4 試作の勧め
9.2 自律移動ロボットによる社会の変革
9.2.1 対象となる産業分野
9.2.2 ロボットによる物流業の変革
9.3 新しい開発エコシステムの出現
9.3.1 ROSの生かし方
9.3.2 コンテナの持つ意味
9.4 Technology Outlook
9.4.1 ロボットによる物流革命の可能性
9.4.2 技術開発スタイルの変化
9.4.3 戦略
補足資料
チャレンジしよう
あとがき
索引
著者情報
田胡 和哉
田胡, 和哉