Max Speed & Acceleration

  • How to calculate how fast robot will reach max speed? I am comparing one robot that has max acceleration 2000mm/s but has acceleration of 0.6G to another with max speed of 1800mm/s acceleration 2G. Chatgpt says 26 seconds for robot 1 and robot 2 19 seconds. Once robot reaches max velocity will it stay there even though its only covering 300mm and swinging back in the other direction? Like a 3d printer going back and forth.

    • Helpful

    ChatGPT is not the best at math.

    This is a classic unit cancellation problem.

    1g is 9.81m/s2 = 9.81m/s2 * 1000mm/1m = 9810mm/s2

    2000mm/s * 1/(9810 mm/s2 *0.6) = 2000mm/s * 1/5886mm/s2 = 2000mm/s *0.000169s2/mm = 0.33 seconds for robot 1 to accelerate to max speed.

    1800mm/s * 1/(9810 mm/s2 *2) = 1800mm/s * 1/19620mm/s2 = 1800mm/s *

    0.000051s2/mm = 0.09 seconds for robot 2 to accelerate to max speed.

    Once robot reaches max velocity will it stay there even though its only covering 300mm and swinging back in the other direction? Like a 3d printer going back and forth.

    No. It has to fully come to a stop and change direction.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Yes, chatgpt seems to make alot of mistakes! Thanks for clarifying this for me. I was worried that it would take much longer to get to speed. Still even 0.33 seconds is alot considering small space. Hopefully robot 1 makes it up by reaching higher max velocity.

  • I am comparing one robot that has max acceleration 2000mm/s ...

    that is velocity and it is 2m/s. acceleration is in m/s2

    acceleration is change of speed over time.

    so during long move axis accelerates, reaches programmed velocity, continues to move at that velocity, then decelerates before stopping.

    if movement is short or velocity is high or acceleration is low, there may not be "cruising" portion (top flat part of the trapezoid). profile may be a triangle with only accelerating and immediately decelerating.

    if distance is x,

    then velocity is v=dx/dt

    and acceleration is a=dv/dt

    to fund out distance traveled you can integrate the above to get something every 1st year engineering student familiar with:

    x=0.5*a*t2 +v*t +x0


    don't forget to always convert all things into same set of units.

    g=9.81 m/s2

    so 0.6g is 5.9m/s2

    2g is 19.6m/s2

    2000mm/s is 2m/s


    then you can do the math...

    starting from rest, and using acceleration of 5.9m/s2 first robot can reach maximum velocity of 2m/s in

    t=v/a=0.34 seconds

    then it will take another 0.34 seconds to decelerate and come to a stop.

    the total covered distance is 0.68m.

    so when the move at max velocity and acceleration is longer than that, there will be portion of move profile where robot maintains the max speed (trapezoid), otherwise motion profile is triangle (accel and decel, without cruising at fixed speed)

    since the max velocity is similar (2m/s vs 1.8m/s) but acceleration is VERY different (5.9 vs 18.6 m/s2) the second robot will win all the time. for first robot to win, travel distance would need to be long... longer than robot reach.

    for example second robot reaches max velocity in 0.092sec. with decel profile the same, that means covering 0.33m in 0.18s

    but isn't 0.33m less than 0.68m?

    yes... but this also means that while first robot covered 0.68m in 0.68seconds, the second robot only wasted 0.184s on accelerating and decelerating. the remaining time (0.68sec - 0.184s = 0.496 sec) second robot can use to move at the max velocity. during that part of the move, it would cover additional 1.8m/s * 0.496s = 0.893m. this means that second robot could move in 0.68 seconds 0.33m+0.893m = 1.233m

    that is nearly double distance that the first robot did in same time.

    the travel distance that both robots can reach at the same time would be when x1=x2 and t1 = t2

    x1= 0.68+ v1*(t1-0.68)

    x2= 0.33 +v2*(t2-0.184)


    0.2t = 0.6788


    and the break even distance is 6.1m

    so for robot1 to win, both robots would need to be able to move more than 6.1m

    as long as distance is shorter, robot2 is always faster, specially when motions are shorter.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • My colleagues are much better at all these calculations than I. What I have to add is that you have no mention of what payload it will be carrying and are the robots the same size, payload capacity? A good robot will know not to damage/destroy its gearboxes and servos because some knucklehead told it to travel at an outrageous speed just because they can or do not know any better. The robot will accelerate to the best of it structural ability, considering the mass and center of gravity of the payload. So if the "Slower" robot can actually carry a greater payload than the "faster" robot, it may in actual use be the "faster" robot.

  • Payload is only 500gram. Robot 1 is what I have and Robot 2 was being considered if speed is 20%+ faster. It is amazing to see how the slower max speed robot beats the higher speed robot over acceleration. Turtle vs Rabbit story.

    Now my new problem how to pull in gerber data into robots software for dispensing like below:

    External Content
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • yes, the payload is only 0.5kg but the actuators need to move much more than just the payload - they need move robot arm itself. and if the motors etc are part of the arm, that is a lot of mass. just do the math. does not need to be spot on, just an estimate or sanity check.

    for example:

    small robot like Agilus weighs about 35kg. and big deal of that mass is in the moving part (the arm itself). so to move that mass at high speed takes a lot of energy. kinetic energy is mv2/2

    so for if moving part of the arm is 20kg and traveling at 10m/s it has kinetic energy of 1000J.

    if the motion is 500mm long at speed of 10m/s it would last 50ms.

    power is simply dE/dt so if the move lasts 0.05sec, that would correspond to 20kW. that is about 15x more than what small robot normally consumes under load and about 10x more than AC outlet can supply.

    at that power level that is not a robot, it is a catapult that can fire at the rate of a Gatling gun. if such thing existed, you would not want that on your desk or anywhere near you.

    gerber files use very simple format that is well documented. even better, it is just a text file which is easy to process and there are only handful of commands. positional data is in plain view and easy to interpret.

    Gerber format - Wikipedia

    this is snippet from one of my files:

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • I'm a torque monster.... like Tim Allen in Home Improvement always making crazy stuff that blows up in his face. I'm planning to put this on my desk BUT will only go near it to change out pcbs every 20-30 minutes (may put two jetting heads to double the speed or make 2 separate setups for redundancy). Personally its not going to move that fast in any direction due to the dispensing head dispensing. It just needs to move incrementally at micro time units. Probably where the 2G acceleration would have been better.

    Thanks for pointing out gerber file data, that was my next step to check. Originally I was planning to put vision on this application but may make a fixture and a 0,0 point. Easier for gerber data to line up.

  • One thing to watch out for with these type of calculations is what load rating they used to calculate, higher speed robots use low loads under 0.5kg and this robot was using 5kg load to calculate 0.6G. I am still trying to test it to see if it will work in my application.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now