mechanical design


We designed our dragon to be a multi-segmented mechanical arm capable of maneuvering through complex geometries to achieve configurations that would otherwise be difficult for conventional robots. With its versatility, possible applications include next generation manufacturing, search and rescue, deep-sea and space exploration, and automated refueling. 

By utilizing Canfield joints, we are able to achieve hemispherical motion for each segment. We implemented modular design to allow interchangeable segments that are standalone. With concatenation of the joints, complex geometries can be configured with our dragon.

A four-bar mechanism was designed to translate the rotational servo outputs to the motion of all three legs at each segment. Further optimization was performed to achieve a desired balance between servo torque and overall range of motion.  

Aluminum was used in the majority of the skeleton. Stainless steel pins with ball bearings and bronze bushings were implemented to ensure joints quality. A prototype was first made using a combination of CNC operations and post-machining. Production units were made by waterjet for the roughing cut and post-machined for the detailed features.




A bus-line scheme is used to support to modular connectivity between Segments. Each segment carries a length of power cable and signal wires, with standardized mating interfaces on top and bottom. When a desired number of Segments are attached to each other, electrical power and I²C signal are piped through the assembly and each Segment can be powered and controlled.

Electrical power is derived from 110VAC mains using a high-amperage 12VDC power supply unit and is passed into the power lines. The 12VDC is then stepped down to various voltage levels using linear regulators to power different components of the Dragon.  




A Raspberry Pi is implemented to carry out central Command. It first receives user commands regarding operation mode and movement coordinates through the keyboard and monitor, and then computes the appropriate actuation set-points for each Segment on the I²C bus line. The set-points are then sent to each Segment's micro-controller (Arduino), awaiting at distinct I²C addresses predefined by a jumper shunt on the Dragon PCB. Once the set-points are received by the Segment, the micro-controller generates the appropriate PWM signal to move the servos to the specific points.