How to Do Trajectory Generation around Obstables?

Hi, our team was using trajectory generation, until we got sort of stuck on how to generate trajectories around the charge station. How do other teams do it?

1 Like

Auto-scoring with Dynamic Pathfinding and Inverse Kinematics - Technical / Programming - Chief Delphi
Pathfinding On The Fly with a 3d Field - FIRST / Robot Showcase - Chief Delphi
A*, bezier curves, pure pursuit,

also it’s a lot harder than it seems when you first get into it, weeks of debugging minor clips where the path is almost perfect, and a lot of time to squeeze performance out.

2 Likes

We used a similar approach of A* with visibility graphs. However, we did have some issues, as your point-to-point would not run into an obstacle. Still, your bezier curve after being generated might (we almost fully resolved this issue by auto-adding midpoints).

I fully agree with this. On our practice field, we had something that worked pretty well on January 18th (video) At least I thought it good enough for competition. However, at our week 0 event, we ran into issues with pose inaccuracies caused by robots/game pieces being in the way of AprilTags, false readings, Multi-Tag detection not being available, and other issues. Our driver was far more consistent, and the speed trade-off to consistency was not worth implementing for this year.

Our code could be optimized and improved. However, it is straightforward (we had a freshman student learn all the concepts and code it in one summer); anyone with some work can understand, run, and tweak it to their needs. It also works exceptionally well as long as your pose is accurate. Here is our main file here. This is the file you will want to do most of your customization in. You should have to copy that file along with a few others. If you were using PathPlanner, you shouldn’t have to change any code to get it working. Reach out if you have any questions.

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.