最終更新日:2022/02/07
クリックして表示・非表示切り替え
概要
対象年度 年度 2022 (週1コマ)秋期 開講時限 水2
開講学部・学科等 大学院
科目コード 041005100 科目ナンバー
授業名 ロボットプログラミング
英文授業名 Robot Programming
担当教員 堀井 宏祐

授業形態 講義、演習、アクティブ・ラーニング
e-learning利用 その他:
担当形態 単独
関連する授業 ロボット設計学,ロボット制御工学,ロボットシステム論
当科目履修前に履修して
おくことが望ましい科目
基礎ロボット工学
後続関連授業
教職課程科目
テーマ・キーワード ロボット工学,プログラミング,シミュレーション,ROS

授業の概要・ねらい 本授業ではROS(Robot Operating System)をプラットフォームとして,カメラやLiDARによるセンシングデータ処理・アクチュエータ制御,動力学シミュレーションによるロボットの動作検証,画像処理・点群データ処理とそれらを活用したナビゲーション・ロボットの行動監視など,ロボットプログラミングに関する基礎知識を修得する.
到達目標 (1) センシングデータ処理とアクチュエータ制御に関する基礎知識を修得する.
(2) 動力学シミュレーションによるロボットの動作検証に関する基礎知識を修得する.
(3) 画像処理・点群データ処理とそれらを活用したナビゲーション・ロボットの行動監視に関する基礎知識を修得する.
教科書と準備するもの (1) 実用ロボット開発のためのROSプログラミング,西田健 他,森北出版
(2) ノートPC,Raspberry Pi等のUbuntuとROSがインストールできる機材(貸出可)
参考書 特になし
評価の基準 (1) センシングデータ処理とアクチュエータ制御に関する基礎知識を理解・修得できている.
(2) 動力学シミュレーションによるロボットの動作検証に関する基礎知識を理解・修得できている.
(3) 画像処理・点群データ処理とそれらを活用したナビゲーション・ロボットの行動監視に関する基礎知識を理解・修得できている.
(4) (1)~(3)に関して,発表,レポート,小テストなどにより,ロボットプログラミングに必要な知識を修得できているかを判断する.
具体的評価方法 授業での発言,発表,小テスト,課題,態度などの平常点(70%),成果物(30%)で評価する.
授業評価アンケート
フィードバック・
受講生へメッセージ
授業アンケート対象外
単位互換
特記

