九州工業大学 CIR-KIT Blog

九工大自律移動ロボット製作プロジェクトCIR-KITの技術系ブログ

ArduinoをROSで動かす

 Arduino を ROS で動かす

概要

ROSのトピックなどをArduinoで利用するためのインストール等.

検証情報

日時

03/09/2015 (Mon)

スペック

パーツ スペック
PC Panasonic Let’s note CF-LX3TG7TC
Prosessor Intel core i7-4500U (1.8GHz)
RAM DDR3 SDRAM(PC3-12800) 4GB
OS Ubuntu 14.04.2 LTS 64bit
Kernel 3.13.0-46-generic
ROS indigo 1.11.10
Arduino Arduino UNO

前提条件

対象 条件 参考
ROS Install済み CIR-KITメンバーが必ずすべきこと
Arduino Install済み ‘sudo apt-get install Arduino’

Arduino で ROS を利用する

ArduinoをROSに見せかけ,実行するためのパッケージ群であるrosserialを落とします. 対象パッケージのROS Wikiを参考に行います.

install

参考サイトの3.install the Softwereを見ると,rosserial_arduinoを落とすには2種類の方法があるようです.しかし,実行に必要なrosserial_python等も入れるためにrosserialパッケージ群をgitで落とします.

1
2
3
4
5
6
  cd <ws>/src
  git clone https://github.com/ros-drivers/rosserial.git
  cd ../
  catkin_make
  catkin_make install
  source <ws>/install/setup.bash

この時,~/.bashrcsource <ws>/install/setup.bashを追加しておくことを推奨します.(以後入力がいらなくなります)

  • Note:devel/setup.bashでは無いことに注意してください

setup

3.3にArduinoの(ごく普通の)ライブラリとしてros_libを追加するように書いてあります. 必ずroscoreを起動して下のコマンドでros_libを追加してください.

<sketchbook>は各自のArduinoのライブラリがあるディレクトリに置き換えてください.

1
2
  cd <sketchbook>/libraries
  rosrun rosserial_arduino make_libraries.py .
  • Note:環境によってlibrariesディレクトリの名前や場所が違うので注意.(例えば~/sketchbook/liblaries)
  • sketchbookはrosパッケージ内に作ると管理しやすいと思います.

使ってみる

/libraries/examples/HelloWorld/HelloWorld.pdeをビルドしてみる. Arduino IDEなら下の画像の所をクリックすることでソースが出るので,それをビルドして書き込んでください.

arduinoIed1

このプログラムは,chatterトピックに”Hello world”と1秒毎にPublishします. Arduinoへの書き込みが済んだら,早速確認してみましょう.

  1. まずはroscoreを起動します.
  2. 次にrosrun rosserial_python serial_node.py _port:=/dev/ttyACM0を起動します.

Note: _port:=のパスは自分のArduinoへのパスを入れてください.

これでchatterトピックへの配信が始まりました.rostopicで確認してみましょう.

1
rostopic echo chatter

“Hello World”と送られていたら成功です.

rosserial_python serial_nodeでArduinoに書き込んだノードを実行していると考えるとわかりやすいと思います.(実際は全然違います)