Gripper on Fawkes
RT-SHOP のロボットアーム ”CRANE+”(クラインプラス)を購入してみました.
モーターとして,Dynamixel AX-12Aを使っており,角度の読み取りが可能となっています.
Logistics League で用いているFawkes にもdynamixel 用のplugin が用意されています.
その辺りの使い方のメモです.
まず,fawkes-robotino/cfg/conf.d/dynamixel.yaml の変更箇所です.
# top element, e.g. ptu or example. ax12gripper: active: true device: /dev/usb2ax
まずは,active の項目をfalse からtrue に変えましょう.
サーボモーターの通信には,USB → RS232C 変換モジュールを通して行いますので,
モジュールのデバイスにusb2ax としてシンボリックリンクを張っておきます.
sudo ln -s /dev/ttyUSB0 /dev/usb2ax sudo chmod 6666 /dev/usb2ax
# Either set the desired servo IDs that should be found in the servo chain # or leave this field empty (servos: []) to discover all available servos servos: [1, 5]
サーボモーターのID をいれましょう.
よくわからなかったら,servos: [] のように括弧だけにしたら,1から順に探してくれます.
そして,一番大切な変更が,シリアル通信の通信速度です.
fawkes-robotino/fawkes/src/plugins/dynamixel/servo_chain.cpp
// cfsetospeed(¶m, B57600); // cfsetispeed(¶m, B57600); cfsetospeed(¶m, B1000000); cfsetispeed(¶m, B1000000);
サーボの通信速度の初期値は,1000000bps ですので,57600bps から変更します.
その後,
make all gui
を忘れないように.
起動のプラグインのメタタグは,以下の通りです.
fawkes-robotino/cfg/conf.d/meta_plugins.yaml
m-btr: ros,m-bare,m-fv,navgraph,navgraph-generator,navgraph-generator-mps,skiller,m-clips,clips-agent,joystick,dynamixel,ax12_gripper
firevision の調子が悪いので,m-fv のみに削っています.
joystick の使い方に関しては,これから読み取きます.
void GripperAX12AThread::loop() { ... joystick_if_->read(); if (joystick_if_->pressed_buttons() & JoystickInterface::BUTTON_13) { goto_gripper(__cfg_left_open_angle, __cfg_right_open_angle); } else if (joystick_if_->pressed_buttons() & JoystickInterface::BUTTON_12) { goto_gripper(__cfg_left_close_angle, __cfg_right_close_angle); }
とのことで,ボタンを押しながら(&が一つなので,押されたボタン情報と12,13番ボタンとのANDを取って,押下チェックしているだけでした),12番,13番のボタンを押せば,グリッパーを閉じたり開いたりできるそうです.
って,12,13番のボタンってどれやねん….
見つけられなかったので,BUTTON_1 と BUTTON_2に変更したら,右側のボタンでモーターが動作しました.
コメントを残す