I have some shred of an idea for an autonomous program, but I was wondering (less of feasibility) more of whether it would be possible or not. I was looking at writing/designing a program that shows an image of the field that you can draw an auto path. Where you could draw a path for the robot to drive on, with options to drag and add points for functions (reverse, intake, shooter, color wheel, climb, whatever a robot needs) then take this path and give it to the robot to use for the match without redeploying the code. (possibly using a string of numbers and letters produced by the program that could be interpreted by the robot and translated into an auto program. Would this be possible at all, and if so how hard would this be?
Not exactly what you want, but if you want your robot to track a certain path during auto, you can use WPILib’s pathweaver tool
This is already what many teams do. Generally speaking, it’s not easy.
It’s definitely hard the first time you do it, but is possible. Here is a list of reasons when I was learning how to do the above:
- There is a lot of calculus involve, which unlike other areas in math, is covered very late with little to no fundamentals taught before the first class. Many student don’t touch it until senior year or college.
- It’s generalize math, so you don’t have to solve it for one solution, you have to solve it for all all solutions. This can be hard to conceptualize the first time.
- Computer graphics is another area of programming that needs to be learn beyond normal robot programming, so it makes more to do in a short time.
- Some robots mechanically aren’t build with controls in mind, so they even good code can’t control them well enough.
- There is more, but I need food before class, so I’ll stop for now.
It is possible though!
I was working on a tool this last winter. It allow you to plot points to generate trajectories. I didn’t quite get it to where in need to be to use by build season, but here are some images for inspiration:
Don’t get as fancy as I did. I just took a class that taught me the fancy way, so it was fresh in my mind.
I would love to talk with you if you have any questions about making such a program, I think it’s really a neat idea. Feel free to pick my brain if you want.
Like this? https://github.com/Team319/BobTrajectory
We use this. And were able to knock out a new auto over lunch during quals. It only does paths, but if you know how to use Command programming, it’s not too hard to string together some path commands & action commands in a CommandGroup.
It definitely has its share of oddities, but it does work.
You might want to look into pure pursuit. If you can create the interface to generate paths then this could take you the rest of the way to running them on a robot
We have also created a system similar to what you describe.
I can’t speak for everyone, but if you are baking your own solution (like we did), pretty hard. But don’t let that discourage you! One of the reasons it’s so hard to create is because it’s freaking awesome when it works!
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.