Code Monkey home page Code Monkey logo

mr-fusion-capstone's Introduction

Mr. Fusion CEC/EE 420 Capstone Project

The Mr. Fusion project aims to build an autonomous robot capable of giving tours on ERAU campus. The autopilot system is divided into three subsystems: guidance, navigation, and control (GNC).

Description

Guidance

The guidance subsystem is responsible for path planning and decision making for determining where the robot shall go during operation. It includes a map of campus for coarse path planning and waypoint generation and uses a 3D time of flight (ToF) camera for environmental perception. Observing its surroundings allows the robot to avoid static obstacles and stay on traversable paths.

Subteam members:

  • David Stockhouse
  • Sean Link

Navigation

The navigation subsystem uses a sensor suite to determine precisely localize the robot's position. The sensor suite contains an IMU, GPS, magnetometer, barometer. Additionally, the navigation subsystem uses wheel odometry from the robot's motor encoders and computes optical flow from ToF images to estimate visual odometry. All sensor measurements are fused together for a high fidelity estimate of the robot's position.

Subteam members:

  • Joseph Kroeker
  • Emmett Hamman
  • TJ Hall

Control

The control subsystem drives the robot's motors to influence its position according to commands generated by the guidance subsystem. The control subsystem uses a dynamic model of the robot platform to send appropriate control signals to the motors and correctly drive the robot where needed.

Subteam members:

  • Connor Rockwell
  • Joy Fucella
  • Duncan Patel

Environment

For running unit tests the computer should be compliant with the x86 instruction set architecture and run the ubuntu operating system.

For running the application, the hardware should abide by the ARM-A architecture running ubuntu.

Setting up your Environment on a Windows Host

The following section is intended to setup your environment so you may develop, compile, and run unit tests on your person machine running Windows.

  1. Start by Enabling a feature that allows your windows machine to run linux by running the Windows Power Shell as an Administrator and entering the following command.

Note: You will be required to restart your system after running this command.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  1. Navigate to the Microsoft Store and download Ubuntu.

  1. Install Ubuntu by running the downloaded application. You should get a terminal that looks similar to the following.

  1. After the ubuntu installation is completed, download and install our development environment Visual Studio Code.

  2. Launch VSCode and install the Remote - WSL extension by following the call outs in the image below. This will allow us to run commands on our ubuntu environment from VSCode.

A green icon should now be visible in the bottom left of your screen.

  1. Press the green button in the bottom left corner and select Remote-WSL: New Window. A new instance of VSCode should launch, and be connected to our ubuntu environment.

  2. In the new VSCode instance, open your terminal using Ctrl + ~

  3. Clone the Mr. Fusion Repo

git clone https://github.com/dstockhouse/mr-fusion-capstone.git
  1. To install dependencies such as make, gcc, and rust, that allow for the code to be built, navigate to the directory that contains the install_dependencies.sh file and run it using th following command.
sudo ./install_dependencies.sh

Note: You will be prompted to specify what type of installations you want. Select default for all of them.

  1. Install dependencies, such as CGreen, for unit tests by navigating to the directory that contains the install_dev_dependencies.sh script and running the following command.
sudo ./install_dev_dependencies.sh

Building and Tests

To build the executable for each of the subsystems, enter each subsystem directory and execute make. To execute the test suite, first make clean and then run make test. Cgreen must be installed to build and run the test suite.

To build the guidance system written in rust, navigate to the guidance/rust_code directory and execute the following command

cargo build

To run the guidance executable, enter

cargo run

To build and run the guidance executable with unit tests, enter

cargo test -- --test-threads=1

Automated Tests

To see the automated test results, see the following link.

https://travis-ci.com/dstockhouse/mr-fusion-capstone

Contact

Project Lead - Joseph Kroeker
[email protected]

Technical Lead - David Stockhouse
[email protected]

mr-fusion-capstone's People

Contributors

dstockhouse avatar hammane-carl avatar josephkroeker avatar joybear7 avatar pateld-git avatar rockwec1 avatar seanybaggins avatar tjhall1948 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.