2
$\begingroup$

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?

$\endgroup$

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.