This is my Autonomous Wheeled Mobile Robot simulator. It has a few boilerplate code classes that allow for full customization of robot behavior, allowing one to make their own models for their robot. If you have a kinematic model of your wheeled mobile robot, it is possible to use this simulator to test your code.
Example of Holonomic Mecanum model running a custom Pure Pursuit Algorithm with Motion Profiling
This project has mostly been used for me to test out my path controllers for Autonomous control in FIRST Tech Challenge. It has been very useful to use as a sort of unit test for all of the math behind robot path following. This project is unique because it uses true kinematic models of robots, which means every step has to be programmed down to the wheel velocities just like a real robot.
The Model
object translates any user-defined input into an (x,y,theta) pose.
Example of a tank-style robot Model
This example model shows how a Model should be set up:
- every loop, it updates the x, y, and theta positions with respect to the input and loopTime
- it calls the Model superclass
run()
method to make sure everything in the backend system gets updated.
README WIP
This project was made using intelliJ, so I am going to show how to set it up with that. If you are using a different IDE, the steps may be different but are most likely similar enough that you will be able to find a solution on the internet somewhere
git clone https://github.com/nicobonik/AutoPathTool.git
If you are having issues with Maven building properly, you may need to add a line to pom.xml
add this <executable>
line with a path to your java jdk.
Go to the top right corner of IntelliJ and click "Add Configuration..."
Add a new Maven Configuration.
In the Command Line box, paste this line of code.
compiler:compile javafx:run -DforkCount=0 -DreuseForks=false
These are the tasks that maven runs along with some extra tags for javafx to run properly.
The project should be set up with a small example that you can edit however you want. The example shows a mecanum drivetrain running a custom Pure Pursuit Algorithm.