ROSでCRANE+V2を動かす
はじめに
研究用でロボットアームCRANE+V2を買ってもらったので、その使い方メモ。
アクチュエータにはDynamixelが使われているのでROSとの相性も抜群です。
環境構築
実行環境
- Ubuntu 16.04
- ROS Kinetic
ROSの環境構築がまだの方は以下のサイトを参考に導入してください。
Dynamixelパッケージインストール
以下のコマンドを入力し、ドライバをインストール。
$ cd ~/catkin_ws/src
$ git clone https://github.com/arebgun/dynamixel_motor.git
$ cd ..
$ catkin_make
動作チェック
はじめにパッケージの作成を行う。
$ cd ~/catkin_ws/src
$ catkin_create_pkg my_dynamixel_tutorial dynamixel_controllers std_msgs rospy roscpp
次に作成したパッケージの中にlaunchファイルを作成する。
$ roscd my_dynamixel_tutorial
$ mkdir launch | cd launch
$ sudo vi controller_manager.launch
ここで port_name を確認したい時は以下のコマンドで確認。
$ ls /dev/ttyUSB*
また、モータ動作にはパーミッショの設定が必要となるので以下のコマンドを入力。(ttyUSB0の場合)
$ sudo chmod 666 /dev/ttyUSB0
dynamixelのセットアップのために以下のコマンドを入力。 出力が表示のようになれば成功。
$ roslaunch my_dynamixel_tutorial controller_manager.launch
<中略>
[INFO] [1541683728.201621]: pan_tilt_port: Pinging motor IDs 1 through 25...
[INFO] [1541683730.663679]: pan_tilt_port: Found 5 motors - 5 AX-12 [1, 2, 3, 4, 5], initialization complete.
次にモータのコンフィギュレーションファイルを作成する。 新しいターミナル上でパッケージに移動し、以下の内容を記述。
$ roscd my_dynamixel_tutorial
$ sudo vi tilt.yaml
モータ動作のためのlaunchファイルを記述。
$ roscd my_dynamixel_tutorial/launch
$ sudo vi start_tilt_controller.launch
作成したlaunchファイルを起動。
$ roslaunch my_dynamixel_tutorial start_tilt_controller.launch
問題なくlaunchファイルを起動することができたら、 以下コマンドを入力。モータが動作するのを確認できれば成功。
$ rostopic pub -1 /tilt_controller/command std_msgs/Float64 -- 1.5