日本ロボット学会 第 106 回ロボット工学セミナー 実施報告書

ロボットの作り方～ROS を使用した画像処理とマニピュレータ制御～
1．実施概要日時：2017 年 6 月 17 日（土）10:00 〜 18 日（日）17:00
会場：
筑波大学 筑波キャンパス 第 3 エリア 3L 棟 3 階 3L307 号室（茨城県つくば市天王台 1-1-1）
参加者数：
48 名（現地参加のみ）
口上：
近年，家庭や工場における物体のピッキングに関する研究が注目を集めている．そこで，2017 年度の「ロボットの作り方」では，学生・研究者・技術者などを対象に，講義や実習を通して，移動ロボットに搭載可能なマニピュレータを ROS で制御するための基礎知識や実用技術を提供します．また，操作対象物体を認識するための画像処理を ROSで実装する方法も解説します．
演習内容：
テーブル上に置かれたスポンジの位置を画像処理により求め，その位置を変更するためにマニピュレータを制御する．
オーガナイザー：
ジェフ ビグス（産業技術総合研究所）
鈴木 拓央（愛知県立大学）
サブオーガナイザー：
阪東 茂（日立建機）
宮脇 健三郎（大阪工業大学）
アドバイザー：
中内 靖（筑波大学）

2．実施内容【1 日目】
オーガナイザーをはじめとした運営メンバーは，セミナー開始の 1 時間前（9 時）に会場に入り，演習キットの搬入や机のレイアウト変更などを行った．会場設営と平行して受付作業を行い，演習テキストと共に，ネットワークアカウントの利用申請書を配布した．ウェブサイトにアクセスマップを掲載しておいたこともあり，「道に迷った」という参加者は特に見受けられなかった．
開会式ではオーガナイザーとアドバイザーの自己紹介を行い，セミナーの主旨を説明した．また，セミナー全体の流れについても説明した．
本年度は理論を学んだあとに演習を行うことで，参加者の理解を深めることを狙った．
そのため，セミナーの最初に講義 1「ROS 概論」を行った．講師はオーガナイザーでもある産業技術総合研究所のジェフ ビグスが担当した．講義の内容は ROS の歴史から始まり，次にノードやトピックといった ROS 用語の説明が行われた．さらに，現在，開発が進められている ROS2 についての説明も行われた．多くの参加者がメモを取りながら熱心に聴講しており，ROS に対する関心の高さを改めて実感した．講義後，休憩時間に質問する参加者も多く見られた．

図 1：講義 1 で ROS について説明するビグス
講義 1 に続いて演習を開始した．まずは Linux の基本的な操作を確認し，参加者が事前に構築した開発環境を確認した．パソコンがネットワークに繋がらないなどの問題が発生したが，概ね順調に進めることができた．また，Ubuntu を仮想化ソフトウェアで動作させている参加者がいたため，今後のために各種設定を変更して頂いた．Linux の基
本的な操作については演習テキストの完成度も高く，来年度以降は事前配布資料としても良いかもしれない．
その後はマニピュレータの動作確認を行った．演習キットを各グループに配布し，クランプを用いて作業机に固定して頂いた．そして，オーガナイザーの説明に従いマニピュレータの動作を確認した．マニピュレータのメーカーが提供するドライバソフトウェアをコンパイルし，さらにオーガナイザーが提供する簡単なソフトウェアもコンパイルし，サーボモータが正常に動作するかどうかを一つずつ試した．動作確認は順調に進めることができ，スケジュール通りに昼休みを取ることができた．
1 日目の午後は，最初に講義 2「マニピュレータ制御と TF 概論」を行った．講師はトヨタ自動車の朝原佳昭氏に依頼した．前半はマニピュレータを制御するために必要となる運動学などの説明が行われ，後半は tf の仕組みと実装方法に関する説明が行われた．
また，講義の最後にトヨタ自動車が開発している生活支援ロボット「HSR」を使用したデモンストレーションが行われた．このデモンストレーションでは，AR マーカーの付いたボックスを掴む動作を通して，tf がどのように役立っているかが解説された．また，HSR 自身が実装されている機能を紹介するデモンストレーションも行われたが，食い入るような眼差しで HSR を注視する参加者がいた．デモンストレーションのおかげもあり，笑い声の溢れる楽しい講義となった．
上記のデモンストレーションを行うため，昼休みの前に筑波大学で HSR を受け取った．そして，午前の演習中に控え室にて HSR の動作確認を行い，昼休み中にリハーサルを行った．入念に手順を確認しておいたことで，円滑にデモンストレーションを実施することができた．

