Close
0%
0%

Atlas - 6DOF 3D printed universal robot

An Odrive + steppers based construction, with 5x 3D printed hollow shaft reducers and an internal CAN network.

Similar projects worth following
Hi,
I'm creating a 3D printed 6DOF robotic arm (it's my 3,5th attempt), I'm printing my own cycloidal reducers, all 5 of them are hollow shaft, I'm using 8 encoders, 2x BLDC servos (Odrive), 4x stepper motors. The current state of the project is - I've got the robot running, internal communication is working, mechanical side is done, electronics are working as well but still need to be cleaned up, I'm currently learning to use ROS and Moveit! to integrate my robot into the ROS ecosystem.

I'm aiming at sub 0.5mm repeatability without changing load, and sub 2mm repeatability while changing load.

Load capability is 4.5kg max, 2.5kg what I’d call 'nominal'. Load is wrist limited, I was able to lift 9.5 kg at 0.5m with the Axis 1, 2, 3 assembly. Considering the mass of the robot that was about 60Nm at Ax2.

Use case - I’m trying to make it as versatile as possible, the end effector is easily swappable and has power and CAN

Detailed technical description: 

 (ax1 is the base rotation, ax2 the joint just above it, and so on...) 

 For control I use 5X Teensy 3.2 microcontrollers, they are connected together into a single CAN network, (Odrive is also on the same bus). Thanks to that I’m running just 5 cables through the entire thing - one for ground, one for 48V, one for 12v, and two for CAN.   Ax2 - Odrive driven BLDC, 2step reduction - 1:5 belt + 1:24 cycloidal, so 1:120,

Ax3- Odrive driven BLDC, 2step reduction - 1:4 belt + 1:21 cycloidal, so 1:84, 

Two encoders per axis for ax2 and 3. One encoder directly on the motor shaft, 8192PPR, used by the Odrive, and another one,  4096PPR on the joint driven by a dedicated belt(by 'dedicated belt' I mean one that has no load on it, and is used only to transmit rotation from the reducer output to the encoder - this increases precision in comparison to a belt that would be shared between and encoder and a motor) that is , giving 20480PPR for ax2 and 16384  for ax3 (1:5 for ax2; 1:4 for ax3). These ‘on joint’ encoders for ax2 and ax3 are connected to a single teensy, that's running two separate P loops - one for each axis, the output of these two P loops are two velocity commands for the Odrive. These are sent via CAN.

Ax4, 5, 6 - long nema17 steppers, also 2 step reduction, 1:2 belt (adjustable between 1:1 and 1:5 if needed) plus 1:11 cycloidal, so 1:22 total. The reducer I’m using here will be open source, it'll be called OpenCyRe. Each of these 3 wrist axis have their own encoder, driven by a dedicated belt, from the cycloidal gearbox output. The belt increaser is 1:5.25, the encoder is 512PPR, so the resolution of the joint rotation is 2688 for ax4, 5, and 6. Ax5 and ax6 run on the same teensy, and ax4 has its own teensy. That’s because the motor for ax5 and ax6 are not moving in relation to each other. The loop is again a simple P loop for all of these, the input is the ‘on joint’ encoder signal, the output is the frequency at which the stepper is making steps.

Ax1, single step 1:10 belt reduction, Nema 23 stepper motor, the encoder is a 1600PPR one, on a dedicated belt increaser (53:7) that increases the resolution to 11733 PPR  

The 5th teensy is used in the pendant, the pendant has 2x 3axis joysticks, which allows control over all degrees of freedom. This teensy is also supposed to be connectable to the pc, allowing position commands to be sent via serial. 

All axis are capable of 15RPM or more, the robot is capable of handling 2.5kg no problem, and up to 4,5kg if slowed down. The reach is 500mm. The positional repeatability is below 0.5 mm without changing the load, I haven't yet tested repeatability with vs. without load.

image/jpeg - 4.06 MB - 11/02/2019 at 01:52

Preview
Download

Portable Network Graphics (PNG) - 1.12 MB - 11/02/2019 at 01:52

Preview
Download

Portable Network Graphics (PNG) - 1.15 MB - 11/02/2019 at 01:52

Preview
Download

Portable Network Graphics (PNG) - 870.21 kB - 11/02/2019 at 01:52

Preview
Download

Portable Network Graphics (PNG) - 683.40 kB - 11/02/2019 at 01:52

Preview
Download

View all 12 files

View all 6 project logs

Enjoy this project?

Share

Discussions

Flynt Moreland wrote 11/06/2019 at 23:26 point

Wow!  I'm impressed.  I hope you take the time to share your design and instructions with the world.  I'd certainly consider building one.

  Are you sure? yes | no

Daren Schwenke wrote 11/05/2019 at 01:45 point

I like...

The use of lots of small/cheap bearings instead of an expensive (at that size) ring bearing.

That you planned your wire routing from the start.

How you took the time to make the finished product the same color scheme as the renderings.  :)

  Are you sure? yes | no

Dan Maloney wrote 11/05/2019 at 01:00 point

I died a little when that camera took a tumble. But it shows how strong the arm is. Looks great too.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates