はじめに
近年、PepperやRoBoHoNなどさまざまなロボットが各社から登場し、ロボットブームと呼ばれています。エンジニア界隈でも、各地でロボットに関連した勉強会やハッカソンが開催され、手軽にロボットプログラミングを経験できる機会が増えてきました。
本連載では、一通りのロボット作りを体験してもらうために、ラズパイと組み合わせて作る移動ロボットキットである「GoPiGo」(ゴーパイゴー)を使って、遠隔見守りロボットを作ってみたいと思います。開発ではロボット制御フレームワークとして世界的に有名な「ROS」を使用し、その解説も適宜行いながら進めていきたいと思います。
対象読者
本記事は、次の方を対象にしています。
- 基本的なLinuxコマンドを理解されている方
- ROS初心者の方
- 実物を使ったロボット開発を一通り体験したい方
GoPiGoとは
GoPiGo(ゴーパイゴー)とは、ラスパイと組み合わせて作る、移動ロボットキットです。
ドライバー1本で組み立てることができ、カメラや超音波センサーなどを追加してカスタマイズも可能なロボットです。
詳細なドキュメントや組み立て動画が用意されているので、ロボット開発が初めての方でも気軽に開発を始めることができます。
価格はBase Kit 99ドル(ラズパイなし)、Starter Kit 199ドル(ラズパイ付)でDexter Industriesから発売されています。
なぜROSなのか?
今回はROS(Robot Operating System)というロボット用フレームワークを使ってアプリケーションを作っていきます。ROSはOSS(オープンソースソフトウェア)のロボット用フレームワークです。
ロボット開発に必要な可視化・デバッグなどのツールや、シミュレータなどのさまざまなライブラリ連携、自律移動をはじめとしたソフトウェア機能群が充実しています。そのため、世界中の多くの移動ロボット・産業用ロボットに使われています。
例えば、BMWの自動運転車やトヨタ自動車の生活支援ロボットHSRにもROSが活用されています。
ROSの特徴は、ロボット開発で必要なソフトウェア部品(認識、移動、アーム制御などの機能)を開発者が自由に組み合わせて作れるように、再利用性の高い設計がなされていることです。これにより、他の開発者が作ったそれらの部品を簡単に自分のロボットに組みこむことができます。
実際、世界中の大学、企業、研究機関などが開発した数千にものぼる機能が無料で公開・配布されています。このように、数多くの高度な機能をすぐにロボットに組み込めることがROS人気の一つの理由となっています。
この連載では、ROSで配布されている機能をなるべく再利用しながらアプリケーションを作っていきます。これにより、スピーディーに開発できることを体験していただければと思います。