コース紹介

@ホームサービスロボット製作総合実習

種別

総合実習

開講期

2019年9月2日~9月13日(土日除)
(10日間、4コマ/日、40コマ・60時間相当)

講師

九工大・田向准教授、森江教授

内容


RoboCup@ホームリーグで実際に用いているホームロボットの開発を行う.受講生は二班に分かれ,タスク設計,音声対話システム,FPGAを用いた組込みハードウェア実装による画像処理,ロボット移動制御,深層学習による画像認識,アーム制御等を分担し,共同開発を行う.最終的にそれらをロボットへと統合し,実際の家庭での利用を想定したタスクを実行させ,競技方式で成果を競う.詳細は以下の通り.

■場所:九工大(若松キャンパス),座学・実習:1Fロビー及び3F@ホーム室,コンテスト:1Fロビー
■人数・班構成:2班.各班6~7名,全体で12~14名
■使用機材:ロボット2台,ノートPC14台,GPU搭載PC 6台

■実習課題・必要要件・講師:
事前アンケートに基づき実習生の希望に応じて以下の課題のいずれかを選択して班を構成する.第1週は,まず,実習生全員にRobot Operating System(ROS)の講習を行う.次に選択課題ごとに設定された演習を,ロボットシミュレータまたはロボット実機を用いて実施する.第2週は班ごとに課題を統合してロボット実機に特定のタスクを実行させ,コンテスト形式の競技を行う.
※ 課題ごとに,日頃ロボカップ@ホーム活動を行っている学生のTAが付く.
※ 課題ごとに,使用プログラミング言語などの開発環境が異なる.
※ 演習内容は受講生に事前知識が無いことを想定して設計しているが,不安な受講生は開発環境の項目を参考に予習をしておくとよい.
※ PythonはC言語経験者であれば,演習初日・二日目の講習を受けることで問題なく活用可能.

1)チームリーダー・タスク設計・音声対話システム
サービスロボットがタスク(人間が言葉で命令したことをロボットが実行する課題)を実行する時の処理順序を計画し,ステートマシンを用いて記述する.この際,チームリーダーとしてメンバの意見をまとめてステートマシンに反映させると共に,チーム全体の開発進捗管理を行う. また,音声認識,音声合成を行うオープンソースであるJulius&Open JTalk(日本語),Google Cloud Speech API(英語)を用いてロボットの音声対話システムを構築する.言葉の揺れ(~を持ってきて,~を取ってきて)への対応や,予め定義されていない命令文にも柔軟に対応できる,頑健な音声対話システム構築と辞書作成を行う.
開発環境:ROS,Python,Julius,Open JTalk,Google Cloud Speech API
2)組み込みハードウェア実装による画像処理とオープンソース活用
物体認識のための画像処理を実装する.まず,ソフトウェア実装を行い,これを元に高位合成によりFPGAを用いた組込ハードウェア化を行う.また,Deep learningベースのオープンソース活用法を学ぶ.チームメンバらとの議論を通して,コンテストでの高得点獲得を目指し,自由なアイデアで様々なオープンソースをロボットへと組み込む.
開発環境:C++, OpenCV, High-Level Synthesis, ROS

3)移動台車制御・自己位置推定・環境地図作成(SLAM)
レーザレンジセンサを用いて周囲の環境地図の作成を行うと共に,ロボット自身の現在位置の特定を行う.また,移動方向や速度の制御プログラムを構築して移動台車の制御マイコンへ命令を送り,環境地図と自己位置の情報を元に,早く・円滑に目的地までロボットを移動させる.
開発環境:Python, ROS

4)物体認識・アーム制御
ロボット向けの画像認識として,Deep LearningのオープンソースYOLO v2を用いて識別器を構築する.学習用データセットの高速生成法を学び,独自データセットを用いてYOLO v2を学習させる.また,距離画像へPoint Cloud Library(PCL)を適用し,机や棚,および,把持対象物の3次元座標を取得する.画像から得た様々な情報を基に,対象物体を把持するためのロボットアーム制御を実現する.
開発環境:C++, Python,OpenCV,PCL,ROS

■レポート:実習終了後1週間以内に,各人の担当分をレポートに作成して提出.

実習計画
1. @ホームロボットの概要(1コマ)
2. ROS講習(6コマ)
3. 担当課題の実習(10コマ)
4. 担当課題成果まとめ(3コマ)
5. ロボット総合動作(16コマ)
6. コンテスト(1コマ)
7. 他実習のコンテスト見学(2コマ)
8. 発表(1コマ)

■事前学習用教材
 演習内容は受講生に事前知識が無いことを想定して設計しています.また,課題ごとにTAが付きサポートするので,特に事前の準備は必要ありません.もし,事前学習を行いたい場合は,全課題共通で用いるROSについて以下の教科書をお勧めいたします.WEBよりPDF版をフリーでダウンロード可能です.
 
表 允晳, 倉爪 亮, 渡邊 裕太 共著,詳説 ROSロボットプログラミング 導入からSLAM・Gazebo・MoveItまで, Kurazume Laboratory 出版, 2015年11月30日.
https://github.com/bmagyar/rosbook_jp

また,PythonやC言語をはじめとするプログラミング言語について,お持ちの教科書で復習をお願いします.


集合場所・時間


・初日集合時間: 2019/9/2, 13:00(ただし,インターンシップ生は午前中集合.別途連絡)
・初日集合場所: 九工大 1階ロビー
・持参物:筆記用具など
・2日目以降実習時間:第1週目10:30~17:50,第2週目9:30~16:30
・コンテスト時間: 2019/9/13 10:30~12:00
・コンテスト場所: 九工大 1階ロビー
・他総合実習コンテスト見学:9/13,13:00~16:10:自動運転車制御総合実習コンテスト見学,場所:早稲田大学 学生ロビー、大学院周辺の道路)