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 | |
この時,~/.bashrcへsource <ws>/install/setup.bashを追加しておくことを推奨します.(以後入力がいらなくなります)
- Note:devel/setup.bashでは無いことに注意してください
setup
3.3にArduinoの(ごく普通の)ライブラリとしてros_libを追加するように書いてあります.
必ずroscoreを起動して下のコマンドでros_libを追加してください.
<sketchbook>は各自のArduinoのライブラリがあるディレクトリに置き換えてください.
1 2 | |
- Note:環境によってlibrariesディレクトリの名前や場所が違うので注意.(例えば
~/sketchbook/liblaries) - sketchbookはrosパッケージ内に作ると管理しやすいと思います.
使ってみる
/libraries/examples/HelloWorld/HelloWorld.pdeをビルドしてみる.
Arduino IDEなら下の画像の所をクリックすることでソースが出るので,それをビルドして書き込んでください.

このプログラムは,chatterトピックに”Hello world”と1秒毎にPublishします.
Arduinoへの書き込みが済んだら,早速確認してみましょう.
- まずは
roscoreを起動します. - 次に
rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0を起動します.
Note: _port:=のパスは自分のArduinoへのパスを入れてください.
これでchatterトピックへの配信が始まりました.rostopicで確認してみましょう.
1
| |
“Hello World”と送られていたら成功です.
rosserial_python serial_nodeでArduinoに書き込んだノードを実行していると考えるとわかりやすいと思います.(実際は全然違います)