Bulebots / bulebule

An awesome maze-solving micromouse robot
https://bulebule.readthedocs.io
GNU General Public License v3.0
71 stars 23 forks source link

Simulation environment #74

Open Peque opened 6 years ago

Peque commented 6 years ago

A simulation environment would be great for trying different algorithms in the computer before actually trying them with the micromouse. This would be great for those who do not even have a micromouse built just yet.

The idea is to use the Gazebo simulator and:

  1. Create a basic micromouse model (two wheels, a couple of distance sensors that could be considered ideal with no noise and linear response). There are probably models out there that we could use as template. Ideally the mouse and the sensors would have their dimensions/positions based on the PCB design of the prototype.
  2. Create a basic maze model and load it to the world (a single straight corridor) or, better, create a complete micromouse maze model. See the references bellow for possible ideas or projects that may help.
  3. Create some basic control (i.e.: the mouse should be able to follow a straight corridor using a basic control).
  4. Implement basic 90º turns.
  5. Implement basic follow-side-wall algorithm for maze solving.
  6. Implement position tracking (i.e.: the robot should know in which coordinates it is positioned at every moment). In the real robot this is done with encoders, in the simulation we could have two variables to track the traveled distance of each wheel).
  7. Implement a more advanced maze solving algorithm that allows us to solve a micromouse competition maze.

References:

luckyagarwal commented 6 years ago

@peque could you please clarify the issue?

Peque commented 6 years ago

@luckyagarwal Sure! I updated the description to make it more clear. :blush:

The issue is pretty large, so I tried to separate it into different steps (numbered list items). Each step could be treated as a separate issue with a different pull-request associated to it.

luckyagarwal commented 6 years ago

@peque thank you😊