This repository serves as documentation of all the code run by Ben Holland and Kyle Crews for the Colorado School of Mines Introduction to robotics course, MEGN 441 taught by Josh Burmeister.
Ben Holland | Kyle Crews |
---|---|
Senior, Engineering Physics | Senior, Mechanical Engineering |
This set of code and libraries as well as the source code for Lab reports is lisenced under the MIT Software Liscense. By using this set of code you agree to the license put forth in the root directory of this project.
The goal of this course is to give the student an introduction to the world of robotics through a series of hands-on constructionist projects as well as individual study, homework, and exams. In addition, the student will become familiar with, and demonstrate developed skills in the principal subsystems that comprise robotic systems. Those subsystems include:
- Electrical
- Sensors
- Microprocessors
- Motor drivers
- Mechanical
- Motors
- Gears
- Mechanism design
- Software
- Flow charting
- Programming
- Algorithm development
- Debugging and testing
- Power
- Power storage
- Power monitoring and utilization
Students will participate in a series of design projects in which they build and program robots to perform specific tasks. A variety of sensors (e.g., contact sensors, optical encoders, IR rangers, photo detectors, IR communication sensors,) will be characterized, wired and then integrated into the robot to provide environmental and pro-perceptive sensing.
- Motor performance characterization
- Dead reckoning navigation (open loop control)
- Reactive control
- Obstacle avoidance and maze navigation
- Maze solving (learning a direct path to the goal)
- Open-ended design project
For the most part code descriptions can be found in the commits and descriptions for them. Additionally, in all code written, we did our best to add comments where we did something a little fishy.
Most of the code written is based on the MotorControl library we wrote (included in most labs with the version of the library that was run). In order for this to work on your personal environment, you will need this library downloaded and in the same folder.
Source latex code for our lab reports is included as well in the Lab Reports
folder.