SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

勉強会レポート

Pepper、BOT開発……最新技術はコミュニティで学ぼう! エンジニアが技術を習得するためのヒント

ロボットを使った物体認識アプリのハンズオン

 Tech-Circleは4月初旬に、ソフトバンクロボティクスのPepperを使い、ROS(Robot Operating System)と呼ばれるロボット開発フレームワークを利用した物体認識アプリを作るハンズオンを開催しました。このハンズオンでは、参加者が実際に手を動かしながら、Pepperにマンガ本やおもちゃなどを見せると、それが何であるかを判断してPepperが声で教えてくれるアプリを作っていきます。

ROS+Pepperによる物体認識アプリのハンズオンの様子(ソフトバンクロボティクスのPepperを活用し、Tech-Circleが独自に実施しているものです)
ROS+Pepperによる物体認識アプリのハンズオンの様子
(ソフトバンクロボティクスのPepperを活用し、Tech-Circleが独自に実施しているものです)

 勉強会は、Pepperの開発を体験できるスペースであり、ソフトバンクロボティクスが運営する「アトリエ秋葉原」で行いました。

 「アトリエ秋葉原」では、デベロッパーやクリエーターの方がロボアプリ開発のために利用できるPepperが常設しており、事前に登録さえすれば無料でロボアプリの動作確認ができます。

 勉強会では、まずロボット開発フレームワークROSの概要と、ROSのPub/Sub通信のしくみ、ROSが提供するGUIの可視化ツールの説明が15分ほどありました。

 次に、物体認識アプリのハンズオンを行いました。PepperはNAOqiと呼ばれるOSが動作しますが、ROSを使うときは、NAOqi-ROSブリッジノードを使ってアクセスします。開発はあらかじめ参加者のノートPCに環境をセットアップした状態で行います。ROSはUbuntuでの動作がサポートされていますので、WindowsおよびMac OS Xの場合は、Docker Toolboxを使って開発環境を構築します。これは勉強会の事前準備になりますが、あらかじめ詳細な手順が公開されていたため、特に手間取ることはありませんでした。

 ハンズオンその1では、まずROSコマンドの動作確認を行いました。ROSコマンドを使うと、Pepperの頭部のタッチセンサーやソナーで取得した値を表示できます。さらにカメラの画像を取得したり、ROSコマンドを実行することで、Pepperに発話させたり、任意の方向に移動させたりができることを確認しました。

 ハンズオンその2では、Pepperに物体を見せ、それがなにであるかを発話させるというアプリケーションを作成しました。

ROS+Pepperによる物体認識アプリ(ソフトバンクロボティクスのPepperを活用し、Tech-Circleが独自に実施しているものです)
ROS+Pepperによる物体認識アプリ
(ソフトバンクロボティクスのPepperを活用し、Tech-Circleが独自に実施しているものです)

 Pepperのカメラから取得した画像を認識するため、ROSが提供するfind_object_2dというパッケージを使用し、画像の特徴点や特徴量を基に画像認識を行います。Pythonで認識した画像オブジェクトと、それに対応する発話データをコーディングしていきます。実装コードは60行ほどですが、きちんとPepperによる物体認識アプリが完成しました。

 筆者は、LinuxやDockerの基本およびPythonの文法程度の知識のみで、ロボット開発や画像認識などの知識は全くありませんでしたが、取材で実際にPepperに触れてコードを動かすことで、開発の大まかな流れやROSフレームワークの概要などを2時間半足らずで学ぶことが出来ました。

 Tech-Circleの勉強会の多くはハンズオン形式で、勉強会の参加者に「手を動かして、実際に技術に触れてもらう」というスタイルをとっています。ただしハンズオンのため、勉強会本番に機器トラブルや環境構築の不備により動かないケースも想定されます。さらに、Tech-Circleが勉強会で取り扱う技術はメインテーマ以外も多岐にわたります。今回もROSだけでなく、DockerコンテナやPython/Ubuntuなどの知識が必要になります。そのため、毎回勉強会のリハーサルを行うそうです。リハーサルでは、ハンズオンの内容について事前に不具合が出そうなポイントや、参加者が躓きそうな箇所をメンバーが入念にチェックしていくそうです。

 Tech-Circle久保氏(TIS株式会社)はこう言います。「自分たちが人におすすめしたい技術をシェアし、これまで知らなかった技術に触れる機会を提供することにとことんこだわっています。技術に何らか触れるきっかけを作れる場にしたいという思いから、参加者が技術を楽しめるようハンズオンの要素を盛り込んでいきたいと常に考えています。」

Tech-Circleの勉強会の様子 写真提供:ロボットスタート株式会社(ソフトバンクロボティクスのPepperを活用し、Tech-Circleが独自に実施しているものです)
Tech-Circleの勉強会の様子 写真提供:ロボットスタート株式会社
(ソフトバンクロボティクスのPepperを活用し、Tech-Circleが独自に実施しているものです)

 先端技術の勉強会、というと優秀なエンジニアが、流行りの言語を使って、話題のツールでの開発手法を、綺麗なスライドで紹介するものとイメージしがちです。

 しかしながら、彼らの勉強会では、ハンズオンの準備、プレゼン資料やサンプルアプリケーションなど目に見える部分の準備だけでなく、事前テストやインフラの準備など、目に見えない細部にまでこだわり、メンバー全員でチームを形成して、参加者と一緒に進めるというスタイルをとっているのが大きな特徴でした。

 なおアトリエ秋葉原では、Tech-Circleが作成したハンズオン資料も用意されていますので、チュートリアルを見ながら1人で開発をすすめることもできます。

次のページ
BOTの可能性をみんなで共有する

この記事は参考になりましたか?

勉強会レポート連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 阿佐 志保(アサ シホ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9507 2016/06/27 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー