ROS Japan UG #11 LT大会

話が遅くなりましたが、ROS Japan Users Groupの第11回のイベントはLT大会に決定しました。

https://rosjp.connpass.com/event/58755/

第11回では、私は「ROS 2 + Dockerによるフォールトレランス実践」というタイトルで発表するつもりです。そのネタはまだこのブログでは取り上げず、もう少しまとまってくるまで机の下で進めます。

ROS Japan UG #12 Raspberry Pi Mouseハッカソン

そして、まだ正式にはアナウンスをしていませんが、第12回のイベントは、Raspberry Pi Mouse(以下ラズパイマウス)ハッカソンになる予定です。 アールティ様からは20台のラズパイマウスを貸与していただき、GROOVE X様からは新社屋の一角を会場に提供していただき、共催で開きます。 お楽しみに!

ラズパイマウス・シミュレーション環境のセットアップ

本日からは、これまでの流れに則り、次のROS 2のデモであるTurtlebot 2のROS 2対応版のソースコードを見ていこうかとも思いました。

https://github.com/ros2/turtlebot2_demo

でも、せっかく第12回にラズパイマウス実機が触れることになったので、本日からは、このラズパイマウスをROS 2対応していく話を取り上げたいと思います。 幸い、Gazeboシミュレーション環境がありますし、Raspberry Piも2なら持っています。 上手くいくといいですが笑

ワークスペース設定

それでは、ラズパイマウスのシミュレーション環境をセットアップしましょう。 私のワークスペースは、以降ROS 1では~/ros/kineticを用います。バージョンはKineticです。

$ env | grep ROS
ROS_DISTRO=kinetic
ROS_ETC_DIR=/opt/ros/kinetic/etc/ros
ROS_ROOT=/opt/ros/kinetic/share/ros
ROS_MASTER_URI=http://localhost:11311
ROSLISP_PACKAGE_DIRECTORIES=/home/yutaka/ros/kinetic/devel/share/common-lisp
ROS_WORKSPACE=/home/yutaka/ros/kinetic

公式ではindigo-develまでしか用意されていませんでしたが、Ubuntu 16.04 + ROS Kineticで同ブランチを試したところ、上手くいきましたので、IndigoではなくKineticのままでいきます。 後日、Pull Requestを出そうと思います。

パッケージのビルド

最近のROS 1ユーザなら、ビルドツールはcatkin_toolsですよね! もし、使われていない方は簡単にインストールできるので、お試しください。

$ sudo apt install python-catkin-tools

$ sudo apt install ros-kinetic-gazebo-ros-control ros-kinetic-ros-controllers
$ cd `catkin locate -s`
$ pwd
/home/yutaka/ros/kinetic/src
$ git clone https://github.com/ryuichiueda/raspimouse_ros_2.git
$ git clone https://github.com/rt-net/raspimouse_sim.git
$ cd ..
$ catkin build

動作テスト

RVizとGazeboが起動するか、簡単に動作テストを行います。

$ . ~/ros/kinetic/devel/setup.zsh
$ roslaunch raspimouse_description display_urdf.launch

$ . ~/ros/kinetic/devel/setup.zsh
$ roslaunch raspimouse_gazebo raspimouse_with_samplemaze.launch

Gazeboのシミュレーション環境に迷路も付けてくれているので、後々の実験にはありがたいです。

明日からはTurtlebot2のROS 2対応のソースコードを参考にしながら、ラズパイマウスのROS 2対応を進めていきます。