Autonomous SmartRover that is designed to explore foreign planets, terrain and its environment.
- Introduction
- Features
- Demo
- Installation
- Testing
- How to use
- Dependencies
- Development team
- Credits
- Contributing
- License
Furthermore, you have access to all source codes and files that we put our effort to build this project. If you find any bugs, mistakes, foolishness, typos or have useful suggestions, please contact us (how? ... let's see about that) as we appreciate your interest in our project.
The system is developed such that it can perform the following tasks:
- Robust Frontend app built on Electron JS
- Load custom Martian terrain and rover mod for improved realism
- Connect to the SmartRover and manually drive
- Send console commands to drive the SmartRover
- Connect and receive live camera stream
- Autonomous driving with obstacle avoidance logic built-in
- Build and execute the Missions by defining each step parameters
- Create user account and login with unique profile
- Save and load user missions
Detailed installation instructions are provided on the wiki page.
To build, run or test the source package for the SmartRover frontend app, you need to install NodeJS package manager first.
Please refer to GET NPM page to download and install npm.
To build before the tests for this project, launch Command prompt or terminal and navigate to ElectronJS root folder. And run:
$ npm ci
To run the website for testing purposes, run:
$ npm run test
Please refer to Installation manuals above to install the system. Once installed, you can launch the SmartRover app by clicking SmartRover app icon.
Manual control page allows the user to precisely control the Rover in real time by using control pad buttons and terminal console commands. Once you connect to the Mars Orbiter satellite feed, the app will show you live camera streams from the rover and detailed telemetry data as soon as it is available.
Please visit Manual control wiki page for more detailed information.
Mission control page allows the user to plot a mission to designated target areas on the Jezero crater area and send it to the SmartRover for execution. User can monitor status of the mission and receive notifications. Once SmartRover reaches the target area and successfully scans the target area encoded in the QR code, the mission is complete and considered successful.
Please visit Mission control wiki page for more detailed information.
Please visit Technology & Frameworks for more information.
We appreciate everyone who had supported us during this project, including the creators of various plugins, addons, creative materials, medias, 3D models and much more.
Please visit CREDITS for our special thanks, credits and attributions. While we made our best effort to include everyone, if we are missing something feel free to notify us. We will make an immediate updates. Thank you again.
If you wish to contribute to this website, please fork it on GitHub, push your changes to a named branch, then send a pull request. If it is a big feature, you might want to start an issue first to make sure it's something that will be accepted. If it involves code, please also write tests for it.
MIT © Group-09 The source code for the site is licensed under the MIT license, which you can find in the MIT-LICENSE.txt file.
All graphical assets are licensed under the Creative Commons Attribution 3.0 Unported License.