Global Path Optimizer using minimal-lap time based merging. This optimizer is focused on F1Tenth.
It is important to divide a trajectory in order to meaningful merge.
We thought distinguising which is straight line or curve is the matter.
Therefore, finding inflection points of the map is matter.
You should have your own map to be used for getting middle line and waypoints.
We recommand to use SLAM Toolbox to generate the map.
- You can refer how to generate the map with LiDAR from the lecture of UPenn.
- Also you can learn about SLAM via this material.
If you get your map, you can extract the middle line of the map.
We used map_converter in Raceline-Optimization.
Based on the middle line, you can extract proper inflection points using curvature.
The curvature
where
However, Since a car track does not follow the general form
where
After getting curvatre corresponding to each point, we select points when the sign of curvature is changed. It can separate each interval (straight line, curve)
With inflection points, you can divide a trajectory into some intervals. If there are
After this process, there will be
Also, each interval has its own period time, that is, how long does it take to pass the interval.
With interval time, you can select which interval is fastest.