Developed a humanoid dancing robot using multiple Dynamixel AX-12A smart servos. The project involved configuring servo communication, calibrating joint angles, programming synchronized body movements, and creating dance routines using Arduino and ROBOTIS software tools.
Terdapat 3 divisi, yaitu mekanik, elektronik dan programming. Detail dokumentasi setiap divisi dipisahkan sesuai branch pada repositori ini. Mekanik
Electrical
Programming
Installed the ESP32 board package through the Arduino IDE Board Manager to enable programming and uploading code to the ESP32. Add the Board Manager URL
- Open the Arduino IDE.
- Go to File > Preferences (or Arduino IDE > Settings... on macOS).
- Locate the Additional Boards Manager URLs field at the bottom.
- Click the icon to the right of the field and paste the following URL into the box: https://espressif.github.io/arduino-esp32/package_esp32_index.json
Used to communicate with AX-12A servos through the Dynamixel protocol from Arduino. The library supports reading and writing servo parameters such as position, speed, and torque. ([Arduino Libraries][1])
Dynamixel2Arduino GitHub Repository
Dynamixel Wizard 2.0 is the official ROBOTIS software used for servo configuration, diagnostics, firmware management, and motion testing. It allows users to detect servos, change IDs, configure baud rates, and monitor servo status in real time. ([ROBOTIS e-Manual][2])
Dynamixel Wizard 2.0 Download Page
Using Dynamixel Wizard 2.0:
- Scanned all connected AX-12A servos.
- Assigned unique IDs to each servo.
- Configured communication baud rate.
- Enabled torque control.
- Verified proper communication with every joint. ([ROBOTIS e-Manual][2])
Before programming the robot:
- Tested each AX-12A individually.
- Rotated servos manually using Dynamixel Wizard.
- Verified rotation direction.
- Identified mechanical limits of each joint.
- Checked for communication errors and abnormal behavior. ([ROBOTIS e-Manual][2])
For each robot joint:
- Determined the home position.
- Recorded minimum and maximum safe angles.
- Adjusted offsets to ensure symmetrical posture.
- Stored calibration values for software implementation.
