I have a pretty simple 2d manipulator which uses an arduino to control a payload weighing about 2kg. I want to implement a simple 2d path planner which takes as input:

  • Current position, velocity, acceleration as 2d vectors
  • Target position as 2d vector
  • Bounding box as min/max x/y
  • Maximum acceleration
  • Maximum Jerk

... and outputs a path (function from time to (x,y)) which leads me to the target point as quickly as possible without violating the constraints.

I want to specify the initial velocity and acceleration (not just position) because a movement instruction might interrupt a movement already underway.

I want to specify the bounding box so that my payload doesn't hit any walls.

I want to specify a maximum acceleration so that the inertia of my payload doesn't overwhelm my control authority.

I want to specify a maximum jerk so that the springiness of my manipulator doesn't absorb some acceleration and whip it back at the end of travel. (I'm not sure whether I really care about maximum jerk except at the end of travel.)

Now I don't think the math here is very hard. I don't want to reinvent the wheel, but neither do I want to spend a week learning how to use a complicated and overpowered general kinematics library. Is there a very simple library that I can plug into my arduino IDE that could accomplish this for me?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.