Rich Primerano's Course Project

From GICLWiki
Revision as of 13:25, 9 October 2006 by Richp (Talk | contribs)
Jump to: navigation, search


Contents

The Project

I began this project several years ago. The goal was to design a robot that behaved similar to a biological snake. The intent being that the robot would be a good platform for testing various control, path planning and object avoidance algorithms. Currently, I have completed the construction of the physical device and am in the process of building motor drive electronics. The first version of the snake will contain joint torque sensors and proximity sensors. Without too much more effort, I could add tactile sensors on the feet which would allow the snake to perform ground hugging and stability monitoring.

One of the first things I'll work on for this class is developing a physics based model of the robotic snake using ADAMS. The purpose of this is so that I may test several control algorithms, written in MATLAB, and tune their performance using the virtual device rather than a physical robot.

A solid model of the robot is already built in Pro/Engineer and a controller is being written in MATLAB. The initial controller will be a simple PID with each axis decoupled from the others. Although this is not the best approach, It should be adequate in the beginning while I work out some bugs. Later, this will likely be replaced with a state feedback controller. Initially, the controller will drive a simulated version of the snake build in a (still undetermined) physics based simulator.

Week 1

This week, I have familiarizes myself with MSC/ADAMS, a program used for developing physics based models. This model could be integrated with a control algorithm so that the controller could be tuned without needing the physical robot. I have begun going through the tutorial at the link below. Later this week, I'll try to import some of the snake segments and build an assembly from them.

Week 2

During the past week, I've begun modeling the snake in ADAMS and applying constraints that simulate a flat surface over which the snake can crawl. I'm still not sure exactly how to drive the model from external sources and read back model parameters, but there are several online resources that discuss this.

I've gotten back to working on the servo drive circuitry for the snake as well. This should be complete in about a week and I'll send the boards out to be fabricated soon after. This version of the robot will be controlled by seven PIC microcontrollers that receive their commands through a teather from a PC. Locally, each motor is controlled by a seperate PID control algorithm.

Resources

The tutorials links below are useful for those interested in learning either of these software packages.

Pro/Engineer Tutorials

http://www.staffs.ac.uk/~entdgc/WildfireDocs/tutorials.htm

http://www.me.cmu.edu/academics/courses/NSF_Edu_Proj/Wildfire_short_course/tutorials.htm

ADAMS Tutorials

http://support.mscsoftware.com/kb/results_kb.cfm?S_ID=1-KB8703

Personal tools