図 2：講義 2 で tf について説明する朝原氏

図 3：実装されている機能を自ら説明する HSR
講義 2 のあとは ROS の基本操作として ROS ノードの作成方法や実行方法などを，実際に手を動かしながら学んで頂いた．初心者と経験者の間で演習の進捗度に差が出始めた
が，サブオーガナイザーや元オーガナイザー，TA の方々の助けも有り．大半のグループが用意した内容を熟すことができた．一部のグループには開発環境に依存する問題が発生したため，個別に対応した．ROS の基本操作を完了したあと，本題であるマニピュレータ制御に入った．
ROS ノードを作成しながら少しずつ MoveIt!の API の機能を説明し，参加者には演習を通して API の使用方法を練習して頂いた．本セクションはいくつかの課題に分け，さらに MoveIt!の基本操作の課題とそれに基づいた追加課題に分けた．1
日目の終了までに全てのグループが基本操作の課題を達成した．追加課題に挑戦できたグループは少なかったが，実習時間があれば十分達成可能であったと感じた．そのため,課題の難易度は適切であったと考える．
【2 日目】
2 日目の午前はカメラの動作確認を行ったあと，画像処理に関する演習を行った．
演習に先立ち，三脚とカメラを固定するように指示し，演習で使用するチェスボードや厚紙を配布した．まず，初心者が間違いやすいキャリブレーションの方法を説明した．予定よりも時間が掛かってしまったが，チェスボードを撮影する際のテクニックを丁寧に教えることで，全てのグループが適切にキャリブレーションを完了することができた．そして，スポンジの位置を認識するための 2 種類の手法を示したあと，サンプルプログラムをダウンロードして頂き，各グループの環境に合わせてパラメーター（閾値）を調整して頂いた．蛍光灯の真下となったグループは調整に苦労していたが，全てのグループがスポンジの位置を認識することができた．演習を 10 分ほど延長したため昼休みを後ろにずらすことになったが，大きな問題は特に発生しなかった．

図 4：画像処理について説明する鈴木
2 日目の午後は ROS の便利機能として roslaunch や rosbag などを説明した．また，マニピュレータの状態を確認するために，RViz の表示を変更する方法や MoveIt!の現状（プランニング状況等）を表示する方法を丁寧に説明した．ハードウェアが手元にないときのために，マニピュレータのシミュレータ版も説明した．セミナー後のアンケートには「ハードウェアが 1 台しかないので実習の効率が悪い」とのコメントがあったた
め，シミュレータの紹介を 1 日目に行う方が良かったと思われる．また，画面が小さい
PC を持参した参加者は RViz の表示が見にくく，四苦八苦しているようだった．そのため，来年度以降は画面の大きさについても目安を示した方が良いと考えた．
最後のセッションでは，複数の ROS パッケージを統合し，1 つのシステムを構築する方法を説明した．このとき，多くのグループでエラーが発生したが，そのほとんどがマニピュレータのキャリブレーションの順番を間違えていることが原因であった．最終的には全てのグループがスポンジを移動することに成功したため，演習全体の難易度は適切であったと考えている．余裕のあるグループもいくつか存在し，それらの多くは画像処理プログラムを再調整し，高精度化を目指していた．上述のとおり，参加者は演習内容を十分に理解できたようで，演習後に集合写真を撮影するときには，皆，晴れやかな表情となっていた．

図 5：システムを統合しているときの演習風景

図 6：演習後の集合写真
閉会式では，サブオーガナイザーより来年度のセミナーに関する説明があり，3 次元センサーの使用を検討していることが述べられた．また，セミナー後に役立つ情報として，ROS Japan Users Group や World Robot Summit などの紹介もあった．セミナー後の後片付けは 1 時間程度で終えることができ，怪我やトラブルもなく，無事にセミナーを終了することができた．

