Using open source hardware controller Ultimachine Archim with custom encoder board and custom open source software.
Project Phases:
Phase 1: 3D print and build SCARA robot off the shelf design
Phase 2: Develop open source control software built to run on open source hardware with computer vision and overall control of application with ROS2 on Linux laptop
Phase 3: Redesign 3D printable SCARA robot 100% open source with some design changes and custom configuration ability. New design will be done in JavaCAD and have choice of various actuators. Code generated CAD and 3D Print files.
Hey folks !! Starting this project to accomplish a number of things but the main focus is to learn ROS2 and building robotics systems using ROS2 but you know its got my usual roundabout extra challenging approach of having a few other projects within it!! Lets get an overview of what that means:
- Designing a PCB that can interface with quadrature encoders (using Stepper motors that have them for the arm) - Writing a custom firmware to control the robot that models the SCARA using dh Parameters and computes forward and inverse kinematics on the metal. Firmware written in Arduino/C++ . - Interfacing that custom firmware with ROS2
- Using ROS2 to control the SCARA as a peripheral form a Laptop w/ Nvidia GPU , using a automation camera to sort objects by color, size and shape. Focusing on using as many off the shelf ROS2 packages as possible with some custom ones.
To get things started I'm building the SCARA as it was originally designed with one slight modification: Stepper motors with encoders for closed loop control. So far I have 3D Printed all the parts taking about 150 hours of printing, everything printed at 0.2mm layer height with various infill percentages based on what part out of PETG plastic. Over the last week I've started assembling it and Its about 50% of the way there before I realized I need more parts that weren't mentioned int he guide, there is no BOM for this model so I've been putting one together and it will be released once I know its complete. There are also some issues here and there with the design that I've been correcting, like the gripper needs some cut outs to make assembly easier, notably for screw insertion so I've been modifying models and printing them again for that. Anyways here's what I've got done so far !! More to follow!
I am also following this project. There are two open source robotic project that have standardized on servos; https://open-dynamic-robot-initiative.github.io/ and https://www.opencontinuumrobotics.com/ I would love to modify this to use these same servo components
The design is not mine so I can't share the files for you to modify. I will be redesigning the entire arm around DC motors with encoders, metal pulleys, and slip-rings for electrical connections. The arm can be purchased here https://cults3d.com/en/3d-model/gadget/scara-robot-arm
This might be a noob question, but why use DC motors with encoders, when you can just go with servo motors? Also would you put the encoders on the motor shaft or on the joint?
Have fun with that project. I have already finished the build and struggle with the programming, as the electrical part is everything else than completely documented (sadly). Would really like to use the SCARA ... but the servos does not work proper in combination with the CNC shield and the drivers, even when I adjusted them to 0,7V and and and ... maybe it works with the here special designed program and electrical components better. Very annoying when publisher gives out only partly the important project data. Instead they should let it be completely or give it completely, so I do it with my project data (basically pure mechanical parts acutally).
Yeah I completely agree the documentation is lackluster and missing a lot of important information! Part of my project is to fill in the blanks and provide better documentation. I have a full BOM in the works but it might be missing some stuff I keep updating it as I go. I am going to be providing my own software solution for this project and I will be publishing all of it as open source, you will be able to download the Arduino projects off Github, compile, and run them but I'm not done with it yet so just keep your eye out for update!! I'm almost done with my mechanical build and I'll be turning my head to the software and electronics once I'm done. AS for hardware to control it I'm planning on using a 3D printer motherboard since it has all the Axes needed for this kind of project + extra pins. My board is 3.3V so I will have to do some level shifting for servos !
If I might help somehow with the BOM please tell me, as I am crazy about getting a functioning software and connection guide (how to connect the 4 poles of the stepper - for normal stepper in my case) to use my completed mechanical mess ... lol
I am also following this project. There are two open source robotic project that have standardized on servos; https://open-dynamic-robot-initiative.github.io/ and https://www.opencontinuumrobotics.com/ I would love to modify this to use these same servo components