授業計画
第1回 内容
「ガイダンス・ROSとは何か?」
ロボットプログラミングの進め方,授業概要,評価方法について説明する.
ROS(Robot Operating System)について概説する.
授業時間外における学修(予習・復習等) (予習) ロボットプログラミングのシラバスを確認しておくこと.
(復習) ROSについて調べておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第2回 内容
「ROSの準備・ROSの仕組み」
ROS実行環境の構築とROSの機能を理解するために必要な専門用語や概念,それらに関連するツールを説明する.
授業時間外における学修(予習・復習等) (予習) ROS実行環境の構築に必要な情報を確認しておくこと.
(復習) ROS実行環境を構築し,正常に実行できることを確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第3回 内容
「可視化とデバッグ」
ロボットの動作検証に利用されるROSの可視化とデバッグのツールについて説明する.
授業時間外における学修(予習・復習等) (予習) ROSの可視化とデバッグのツールについて調べておくこと.
(復習) ROSの可視化とデバッグのツールを用いてロボットの動作検証ができることを確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第4回 内容
「センサとアクチュエータ(1): カメラ等によるセンシング」
ROSを用いてカメラ,LiDARからのセンシングデータを取得する方法について説明する.
授業時間外における学修(予習・復習等) (予習) ROSを用いてカメラ,LiDARからのセンシングデータを取得する方法について調べておくこと.
(復習) ROSを用いてカメラ,LiDARからのセンシングデータを取得できることを確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第5回 内容
「センサとアクチュエータ(2): サーボモータの制御」
ROSを用いてサーボモータを制御する方法について説明する.
授業時間外における学修(予習・復習等) (予習) ROSを用いてサーボモータを制御する方法について調べておくこと.
(復習) ROSを用いてサーボモータを制御できることを確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第6回 内容
「3Dモデリングと制御シミュレーション(1): ロボットの3Dモデリング」
3D-CADを使って設計したロボットを動力学シミュレータ上にインポートする方法について説明する.
授業時間外における学修(予習・復習等) (予習) ロボットの3D-CADモデルを用意しておくこと.
(復習) ロボットの3D-CADモデルを動力学シミュレータ上にインポートできることを確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第7回 内容
「3Dモデリングと制御シミュレーション(2): 動力学シミュレーション」
ロボットの3Dモデルの動力学シミュレーションを行う方法について説明する.
授業時間外における学修(予習・復習等) (予習) ロボットの3D-CADモデルを動力学シミュレータ上にインポートしておくこと.
(復習) ロボットの3Dモデルの動力学シミュレーションができることを確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第8回 内容
「コンピュータビジョン(1): OpenCVの利用」
ROSでOpenCVを使うための設定と利用方法について説明する.
授業時間外における学修(予習・復習等) (予習) ROSでOpenCVを使うための設定方法について調べておくこと.
(復習) OpenCVにおける画像のデータ構造と処理方法について確認しておくこと.
授業実施特記 授業内小テスト実施またはレポート提出
第9回 内容
「コンピュータビジョン(2): 画像処理」
OpenCVを使ったエッジ検出,機械学習等について説明する.
授業時間外における学修(予習・復習等) (予習) エッジ検出,サポートベクターマシンのアルゴリズムについて調べておくこと.
(復習) OpenCVを使ったエッジ検出,機械学習の実装と動作検証をおこなうこと.
授業実施特記 授業内小テスト実施またはレポート提出
第10回 内容
「ポイントクラウド(1)」
ポイントクラウドの概要とPCLとROSの連携による実装について説明する.
授業時間外における学修(予習・復習等) (予習) ポイントクラウドについて調べておくこと.
(復習) PCLとROSを連携した実装環境を構築し,動作検証をおこなうこと.
授業実施特記 授業内小テスト実施またはレポート提出
第11回 内容
「ポイントクラウド(2)」
ポイントクラウドのマッチングとクラスタリングについて説明する.
授業時間外における学修(予習・復習等) (予習) サンプルコードを参考にマッチングとクラスタリングの処理について確認しておくこと.
(復習) マッチングとクラスタリングを実装し,その動作検証をおこなうこと.
授業実施特記 授業内小テスト実施またはレポート提出
第12回 内容
「ナビゲーション」
ROSパッケージを利用して,ロボットの自律走行を実現する方法について説明する.
授業時間外における学修(予習・復習等) (予習) 自律走行のワークフローを確認し,自己位置推定と経路・動作計画のアルゴリズムについて調べておくこと.
(復習) 自律走行を実装し,その動作検証をおこなうこと.
授業実施特記 授業内小テスト実施またはレポート提出
第13回 内容
「ロボットの行動監視と制御」
ROSパッケージを利用して,ロボットの行動監視と制御を実現する方法について説明する.
授業時間外における学修(予習・復習等) (予習) サンプルコードを参考に行動監視と制御のワークフローを確認しておくこと.
(復習) 行動監視と制御を実装し,その動作検証をおこなうこと.
授業実施特記 授業内小テスト実施またはレポート提出
第14回 内容
「成果発表(1): プレゼンテーション準備」
成果物として動力学シミュレーションまたは実機のロボット制御プログラムを作成し,そのプレゼンテーションの準備をおこなう.
授業時間外における学修(予習・復習等) (予習) プレゼンテーションの準備をおこなう.
(復習) 質疑応答,議論,指摘事項をふまえてプレゼンテーションを完成させる.
授業実施特記
第15回 内容
「成果発表(2): プレゼンテーション」
ロボットプログラミングの成果物についてのプレゼンテーションをおこなう.
授業時間外における学修(予習・復習等) (予習) プレゼンテーション資料を完成させる.
授業実施特記