Giter Site home page Giter Site logo

software's Introduction

Welcome to Marquette's NASA RMC Team Page

The Project

The project was to build an autonomous mining robot to enter into the NASA Robot Mining Competition which was held in May 2019. Overall the project was fairly successful. While the robot had the capabilities to be autonomous, in the end there were too many technical hurdles to overcome before the final competition run in 2019. Video of Run

Robot Description and Components

The robot uses treads from Super Droid Robots. It has a digging arm supported by two sets of linear actuators from from Midwest Motion and driven by two Roboclaw motor drivers. The digging bucket scoop belt is made from leather and 3D printed PLA infused with carbon fiber for the buckets. The dumping belt uses a vinyl belt reinforced with webbing and rubber rungs from Automation Direct. The robot runs on two 4Wh 4 cell LiPo battery packs in series from Turnigy with a nominal voltage of about 36V. This was regulated to 24V for the drives and 12V for the control boards using some home made regulator circuits. The main control board is the UDOO x86 Adv+ running Ubuntu 18.04. The locomotion, digging, and dumping were all operated using Anaheim Automation BLWRPG17 Brushless DC motors with planetary gearbox and driven with the ODrive Motor Controller which we loved to work with. These motors we found to not have quite enough torque for this application but were very durable, reliable, and easy to work with. The robot used the Kinect v1 for XBox 360 as a camera as it also provides distance point cloud data. The other sensors we used were current and voltage sensors from Phidgets and their 3/3/3 high presision IMU. We were impressed with all of phidgets products and how easy they were to work with.

Software and Controls

The robot uses the ROS framework to run everything. To operate the robot one must SSH into it twice and run one command in each window:

roslaunch launch_files autonomous_launch.launch

roslaunch launch_files drivers.launch

Then open a webpage at http://<ip_address_of_robot>:9876 to see the sensor read outs and teleop the robot.

Thank Yous

We are so thankful to the University of Alabama for hosting the competition and all the volunteers who helped put on this amazing competition.

We would also like to thank Marquette University, Collins Aerospace, Komatsu, WSGC, Real Chili, ODrive, Phidgets, and the many family members and friends who gave us support and assistance for this project.

The Team

  1. Matthew Braccio - Project Lead
  2. Erik LeBeau - Mechanical Design Lead
  3. Zach Pederson - Mechanical Design / Treasurer
  4. Tim Campbell - Manufacturing
  5. Dean Koumoutsos - Electrical
  6. Zach Nordgren - Controls
  7. Nathan Faust - Automation / Secretary

software's People

Contributors

znordgren avatar hattas avatar 8489faustn avatar

Watchers

James Cloos avatar  avatar

Forkers

deankou

software's Issues

Roslaunch over SSH

Using the current launch file over SSH fails as new terminals are not automatically opened. Need to figure out how to set it up with xterm -e

Qr Detector Node

Currently the node stops the motor when the qr is detected. Needs to determine where the front and back qr codes are and then spin to the right direction. Implement a timer to do this.

Transmit Sensor Data

This is the second card relating to the displaying of sensor data. The input will be the packaged sensor data and the action will be the transmitting of the data via wifi. This is connected with the setup wifi card.

Display Sensor Data

This is the third step in the displaying of sensor data project. The input will be the packaged sensor data that has been transmitted and the action will be displaying the data in a webpage. The plotting library will be Highcharts. The web framework is still to be determined.

ODrive self.convert(x,z) not working correctly

In the self.convert(x,z) function the published velocity commands are being lost here as there is an issue with us casting int(forward - angular_to_linear). The values of forward and angular_to_linear are currently set to around 0.3125 and .318, which results in after the casting to be zero. This then multiplied by the m_s_to_value variable causes our left_linear_val and right_linear_val to zero.

USB 3.0 Hubs

To get the kinect working in a USB 3.0 hub, had to turn off the ability of 3.0 hubs in the BIOS. See if there is a workout for this instead of turning off all USB 3.0 functionality.

Read Onboard Sensor Data

This card is relating to seading sensor data off of the chip and set up regular polling. This card is connected with the plot sensor data card.

Angular Velocity Command Not Set Properly

The z variable of the robot (the rotational variable) is currently set to z = max(min(msg.linear.x, self.max_angular), -self.max_angular) However, shouldn't it be set to z = max(min(msg.angular.z, self.max_angular), -self.max_angular)

Package sensor Data

This is the first step of the displaying of the sensor data. The three parts: package sensor data, transmit sensor data, display sensor data in webpage.

Current Sensor Phidget

Need to average the current sensing node, 30A_Current_Sensing, to the last 10 values. Will make the current sense value that is output when echoing the node to be read.

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.