|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: paper: Driving a Robot Fastest Path from A to B
Quote:
|
|
#2
|
|||
|
|||
|
Re: paper: Driving a Robot Fastest Path from A to B
I look at this and have to ask one question Jared: if you were to add PI to both of the headings, thus creating a new spline that should model a robot driving backwards, what do the numbers come out to?
Last edited by artK : 18-08-2014 at 02:22. |
|
#3
|
||||
|
||||
|
Re: paper: Driving a Robot Fastest Path from A to B
Quote:
The lower point is 8 feet away from the upper point. This takes 3.926 seconds to drive, averaging 5.86 feet per second, on a path that is 23.00 feet long. ![]() After adding pi to both headings, the path was only 7.2 feet long, took 1.573 seconds to drive, and averaged 4.57 feet per second. ![]() -Note- the acceleration counts on the top of these images are not correct, as there's some lag when using an online GIF maker, and these values are calculated in real time for the preview, just to make sure I didn't mess up calculating the values for the path file. In the actual path file, acceleration never goes below -15. Quote:
I also really like dividing based on inflection points, instead of the sharpest corner of the curve. I do see three potential issues/questions with this approach- 1. I do not always want to be accelerating/jerking at the maximum amount. If I am coming out of a tight turn, full acceleration may end up making me go too fast for the turn. Ideally, the path is straight enough that this isn't a problem, or we can just use the turn's acceleration limit in place of the robot's acceleration limit in the case of the turn's acceleration limit being lower. 2. When creating a quadratic to interpolate speeds between transitions zones, I am not sure if it can be done with just a quadratic. I need to make sure that acceleration will be a continuous function, so when interpolating, I need to be able to specify the location and first derivative of the endpoints. For this, I need at least a cubic. I also need to make sure that my acceleration and jerk never exceed certain numbers. I have no idea how I'd interpolate a curve like this, and to make it more complicated, it's more than just finding a curve whose first and second derivative are smaller than some numbers because it's a velocity vs. distance graph, so the derivatives aren't acceleration and jerk. This is the main problem I was struggling with in my second attempt. 3. When the transition zones do intersect, it becomes a very time consuming process for the computer to figure out what values will result in a slow enough turn, as it has to generate the entire path many times in a row. It is also a challenge to slow down just one part of the path, and have the robot behave following acc. and jerk limits. I can get pretty close by always picking the smallest velocity in the overlap zone (as soon as we go too fast to make the second turn, start following the second turn's velocity curve), but this ignores the jerk limit, and acceleration jumps. To be honest, I think that solving this problem with acceleration and jerk limits is beyond my ability. I think I'll just settle with ignoring the jerk limit between curves. I'll still be able to follow all the curves while keeping in mind acceleration and velocity limits, of both the robot and the curves on the path, but jerk will be forgotten at some points between tight curves. Last edited by Jared : 18-08-2014 at 09:00. |
|
#4
|
||||
|
||||
|
Re: paper: Driving a Robot Fastest Path from A to B
This is very interesting. I'm glad someone took the time to analyze this mathematically. Thanks
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|