# Maximum axis acceleration

• Hello

I want to make a tool for simulating robot movements, so that I can get a rough estimate of the cycle times in the cells we build. Using an existing commercial solution is not an option for various reasons. Right now my problem is that I know the maximum joint speeds of various robots, but not their maximum joint accelerations. I need those values. I realize that it depends on load etc, but a worst case number (lowest acceleration) would also be fine. Where to get those values? It's not in the data sheets. I asked one of the big manufacturers, and they won't give me the data. How would you proceed? I need the data for as many robots and brands as possible.
/RoboticsMan

Sendt fra min G8441 med Tapatalk

• That's... hard.

For example, in a KUKA controller, I can look at the maximum acceleration limit for each axis. But that's an absolute mechanical maximum. The robot motion planner is constantly adjusting the working maxima below that limit in realtime, based on robot pose, gravity direction, payload, speed... and I'd bet that exactly how each robot is doing that complex, realtime math is considered closely-held proprietary information.

The crude way to do this would be to get an accurate simulator for each robot brand, and run tests of each robot model inside that simulator with worst-case payloads and other conditions. That would be expensive and time-consuming, though.

• A follow up question to this:

For example, in a KUKA controller, I can look at the maximum acceleration limit for each axis.

Where would you find these values on the Kuka robot? I looked in the \$machine.dat, but I didn't find anything that looked like the joint accelerations. At least not in the archive from a KRC2 robot. The maximum accelerations might be good enough for me, as a ball-park figure would be very usable too. We don't need an absolutely accurate cycletime estimate. I'll also have to figure out something with regards to the blends, and that will not be 100% accurate either. But disregarding the acceleration completely would make the estimate too unrealistic after all.

• Well, \$RAISE_TIME is the actual MADA setting per axis, although it also interacts with \$FILTER. But \$FILTER should generally never be tampered with except under specific temporary circumstances, by someone who really knows what they're doing.

There's also \$RAISE_T_MOT, \$RED_ACC_DYN, \$RED_ACC_OV (although that one is probably not generally relevant), \$ACC_ACT_MA, \$AX_ENERGY_MAX, \$AXIS_JERK (Spline only)...

Then there's the Cartesian acceleration factors, like \$ACC_CAR_TOOL, \$ACC_CAR_LIMIT, \$ACC_MA, \$JERK_MA (only applies to Spline)...

All of these have complex interactions with each other, varying under speed, \$LOAD, gravity, pose... and then there's the Accleration Adaptation, Higher Motion Profile, certain monitoring options turned on or off, etc etc etc. And exactly how all these interact with each other is explained only approximately, if at all.

So, if I really wanted to, I could determine a rough best-case, no-load estimation of the axis acceleration for a particular KR's axes. But that would be an ideal, lab-case number that's probably never achievable under actual real-world working conditions. And trying to work out all the various static and dynamic effects... it would probably be easier to just use a good simulation engine on a case-by-case basis, or simply use rule-of-thumb with healthy margins for error.

This is just one of the many reasons that good robotic simulators are so ridiculously expensive.

• Once again, thanks for the answer! It will be very interesting to see how close I can get to the actual performance of the robot.

• By the way: \$RAISE_TIME seems to only exist on the KRC2, not in KRC4 - even though I found a mention of it in the system variables manual for KRC4. Very strange...

• On a KRC4, in C\KRC\Roboter\Config\System\Common\Mada\NGAxis\A1.xml I found the following:

I guess RampUpTimeUnderLoad can give me an idea about what acceleration to expect for axis 1 (ballpark figure) in this case?