2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Arduinoを用いたローバー制御(実機編)

Last updated at Posted at 2019-11-16

テーマ記事へのリンク

以下の記事には今回のテーマを設定した目的や関連記事がまとめてあります。自分が見たい項目がある場合は利用してください。自作ロボット(ローバー)のROS対応

目次

準備するもの

ArduinoIDE

ros_libの生成

ArduinoIDEでの書き込み設定

ローバーの動作チェック

つまずいた部分

準備するもの

  1. 3WD48mmオムニホイールモバイルロボット(以下、ローバー)

  2. Ubuntu 16.04 (Windowsでも可)

3WD48mmオムニホイールモバイルロボット (10019)

ArduinoIDE

Arduinoでの統合開発環境。

公式サイトからLinux 64bitをクリックし、寄付するかどうかの質問を乗り越えてダウンロード。

ダウンロードしたファイルを展開し、インストールする。

$ cd Downloads

$ tar Jxfv arduino-1.8.10-linux64.tar.xz

$ cd arduino-1.8.10-linux64

$ ./install.sh

これによりホームディレクトリにArduinoフォルダが生成される。Arduino/librariesフォルダに、適宜使用するライブラリを入れることで、rosのパッケージなどを使用することが出来る。

ros_libの生成

ROS Melodicの場合
rosserialとrosserial_aruduinoパッケージをインストールする。

$ sudo apt-get install ros-melodic-rosserial-arduino
$ sudo apt-get install ros-melodic-rosserial

続いて、arduino側で使用するrosパッケージを準備する。

$ wget https://downloads.arduino.cc/arduino-1.8.13-linux64.tar.xz
$ tar Jxfv arduino-1.8.13-linux64.tar.xz
$ cd arduino-1.8.13-linux64.tar.xz/libraries
$ rosrun rosserial_arduino make_libraries.py .
$ cp -r ros_lib ~/Arduino/libraries

ArduinoIDEでの書き込み設定

ツールタブのボード、Clock,シリアルポートを以下の設定にする。

  • ボード:ATmega328P
  • Clock:8MHz/X'tal
  • シリアルポート:dev/ttyUSB0(使用する環境による)

ローバーの動作チェック

販売元が購入者のみにソースコードやマニュアルを公開している。そのためライブラリがないとソースコードがコンパイルできません。ご了承ください。

以下のソースコードをcloneし、rover/arduino_scripts/rover_sirial IDEでコンパイルしてからローバーに書き込む。

Arduino IDEのシリアルモニターからコマンド(r,fなど)を入力して旋回、前進すれば成功。
2020/11/27追記:melodicだと、なぜかスクリプトで設定した通信速度にずれが生じている。スクリプトで設定した通信速度の倍でシリアルモニタ側の通信速度を設定することで、正常に動作する。
例:スクリプトで"node_handle.getHardware()->setBaud(9600);"と設定したならば、シリアルモニタは19200bpsに設定する。

$ git clone https://github.com/NaotakaKawata/rover.git rover

つまずいた部分

  1. 英語のマニュアルを読みながら進めていたのだが、書いてあるサンプルコードと実際に刺さっているポート番号が違う。エンコーダ付きDCモータが付属しているので返り値を見て気づいたが、初めて既製品のロボットを買ったので基本的なチェックを怠ってしまった。皆さんは気を付けてください。

  2. サンプルコードも最初は提供されたソースを使い動作チェックを行いましょう。部品が壊れている可能性もあります。

    →筆者はタイヤとDCモータの間に取り付けるアルミハブの穴径が違っため、一度返送している。丁寧な対応だったのでその点は満足している。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?