I Built a SCARA Robot

preview_player
Показать описание


I built a SCARA robot from 3D printed materials and laser cut aluminum. The two actuators are cycloidal drives made with NEMA 23 stepper motors. The purpose of this project was to build a fun platform to experiment with simple inverse kinematics.
Рекомендации по теме
Комментарии
Автор

- Is the stuttering due to varying loop execution time? You could correct this to some extent by fixing the interval between executions using a timer interrupt or with a non-blocking wait.
- You could speed up the code by pre-calculating all of the required angles for your work space and resolution, then putting the results in a look up table. The Arduino doesn't have to do most of the trigonometry on the fly and just look up the required results.
- Thirdly, i've developed a commercial product that does something that we call a bump and home because we didn't want to include a limit switch on the product. We tell the motor to move slowly towards the limit. We know we've reached the limit when the following error gets too high - this is now our home position.

Shocker
Автор

Long time! I am happy to see you back, with this amazing content. I really enjoy it :-)

escain
Автор

If you're spending a lot of time in CAD, I strongly recommend picking up a SpaceMouse. I have the Pro version with buttons around the sides and I can say with confidence that it has saved me countless hours in CAD and has made using the software so much more pleasant. Cannot recommend enough if you use CAD a lot.

Great project as always, and I'm glad to see that you're back!

harrisonlow
Автор

Great job on the video! As a robotics engineer with experience designing and deploying industrial robotic arms, I have a few recommendations for improving the performance and reliability of this project.

First, I recommend using stepper motors with pre-installed gearboxes. Stepper motors offer precise control and high torque at low speeds, making them ideal for robotics applications. Gearboxes can help reduce the required torque and increase the achievable speed, but they also introduce backlash and hysteresis, which can affect the accuracy of the system. Pre-installed gearboxes offer better tolerances and lower backlash than those that are 3D printed, which can be difficult to manufacture with sufficient precision due to machine errors and limited material options.

Second, consider using closed loop stepper motors for professional use cases. Closed loop control allows the system to detect and correct errors in real-time, improving the accuracy and reliability of the system. It also enables additional features such as homing, which can be useful for calibrating the system or returning to a known position. The additional cost of an encoder - around $20 per motor - is generally worth it for professional applications.

Third, consider using a more powerful microcontroller. The Arduino Portenta is a good option, as it offers high performance and a range of connectivity options. Alternatively, an RP2040-based board can also provide good performance at a lower cost. The microcontroller plays a crucial role in the control and communication of the system, so it is important to choose one that can handle the required workload and has sufficient memory and processing power.

Finally, if you plan to add an end effector to your setup, make sure to consider the weight and the required torque and speed at the joints. The selection of bearings will depend on the load and the required stiffness and accuracy of the system. Proper sizing and lubrication of the bearings can help improve the performance and lifespan of the system.

I hope these suggestions are helpful, and I look forward to seeing more of your work on the channel!

ahmedkamel
Автор

No idea why I was not subscribed yet ... where have you been all my life? Please continue, don't let me interrupt.

kesor
Автор

Onshape rocks! Really cool project. Looking forward to your future projects

jcr
Автор

Nice project. Onshape is a good offer thank you.

Dprining.I
Автор

Great to see you back. Hope college is going well and congratulations on the internship!

John-gwmj
Автор

I haven't tried this myself, but I think you might want to look at Jacobian matrices. The control loop could take the difference between the desired position and the current position to get a desired velocity vector in global coordinates. Then use the Jacobian to get required joint velocities. The resulting motion should follow something of a straight line. Also, you could look at equations for a four bar linkage to calculate joint angles and possibly use those to arrive at a Jacobian. Whether that could be implemented on a small microcontroller or not is another issue.

BryanLindaVB
Автор

That's really something! Levi! BTW, a big Merry Xmas to you and your family!🎄🎄🎄

PCBWay
Автор

Buyer here 🤏If you make it go upp and down too.

R.N.M-
Автор

I heard the teensy 4.1 has an actual FPU and performs as fast as integer math. That plus the higher clock speed might make it a good candidate for replacing the arduino nano.

TheEngineerC
Автор

Just passing by, nice work, have a coffee! ;) Cheers... Clark

Clark-Mills
Автор

For some beefier processing check out the esp32 dev boards. They can be programmed with the same Arduino IDE and code but are single or dual core, 32 bits, and up to 240MHz. Oh and like four bucks a pop.

DanBowkley
Автор

At 10:40, if you have the circle intersection point for where the two links will meet, you can ignore the second (outer) link and final end point and just calculate the angle of the intersection point from your horizontal line using an arctangent function (rotating the angles if needed to account for the motor orientation). Calculating two angles and adding them is extra and unnecessary math work, in my humble opinion. But I've only done this sort of kinematics work on a laptop, not a microcontroller so I could be wrong about "just" being able to call an atan() function using the x, y offset of that intersection point.

rectorsquid
Автор

CAD software is great and all, but we all know the most important tool in the engineer's toolbox is McMaster-Carr

DavidPaauwe
Автор

This was interesting. What i really liked, is this smart guy actually explained the problems and solutions for people like me. I'm so sick of watching people make awesome stuff, but they don't explain a single thing. I mean great, I love seeing the videos, but I am more interested in how it was done. Especially since I wasn't serious about education when I had the opportunity in school, and I work full time now, but now I am serious and constantly learning.

Anyways, great video, very interesting, and excellent job explaining it. I hope to see more!

Dylise
Автор

What are the disadvantages of cycloidal drives? Many talk about their love for cycloidal drives and their compactness but no one talks about when one might chose a more traditional gearbox design.

vintyprod
Автор

I agree, looks totally cool, and for a first time project like this, I feel you knocked the ball out of the park! I look forward to seeing more of your videos and projects you bring to life.

jimturpin
Автор

Try moving to an esp32 . Two cores . So you can move the calculations to the second core in order to always move with the first

jwl