r/interestingasfuck • u/PollutionOk9449 • 1d ago
High-precision robot arm programming
Enable HLS to view with audio, or disable this notification
170
u/Syncer-Cyde 1d ago
It's not gay as long as the tips don't touch
10
u/hexagon-the-bestagon 18h ago
Extra funny considering the swedish word for cock (penis) is kuk and the definite variant being pronounced kuka in some dialects.
2
5
112
u/Chrisch3n 1d ago
That’s the same robots that build modern cars and other things all over the world. The fascinating thing is not the programming (you could guide a kid to write that program in 5 minutes, since the robot „just“ keeps the tool center point (TCP) steady and moves a few axis with this required).
What is amazing is that the machine itself can move with this kind of precision and repeatability and the interplay of the vector transformations that make the movement calculations of the underlying program possible.
39
u/ScuttleScrub3 23h ago
Idk anything about robot software specifically, but if it's "easy" to program, that's only gonna be possible because all of the actual complexity is abstracted away, hidden behind some library.
Sure, the complexity will mostly just be from math rather than software, but there's a lot of moving parts.19
u/Traditional-Buy-2205 22h ago
Yes, there's application programming (the programming the user does when he receives the finished product), and system programming that the manufacturer does during the making of the robot.
This this is trivial to achieve on an application level. You just tell the robot that the center of his tool is there, and tell him "rotate X degrees around the center". Literally child's play.
But actually programming a robot to be able to do that, i.e. all the programming under the programming that the actual user does, that's some amazing piece of work.
16
u/Traditional-Buy-2205 22h ago
The fascinating thing is not the programming
Programming a finished robot to do this using its build-in programming language is simple.
But programming the robot itself, i.e. the system programming, the programming that the robot designer / manufacturer did to make this robot work, is actual sorcery.
2
u/Scheissdrauf88 19h ago
It's okay. Takes a bit of math and coordinate transformations, but it is overall very doable, especially when you have programs doing the matrix-inversions for you.
Honestly, the biggest issue for me would probably be the API/addressing the mechanical parts correctly. In my experience it is never as easy as the manual tells you, and getting everything connected properly is a pain in the ass.
The truly impressive thing here is the engineering itself IMO. That the joints can execute the mathematical commands that precisely and in sync.
→ More replies (3)3
u/aruisdante 17h ago
The math involved isn’t as hard as you might imagine. We learned to do it by hand in my undergraduate 3000 level robotics classes, and essentially built and programmed our own version of one of these arms (obviously at a much smaller scale) from maybe $30 in parts. Inverse kinematics for 6DoF arms with spherical wrists are a well researched problem, as are 7DoF for the arm being able to traverse forwards and backwards.
Now whoever figured out the math for inverse kinematics originally (and the related Jacobien for doing visual servo-ing when you don’t have the inverse kinematics), those were wizards 😂
3
u/OxiTANGE 21h ago
you could guide a kid to write that program in 5 minutes
I'm getting flashbacks of having to work out inverse kinematics from scratch in engineering school... I know I wasn't the best at maths, but your average kid isn't going to do that lmao
2
u/NeoTheRiot 1d ago
Kinda puts into perspective just how messed up our bodycontroll really is.
1
u/DashLeJoker 1d ago
because we dont need precision engineering level of control to make babies
→ More replies (1)
17
133
u/Informal_Tell78 1d ago
For these robots, this is quite simple to program it to do that, its kinda what they're designed for. As for the programming behind the programming, thats where the real beauty lies!
58
u/Ordinary_Quantity_02 1d ago
I work as an engineer at a successful robotics startup and this is some bullshit you would say if you’ve never actually designed a robotic arm from the ground up.
Nothing about this is simple, to get precision this high the motors and feedback are likely torque-based control, and need to account for the natural frequency of the system along with things such as torque ripple. These are extremely high-level controls equations where you need to account for the components flexing under load due to how large of a cantilevered load exists.
26
u/DrawMeAPictureOfThis 1d ago
First time on Reddit talking to kids, idiots and idiot kids?
3
7
u/Ordinary_Quantity_02 1d ago
Yeah, I just got sucked in because this is what I actually do at work. If it were that simple, I wouldn’t have a job. Even the best AI models are still trash at PID tuning. They certainly help tho.
→ More replies (2)6
u/hyprsnpr67 1d ago
That's what they're talking about with the programming behind the programming doofus. The end user doesn't want to write high level controls equations. They get the simple programming. You get the programming behind the programming. Really not a difficult literacy task.
→ More replies (11)1
u/inspron2 15h ago
First rule of reddit is if you want to know something, just spew some bullshit and some expert like you will spill the bean. Engagement machine did its job.
1
9
u/k1ng4400 1d ago
I am a software engineer myself and yet I have no clue how to make the firmware and software like this.
11
u/After-Regret-6609 1d ago
You use a discipline called inverse kinematics. You basically solve the equation given the position of the head with the constraints of the length of each section of the arm for the rotation of all the joints.
→ More replies (2)7
u/Upper_Top9348 1d ago
Start with programming a step motor. It's extremely simple. The precision on a cheap one is already pretty insane.
6
u/Ordinary_Quantity_02 1d ago
That’s the thing though, these aren’t open-loop stepper motors, these are likely AC servos with 50 to 1 strain wave gearboxes. Using gearbox input and output encoders to measure flex and lash in the system compared to input and target.
You need to develop a complex control equation to run this properly and the best equation is different for every different robot.
3
u/ReasonCertain1518 1d ago
Can confirm, I learned how to do almost exactly this in a short afternoon on my own with basic Google searches
16
12
u/ooshogunoo 1d ago
It's just a programed tool center point (TCP). It's a reference point taught by the operator and then jogging of the robot around that point.
21
u/Ok_Replacement4702 1d ago
A human programmed these positions. The robot just does what it's told.
For now
20
u/tantalor 1d ago
It's not about programming. It's about the tolerances and backlash in the mechanical systems being able to comply with the programming.
3
u/Ordinary_Quantity_02 1d ago
The amount of engineering that goes into the firmware that controls these robots is insane. Truly, 3rd order kinematic equations, 20 bit inductive encoders on both the input and output shaft.
Developing the control equation to actually make this thing move and not shake requires a bare minimum of graduate-level college course knowledge.
→ More replies (1)5
u/solo_leveler_69420 1d ago
That "For now" is like a cliffhanger to what horrible things are gonna happen in comming times..
1
5
u/steef12349 1d ago
The IK (Inverse kinematics) is not usually done by us anymore, generally we use either a bespoke software to plan paths via waypoints and the software running the robot pendant (user controller interface for the robot) does all the math. We kinda just tell it to... Move. And it does.
I worked on some of the software for these things and the integrated sensor, it's really not much different from the math done to make a players limbs in games move to target places
1
u/pichael289 23h ago
I think his point was more that you are telling it what to do and it does it in the right you couldn't compute in your head. Soon it's going to be deciding on its own, and unfortunately we don't have the ability to tell exactly why it does what it does, that would take centuries to comb through manually. At least that how his comment sounded to me.
"For now" is the phrase used that makes us all think we might be slaughtered by terminators in the next decade.
2
u/steef12349 23h ago
Kinda, but "can't explain it" isnt entirely correct. AI is increasingly used to pick target poses (vision, grasping, auto path generation), and that layer is a black box, sure
The IK and motion planning underneath are still deterministic, and the safety controller still enforces limits regardless of what the AI asks for.
the risk isnt the arm going rogue, it's the AI choosing a dumb target, which the lower layers then execute exactly or refuse. Good sims have collision simulation based on collider boxes, and ask for a replan or retarget when a collision is detected or safety boundary is breached.
Math for this will stay understandable, until the laws of physics change lol
Source: senior robotics/perception engineer working on exactl this
1
→ More replies (5)1
u/JJlaser1 18h ago
That’s still impressive precision. I don’t care a lot how it was programmed, the result is still cool. To think only 40-ish years ago if you wanted to get anywhere close to this you’d need a computer the size of a wardrobe, and it wouldn’t be nearly as precise. And now we can make these programs on computers not much bigger than a large briefcase! I know a lot of the world sucks right now, but sometimes I am reminded just how far we’ve advanced technologically just in the time I’ve been alive.
5
8
u/chodeboi 1d ago
This is great, but…some EHS safety program manager right now is losing their shit
6
u/42069qwertz42069 21h ago
Dunno whats EHS is but its not that wild, you have on hand on a dead-man switch, our maintainance crew have to work all the time inside the safety zone.
4
u/skateboardbanana1 20h ago
My point exactly, seen a kuka robot hurl a car door 150 ft when there was a power blip one time. It will suddenly try to return home and hit this guy if there’s a power blip
9
u/Dick_In_A_Tardis 18h ago
Seconding this, one issue in programming, forgetting a force overload setting or setting it too high and now you've got a robot flailing around until it takes out its own power supply or it grinds its gears to dust.
You don't want to stand next to one of these.
Now saying that... When we decommissioned one a coworker took it home and programmed it to retrieve beers from a mini fridge and restock it. Kept it behind the couch. That was pretty cool. Hasn't decapitated himself as of yet so I'll say he programmed it alright. Been about 5 years now.
5
u/skateboardbanana1 17h ago
Depends on how big the robot is. This one is pretty large. I’ve seen one with 20 ft of reach that inserted the dashboard of a car. That monster could do serious harm. Biggest thing is the robot being in safe torque off
2
u/Buddha176 14h ago
You can easily be recording this while holding the teach pendant which is totally safe.
→ More replies (1)•
4
u/Apart-Gur-9720 1d ago
It's not there yet, but I can almost imagine it as a tool for performing surgeries; a smaller version.
14
u/TheMadTemplar 1d ago
We already have those. Look up the Da Vinci 5. Surgeons basically play a video game with a crazy advanced robot that does the actual surgery.
3
1
1
u/Initial_Row_6400 21h ago
Saw one where the surgeon cut the colored layer of a balloon off and suture it
•
u/do-not-freeze 5h ago
We host medical conferences that have those. Pretty wild to see a surgical robot just sitting there on the dock waiting to be crated up.
3
3
4
u/assidiou 1d ago edited 1d ago
They're teaching the TCP (tool center point) on a 6 axis robot with a 7th axis rail. This is a pretty common method with two pointed tools.
How does it do this? The answer is LOTS of matrix calculations.
4
u/Consistent-Ask-1925 1d ago
Man idk what the math behind this is, but it makes my head hurt just thinking about iy
4
9
u/SinisterCheese 17h ago
As someone who has programmed robots, in software suite and with the remote.
This isn't as hard as you'd think. It's actually a rather basic exercise everyone getting a certification or studying automation should do.
Just open the custom refrence panel, add the location of the end of the tool as coordinates, define the refrence direction and type.
Then select that tool from the remote or in-suite, and off you go.
This isn't anything special. You need to do this for EVERY custom tool you put into a robot.
Robots by default have quite few different coordinate systems, and you swap between those depending on what is the most convinient for making the move.
In software suite this is even easier (At least in ABB it was) you just lock the point of the rod in the simulation and then move the arm as desired and save the move.
8
u/darklordjames 16h ago
For the end user, yeah, this is easy. Think one level higher to the programming that went into the robot. That is the impressive part.
I've spent time with these robots. I've also spent time in 4th axis CNC programming. Programming 4th axis movement is easy on my end, because all the really complicated parts are abstracted away from me in the CAM software. That doesn't make what the CAM is doing less impressive. It's far more impressive on my end when I open up Notepad and hand type out 3-axis g-code than when I CAM 4-axis g-code.
2
u/SinisterCheese 16h ago
Funny thing is that the controller side is actually really simple. It is almost beutiful how simple it is. And that is how we want it to stay, simply because it ensures compatibility, operatibility, integratibility (Surely that is an english word?), and safety.
However the shit that goes to making the kinematic solution -especially near real time solving- is shit I don't even want to think about. It is a black box where magic happens, and beyond that I do not want to even consider it's existence. Especially when you got high speed and accelerations, the stuff starts to give me anxiety to even think about. And most modern system can even account for the physical frames bending, join tolerances and give in the system with variety of sensors.
But when you get the cell to run in tandem and perfectly synchorinised, it is just beautiful.
But Gcode is fun. It is actually lovely in how simple it is, and regardless of what flavour it is, it basically works them same. I have mostly written for flat applications, where I got 2 working axis, but the tool itself can have 1-4 axis (For example: Z in cutter systems is laser/jet/plasma tool height; then there are 1-2 for optics minimum). Granted with sheet metal systems you rarely adjust those during program (Or just call subroutine for doing those), but if you are clever you can do all sorts of fun things by adjusting the optics during moves; and if you really want to optimise, you set the optics to adjust during the travel. I programmed a whole library of interesting things (Most were useful, some were just: "Huh... NEAT!" things) for one machine shop's laser.
3
u/Broad_Television4459 23h ago
That's literally how you setup the tool centre point. Unusually a cable tie is used when the tooling itself doesn't supply dimensions or a fixed point.
4
u/SiaHalz 15h ago
Really is just like a 5 axis mill, that's pretty neat. Well I guess it'd be 6 axis
2
u/WarOtter 15h ago
7axis I think. The tool holder can spin, so that's one, plus the knuckle and next spin joint, then two more elbow section before the bar, and the base rotates for 6. 7th is the back and forth of the whole robot
→ More replies (3)
4
u/OddRobotics 15h ago
this is just a simple Jog function, locking the end of the tooling, the length is in the rapid text... guys probably just moving the joystick on the pendent around
5
u/skillcourt 1d ago
Ah ok so the tips are supposed to stay in same distance while arm rotates.. my work here is done.. hand me my cape and beer
2
2
2
u/CaptainBringdown 1d ago
controlling a tool tip in free space is trivially easy and has been for decades. the real problems that need to be solved are how to control a tool tip that's constrained by grasping a work piece that is not free to move in all dimensions and requires the application of force. what would be significantly more impressive is seeing a robot open a zippered bag (which I've seen NASA's Valkyrie do, albeit painfully slowly).
2
u/Bound4Truble78 22h ago
Thank God someone finally invented a robot capable of pointing a stick at a pencil from many different angles. This will change EVERYTHING!
2
2
2
2
u/AndySkibba 16h ago
Kinematics is awesome. The calcs behind joint movements are always super interesting in practice.
4
u/Bbrhuft 1d ago edited 1d ago
I'd love it to show off it's accuracy as a million dollar pencil sharpener.
8
u/SirPitchalot 1d ago
The IRB 1600 has a reach of ~1.5m, payload capacity of ~6kg and repeatability of between 0.02-0.2mm.
You can get them like-new used for less than $20k
1
3
2
2
u/CreativeMinds47 21h ago
Interesting fact: After Kuka was bought by the Chinese corp, their auto industry started booming and Germany's fell apart...
1
u/Worried-Commission59 1d ago
On a road trip as a kid and your sibling is not poking you but doing this instead.
1
1
1
1
1
u/Longjumping-Oven4457 1d ago
Big deal my daughter does this to my son in the car while I'm whipping around corners. I'm not touching you, I'm not touching you!
1
u/PeterNippelstein 1d ago
I worked with a few of these Kuka machines at my last job building trusses, they were a pain in the ass, and also kind of scary sometimes.
1
1
1
u/pichael289 23h ago
This is basically how they do super high density experiments. Something compresses between two very powerful almost needles like this.
1
1
1
1
u/Dr_F_Rreakout 22h ago
“Any sufficiently advanced technology is indistinguishable from magic.”
- Arthur C. Clarke -
1
1
u/Nicolas__Moonlit 22h ago
The beauty of those things is that all the complexity is abstracted away from the user. At my university we have a lineup of KUKA robots and they are surprisingly easy to use. The biggest hurdle is getting used to 6d mouse, but its amazing when you get the knack of it
1
1
1
1
1
1
u/thenord321 13h ago
High precision calibration, I'm sure it took a LONG time to initially setup this accuracy. Even an automated calibration probably took days since there are so many adjustments possible on that arm.
1
1
u/50FirstCakes 12h ago
It sounds like it could use some WD40. That high pitched screeching sound is terrible.
•
u/goonerqpq 11h ago
I loved doing this back when I programmed 6 axis robots. Every now and again youd have to unknot a programme and find a better way because you couldnt do the next move without hitting a joint error.
•
•
u/smileybunnie 7h ago
Being an engineer and watching the stuff others have made makes me feel dumb as fuck like how am I supposed to compete with this. What do I do to get there
•
•
u/myworklogin777 5h ago
If robots could talk, "I'm not touching you, I'm not touchng you, I'm not touching you...."
•
u/Serious_Room3606 4h ago
Imagine you're laying on a table and this machine is rotating the point around your eye that close. Sounds really unpleasant.
•
•
•








1.6k
u/Cloud_N0ne 1d ago
I’m glad smart people who know how to do stuff like this exist cuz we’d still be in the stone ages if it were up to me.