This search and sample return project was based after the NASA sample return challenge, and it provides experience with the three essential elements of robotics, which are perception, decision making and actuation. This specific project uses the Unity game engine to simulate the environment.
The included code requires Python 3 and many dependencies. Using Anaconda is the easiest way to get things working. clone the repositry and follow these steps
conda create --name <ENVIOREMENT NAME> --file requirements.txt
conda activate <ENVIOREMENT NAME>
Or
conda create -n <ENVIOREMENT NAME>
conda activate <ENVIOREMENT NAME>
conda install --file requirements.txt
You can test out the simulator by opening it up and choosing "Training Mode."
To run the automated code included in this repository:
- Activate the conda environment with
conda activate <ENVIOREMENT NAME>
(setup by following the instructions here) - Run
python ./code/drive_rover.py
to start the automation logic (this communicates with the simulator directly) - Start the simulator (double click
Roversim.x86_64
orRoversim.x86
) and choose "Autonomous Mode."
roscore
rosrun gmapping slam_gmapping scan:=base_scan _particles:=30 _temporalUpdate:=0.01 _map_update_inerval:=1.0 _resampleThreshold:=4
rviz
Press Ctrl+O to and open GMapping_Config.rvoz
conda activate <ENVIOREMENT NAME>
python ./code/drive_rover.py
This Jupyter Notebook includes all of the major functions, which are broken out into individual sections as follows: