5
2

More than 3 years have passed since last update.

ROS MelodicでDynamixel Servoを動かす備忘録

Last updated at Posted at 2020-03-24

概要

  • 書く予定

Ⅰ 使用するサーボの初期設定

  • ここではDynamixel Wizardを参考にサーボのIDと可動範囲を設定する。
  • 下のように1つのサーボを初期設定した。
  • CW(Clockwise Angle Limit)は最小値、CCW(Counter-Clockwise Angle Limit)は最大値を設定する。
  • Baud Rateはすべてのサーボで同じにすること!
[AX-18A]
ID: 1
Baud Rate: 1 (1000000 bps)
CW Angle Limit: 200
CCW Angle Limit: 600

Ⅱ GitHubからサーボのサンプルパッケージをダウンロード

- 以下のコマンドでダウンロードし解凍

$ cd catkin_ws/src
$ wget https://raw.githubusercontent.com/tatsumicro5/Lumos-2.0-catkin_ws/master/src/dynamixel_tutorials.zip
$ unzip dynamixel_tutorials.zip
$ rm dynamixel_tutorials.zip
  • ./basic.yaml./dynamixel_controller.launchを個人の設定に書き換える。
  • ./basic.yamlにⅠで設定したサーボと初期位置を設定する。
  • ./dynamixel_controller.launchにBaud RateとUSB Portを設定する。

Ⅲ コマンドでの動かし方

  • workspaceに移動し以下を実行
[Terminal #1]
$ cd catkin_ws
$ roslaunch dynamixel_tutorials dynamixel_controller.launch
  • 別のターミナルを開き、...dynamixel_commandまで入力しタブを押すと以下が出る。
[Terminal #2]
$ cd catkin_ws
$ rosservice call /dynamixel_workbench/dynamixel_command
"command: ''
id: 0
addr_name: ''
value: 0"
  • idは動かしたいサーボID、addr_nameには設定したいパラメータ(GoalPositionで目標角度)、valueでその値を設定する。
[Terminal #2]
$ cd catkin_ws
$ rosservice call /dynamixel_workbench/dynamixel_command
"command: ''
id: 1
addr_name: 'Goal_Position'
value: 400"
  • 動いた!

Ⅳ 次にpythonプログラムからserviceを送って制御する

Ⅴ GitHubにローカルプロジェクトを送る方法

5
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
5
2