Untethered Pose Playback with DYNAMIXEL/ArbotiX

Description:

mt_ignore
Pose Playback
mt_ignore
PC Control
(Setup Only)
mt_ignore
Standalone

The ArbotiX-M Robocontroller can be used to easily 'play' a sequence of poses on DYNAMIXEL servos. These poses can run automatically, triggered by an outside input (like a pushbutton) or integrated into more advanced code.

This tutorial can be used in conjunction with the DYNApose tutorial. The DYNApose tutorial will help you to capture a series of poses while this tutorial will help you integrate those poses into new code.

This firmware does not use any Inverse Kinematic calculations to position the servos - it simply moves the servos to a pre-set position. Please see the 'Demo' section for your robot for more information on code examples that use IK engines.

If you are using an InterbotiX Robot Arm. see this article for more information on posing and playing back movements with the Arm Link software and IK engine.

Project Parts List:

OR

Any InterbotiX Robot Kit

Wiring:

Connection diagram for ArbotiX Robocontroller to servos and FTDI cable
Pin Device
DYNAMIXEL Bus DYNAMIXEL HUB/ Servo Chain
DC Jack SMPS Power Supply, Battery, or other 11-12v power

Download Code:

Download DYNApose Code for ArbotiX Robocontroller

Load the DYNApose Code onto the ArbotiX-M Robocontroller.

If you have problems loading your code onto your ArbotiX-M, see the ArbotiX Getting Started Guide.

Once loaded onto the ArbotiX-M Robocontroller, open the Serial Monitor . Set the baud rate in the lower right hand corner to 38400 baud.

Using DYNAPose

1 - Relax Servos

Send a 1 using the Serial Monitor to relax all the servos. This will allow you to pose the robot.

2 - Enable Torque

Send a 2 using the Serial Monitor to turn the Torque on for all of the servos. The servos will stay in the current position.

AX servos have a 300 degree limit - make sure to only pose the arm within its range.

3 - Save Pose

Send a 3 using the Serial Monitor to save the current pose to the next avaialble pose in memory.

The current positions of the servos will be saved, whether the servos torque is on or off.

If there is an error in reading all of the servos, you will get an error message, and the 'next avaialble pose' value will stay the same.

4 - Display All Poses

Send a 4 using the Serial Monitor to display all of the current poses. Once you've set all the poses, save this code to put in your own code.

5 - Play Sequence - Once

Send a 5 using the Serial Monitor to play through all of the poses once. Any pose that has not have data set to it will be skipped.

Send any data to the serial monitor to stop the sequence. Keep in mind that the sequence can only be stopped at the end of a pose change, so you may need to wait for the current pose to finish.

6 - Play Sequence - Repeat

Send a 6 using the Serial Monitor toplay through all of the poses repeatedly. Any pose that has not have data set to it will be skipped. The poses will continue to cycle until you power off the arm, or send a stop signal.

Send any data to the serial monitor to stop the sequence. Keep in mind that the sequence can only be stopped at the end of a pose change, so you may need to wait for the current pose to finish.

7 - Change Speed

Send a 7 using the Serial Monitor to initiate the speed adjustment. You will now be able to enter a number between 500 and 10000. This represents the number of milliseconds between each pose, so a smaller number will increase the speed.

8 - Set Next Pose Number

Everytime you sucessfully save a pose, the 'next avaialble pose' will increase by one. If you would like to overwrite a specific pose, use this option.

Once this option is selected, you can enter in the number of the next pose you would like to save over.

9 - Center Servos

Send a 9 using the Serial Monitor to set all the servos to their centered positions. This can be useful to check servo alignment.

Optional: Using XBees for Wireless posing:

Control:

×

PC Control These demos and projects allow the robot to be controlled via a computer.

ArbotiX Commander Control - These demos and projects control the Robot using the ArbotiX Commander, the handheld Arduino based remote control.

Direct Control - These demos and projects control the Robot directly from sensors connected directly to the Robot's control board.

Pose Control - These demos and projects allow you to create and playback a sequence of poses.

Serial Control - These demos and projects control the robot using a serial packet protocol.

Standalone - These demos and projects are deisgned to let your robot function without a computer or additional microcontroller.

Wireless Control - These demos and projects allow you to control the robot wirelessly - usually by replacing the Serial Connection with XBee modules.

Reference - These articles have technical details regarding the control and operation of the robot.

×

More info here