Dynamixel

From Robin

(Difference between revisions)
Jump to: navigation, search
Line 70: Line 70:
Preferred Library : [https://pypi.org/project/pyax12/ pyxa12]
Preferred Library : [https://pypi.org/project/pyax12/ pyxa12]
* For linux, the library can be loaded using:  
* For linux, the library can be loaded using:  
-
<code>
+
<code>
-
pip install --pre pyax12
+
pip install --pre pyax12
-
pip install --upgrade pyax12
+
pip install --upgrade pyax12
-
pip uninstall pyax12
+
pip uninstall pyax12
-
</code>
+
</code>
 +
 +
Or
-
  Or
+
  <code>
-
 
+
git clone https://github.com/jeremiedecock/pyax12.git  
-
<code>
+
cd pyax12
-
git clone https://github.com/jeremiedecock/pyax12.git  
+
python3 setup.py install  
-
cd pyax12
+
</code>
-
python3 setup.py install  
+
-
</code>
+
This library contain multiple examples such as toggle led to see which dynamixel corresponds to a specific id (led.py) as well a scan.py file where the set of ids for the dynamixel at specific baudrate can be identified. This can also be used to see what the id of one dynamixel is.  
This library contain multiple examples such as toggle led to see which dynamixel corresponds to a specific id (led.py) as well a scan.py file where the set of ids for the dynamixel at specific baudrate can be identified. This can also be used to see what the id of one dynamixel is.  
Line 94: Line 94:
Follow the instructions to load the library:  
Follow the instructions to load the library:  
-
<code>
+
<code>
-
git clone https://github.com/quentinsf/PyDynamixel.git
+
git clone https://github.com/quentinsf/PyDynamixel.git
-
cd PyDynamixel  
+
cd PyDynamixel  
-
python3 setup.py install  
+
python3 setup.py install  
-
</code>
+
</code>
'''Note: ''' this is the forked version of the original library as the original library only works with python2 so will give error message regarding importing registers with python3.   
'''Note: ''' this is the forked version of the original library as the original library only works with python2 so will give error message regarding importing registers with python3.   

Revision as of 15:45, 25 April 2023

See our getting started template on https://github.uio.no/robin-engineer/dynamixel

Dynamixel Software


Pinout: Image:u2d pinfigure.jpg


Contents

Information

The three dynamixel series in use are AX-12A, AX-18A and MX series. This guide for "getting started" is based on these three series. Refer to the image on the side for difference in the dynamixel series.

Getting Started

Components

Hardware

  • PSU - Dynamixel power supply
  • USB2Dynamixel converter
  • Dynamixel AX/MX series
  • Connecter – Power hub

Software

  • Dynamixel Wizard [1]
  • RoboPlus Manager 2.0 [2]

Connecting Dynamixel

Connect Dynamixel to PC using USB2Dynamixel converter. For AX series, only 3P connecter is required.

  1. Connect the dynamixel to connector using 3P connector.
  2. Using another 3P connector connect the USB2Dynamixel converter to connector.
  3. Connect Dynamixel PSU to connector (LED on the connector should turn on and the LED on the Dynamixel will blink upon connecting to power)

Update Firmware

Firmware controls the dynamixel and is installed on the dynamixel. It can be updated through the following steps:

  • Open "RoboPlus" to launch “Dynamixel Wizard" or directly open “Dynamixel Wizard”.
  • Select the right port and open it.
    • For windows the ports would be COM*, for LInux it should be in the form /dev/ ttyUSB*
    • <Start search> and on the side you should be able to see the actuator/dynamixel connected. Clicking on it would open up its description.
    • Select <Dynamixel firmware update> and follow the steps mentioned by the wizard. For more information refer to Dynamixel firmware update
      Dynamixel firmware update

Factory reset

  • Through Roboplus or directly open “Dynamixel Wizard”.
  • Click on dynamixel firmware recovery and follow the steps mentioned by the wizard
    Dynamixel recovery firmware
  • For more detailed info refer to step 4.

Assign IPs/ IDs

Ids are assigned automatically to dynamixel when they are connected. If you want to view or change the assigned ID:

  • Launch dynamixel wizard
  • Select the port the USB2Dynamixel is connected to.
    • Open the port and start search.
    • On the side you should be able to see the actuator/dynamixel connected. Clicking on it would open up its description.
  • In description, you can click on <ID>, change the id by assigning a new ID from <ID list> and selecting <Apply>.
  • Your dynamixel should now have the new IP/ID.

Communicating with Dynamixel

Through Python

There are multiple python libraries available which can be used to communicate with the dynamixel.

AX-12 Series

Preferred Library : pyxa12

  • For linux, the library can be loaded using:

pip install --pre pyax12
pip install --upgrade pyax12
pip uninstall pyax12


Or


git clone https://github.com/jeremiedecock/pyax12.git 
cd pyax12
python3 setup.py install 

This library contain multiple examples such as toggle led to see which dynamixel corresponds to a specific id (led.py) as well a scan.py file where the set of ids for the dynamixel at specific baudrate can be identified. This can also be used to see what the id of one dynamixel is.

for other OS (Windows and Mac) refer to pyxa12


AX-18 Series

Preferred Library: PyDynamixel library

Follow the instructions to load the library:


git clone https://github.com/quentinsf/PyDynamixel.git
cd PyDynamixel 
python3 setup.py install 

Note: this is the forked version of the original library as the original library only works with python2 so will give error message regarding importing registers with python3.


You could test out led_test.py to toggle the LED on the servos.

Make sure the ID, baudrate as well as port name is altered according to the dynamixel and port used.
The best way and easiest way to see the ID, baudrate is to check through dynamixel wizard. 
This search would also show the dynamixel is operating as it should. 
 

Through Arduino

Personal tools
Front page