This project was part of my Carnegie Mellon University graduate coursework. The project spanned two courses: Computer Vision and Machine Learning. I worked in a team with Justin Farrell and Matt Eicholtz. Our Matlab code is available on my GitHub page. Feel free to use it and take what you need. If you do we only ask that you reference our efforts (and the effort of those who we relied on). You can get some more information from our poster.
||Paper (for Machine Learning course)
Design and build a machine that fires Nerf foam balls and hits static and moving targets with great accuracy and speed.
Four engineers joined forces to accept the challenge.
Justin Farrell (firing), Melvin Rayappa (vision, coding), Jason Atwood (system integration), and Rachel Jackson (loading, aiming)
Figure 1. Depiction of overall mechatronic system with key components highlighted.
Continue reading “CMU Mechatronics Project: Multi-shot Cannon”
For the last ten months, I’ve been contracting as an electromechanical engineer at a research chemistry firm in Atlanta. They specialize in commercializing several patented processes and they have hired me to automate the processes for several applications. I have used this opportunity to refine and expand my electronics and process controls skill sets. They work with several Fortune 500 companies producing quick market solutions. In the interest of all of this privacy I am bound to a pretty strict confidentiality agreement. Unfortunately I can’t talk about details, however, I am working on some really cool projects so I’ll stick to the how’s and leave out the what-for’s.
I had this really long post in the works and was completing it piece-meal as I had time. Sad to say though, I’ve been so busy doing work that I haven’t had time to write about work. So in the interest of brevity and to start a format where I can easily add new posts as I finish projects, I’m going to limit my writing and let some pictures do most of the talking.
I am spending a lot of time working with LabView and I have become quite efficient at writing programs and designing process control systems. One of our processes requires monitoring and controlling seven gas flows, monitoring the pressure in two liquid lines, monitoring the temperature in ten locations, and moving a two axis robot to various positions and repeating several paths. The program can also export all of this data to an Excel file of the user’s choosing.
The motion hardware at ____ is antiquated ValueMotion driver and nuDrive amplifier hardware, which took me a bit of time to setup and get working properly. I’ve implemented both a mechanical and software emergency stop. The thermocouple and pressure transducer monitoring is accomplished with National Instrument’s FieldPoint modules, which while also legacy technology, are quite ubiquitous at ____.
I wrote a program that incorporated all of these features. I’ve removed any confidential information but here is a overview of the program and the necessary files.. I am in the process of upgrading all of ____’s Labview to LV2009 from the much older 7.1 (and even 5.0 on some machines). So this program is written in 7.1.
||LabVIEW 7.1 (files zipped)
So in the course of finishing what would have been part 3 of this project, the post processing, I decided that some design changes needed to be made to the robot. I made two hardware changes: larger drive wheels and the addition of a compass sensor.
Continue reading “SLAM-5 Bot part 3: Hardware Iteration”
After assembling the hardware for my SLAM (Simultaneous Localization and Mapping) robot, I set about to write the code which controls the drive motors, senses obstacles, and records the robot’s path. Lego’s NXT kit comes with a rather basic visual programming language called NXT-G. This program, which constructs programs by creating essentially flow charts, is almost counterintuitive to anyone with command line programing experience. I decided instead to use the third-party programming language called Not eXactly C (NXC) and its associated IDE, Bricx Command Center.
Continue reading “SLAM-5 Bot part 2: The Control Algorithm”