図 7：来年度のセミナーについて説明する宮脇氏と阪東氏

3．感想
本年度のセミナーでは，昨年度のセミナーで問題となったネットワーク環境に対して，筑波大学の短期利用者向けアカウントを発行することで，全ての参加者に対して高速通信環境を提供した．そのため，演習テキストのウェブページを安定して閲覧することができただけでなく，演習中に必要な ROS パッケージをダウンロードすることや YouTubeのサンプル動画を視聴することもできた．
当初は会場として 3L307 号室のみを手配していたが，同室に加えて 3L301-1 号室を控え室として手配した．結果，3L307 にある不要な機器を 3L301-1 へ移動することで十分な動線を確保することができ，円滑にセミナーを実施することができた．また，控え室は HSR の動作確認を行うためのスペースとしても活用できた．
マニピュレータ制御を演習テーマに設定したことについては，適切であったと考えている．実際にマニピュレータを動作させるためには制御理論だけでなく，キャリブレーションなどのセットアップが重要となる．本年度のセミナーでは基礎理論を講義で，セットアップ方法を演習で教えることができたと考えている．理解度は参加者ごとに異なるが，結果としてマニピュレータを制御できたことで満足して頂けたのではないかと考えている．オーガナイザーとしては，マニピュレータは作業机で演習を進めることができるため，会場内の人口密度が高く，活気のあるセミナーになったと考えている．
画像処理についても同様のことが言え，チェスボードを用いたキャリブレーション方法と画像の保存方法を基本として演習中に教えた．画像処理の理論については，OpenCVのライブラリーに十分な情報があると考え，講義は行わなかった．その代わりに OpenCVの各種画像処理を気軽に試す方法として，ROS パッケージ「opencv_apps」を紹介した．
興味を持ったグループは空き時間に実際に同パッケージを使用し，楽しみながら画像処

理の基礎を学んでいた．
ROS は専門分野の異なる研究者・技術者が使用しており，オーガナイザーとしてはセミナーを通して人脈を広げられたことはプラスとなった．ROS Japan Users Group などを通して交流を深めることも可能であるが，セミナー中にも他の参加者と気軽に話せる機会を上手く設定しても良いのではないかと考えた．
本年度は筑波大学の知能ロボット研究室に所属する学生に TA を依頼したが，彼らは十分な知識・技術を備えていた．これがセミナーを円滑に進めることができた一因であることは間違いない．例えば，マニピュレータの電源アダプタを忘れたグループに対しては，安定化電源と自作ケーブルで対処して頂いた．来年度以降も，最低限，ROS のプログラミングに長けた TA を確保することが重要であると考えている．
筑波大学を会場としたことも適切であったと考えている．つくば市にはロボット関連の研究所や企業が集積しており，毎年のようにロボット関連の学術会議が開催されている．セミナーの参加者はこれからロボット研究を始める初心者であるが，初心者がつくばに集まる機会を定期的に設けることで，より一層ハブとしての機能が向上すると考えている．また，つくば駅周辺はつくばチャレンジの会場となっているため，実際にコースを確認する機会となり，セミナーを通して将来の参加者を育成できればとも考えている．
セミナー後のアンケートの結果によると，セミナー全体の満足度は 89%と高かった．
参加者のネガティブな意見は「演習時間が足らない」というものが大半を占めており，2 日間の限られた時間の中で，如何に演習時間を確保するかが来年度以降も課題となると考えている．また，「復習が必要と感じた」という意見も多く挙がったが，本年度はGitHub を利用して演習テキストやサンプルプログラムを公開しているため，セミナー後も活用して頂けているのではないかと考えている．

4．謝辞
セミナーの実施に際し，ご協力・ご支援頂いた方々に感謝を申し上げます．特に，有益なご助言を多数頂いた事業計画委員会の皆様，講義の講師をご快諾頂いたトヨタ自動車の朝原様，当日の受付業務をご担当頂いた事務局の水谷様には厚く御礼申し上げます．
最後に，セミナーにご参加頂いた皆様にも心より御礼申し上げます．
2017 年 7 月 18 日
ジェフ ビグス（産業技術総合研究所）
鈴木 拓央（愛知県立大学）