CHUMIA

FINAL REPORT

University of Florida
Department of Electrical Engineering and Computer Engineering
EEL 5666 - Intelligent Machine Design Laboratory
 
	Andres Thomas Riffo	

Table of Contents:

Abstract………………………………..........................................3
Introduction………………………………............................... ....4
Integrated System………..…………….........................................5
Mobile Platform……………………….........................................5
Actuation……..………………………..........................................6
Sensors.………………………………..........................................6
Behaviors…….………………………..........................................7
Conclusion…..….……………………..........................................8

Abstract

	CHUMIA is a land-based, autonomous robot which will look and collect signs of life in a simulated rocky planet surface. It will drive up to a large rock and precede to circle the object while its camera is on. CHUMIA will try to detect life in the form of visible chlorophyll (blue-green coloring) on the surface of the rock and align itself with the target. The robot’s arm will collect a sample of the target and place it in a small basket attached to the robot. After a predetermined number of collections, CHUMIA will return to its original starting point and drop off the samples.

Executive Summary
	
	CHUMIA body is a TJ milled from wood in the IMDL lab. It was perfect for me as the body was light, small, and surprisingly durable. Unfortunately, the original plans for the TJ were lost from the IMDL milling computer and it set me back a few weeks.
Once the parts were milled, the assembly was quick and easy, and the platform could perfectly mount both wheel servos and sensors.
	To give CHUMIA movement, the I hacked two basic servos for continuous rotation and attached wheels to each of them. To drive these servos, two different Overflow Timers are used to create PWM signals.  In order to prevent a power spike that would reset the board, all servos are placed on a different power source. The servos for the arm and scoop are of a better quality to account for increased weight.  
	I was able to find all the sensors for CHUMIA’s behavior. Knowing I would have to do object detection, I installed digital IR and Bump sensors. Also, knowing I would have to do wall following, I also purchased and installed two analog sensors. Lastly, planning on doing color detection, I acquired a  CMUCAM. 
	I faced many challenges while creating this robot. Firstly, I ordered the wrong board and needed to get a replacement. Secondly, the digital IR s wouldn’t interface with the I/O ports due to low voltage. I was able to finally use them by connecting them to the ADC ports. 
	 However, my greatest challenge came from the CMUCAM. No matter what I tried, I was unable to get the cam working with my board. Even though the cam did work with the PC and oscilloscope, no setting of BAUD rate, level shifting, power or coding was able to communicate with the Maveric board. Even replacing my 16 MHZ with a clock that could better divide the clock rate ( 14.97 MHz) made no difference. I spent the better part of 2 - 3 weeks working just on the cam with no results.
	After all this, I finally came to the decision to replace my special sensor with one made by myself. This sensor will be made from bump sensors and will measure the hardness of a sample. 
	Do to  the diversion of work from the robot created by the cam, overall behavior of my robot is shaky at best. Even though I worked on all aspects of my robot during this time, I had very little time to integrate these parts together. This is turned out to be the most difficult part of the project.     

Introduction

	Humanity’s inherit desire for exploration and discovery has always been its distinguishing feature and the key to its success. By observing nature we are able to learn not only how to best improve our lives, but who we truly are. With the development of technology comes greater understanding and greater curiosity. Today, the advances in the technologies of rocketry, biology, communications, and ,most importantly, robotics have allowed us to search for the answer to one of the greatest questions asked: is there other life in the universe? The answer to this question will weigh heavily on science, religion, and a multitude of other schools of human existence. However, solving the mystery is a vast feat of determination. Even with the existence of billions of stars just inside our  own galaxy, we are still limited to the search for life on the planets and moons of this solar system and possibly to a nearby star . Although recent discoveries maintain that many of these moons and planets could support some form of life, searching these huge celestial bodies is an immense task.
	The purpose of the CHUMIA is to show how small, cheap, and completely autonomous robot can make a large impact in the search for life. The basic concept would be launch a CHUMIA version robot inside a “lander” to a rocky, alien world. Because of its light weight and cheap cost, hundreds of machines could be sent at one time to many parts of the planet. Upon touchdown the CHUMIA will leave the “lander” and begin the search for life using visional quos and intelligence. After detecting and collecting a sample, the robot would return to the “lander” and drop off the sample to analyzed by some micro lab. If a ‘positive’ result for life comes from the sample, the “lander” would transmit its results to Earth or an orbiter. The results found by a CHUMIA would greatly influence further exploration on the planet.
	For the proposes of the project, the simulation that CHUMIA will be interacting in will have highly accessible terrain with a benign environment. As a precaution, the ‘rocks’ to be sampled by CHUMIA will be made from Styrofoam.  

Intergraded Systems 

	CHUMIA will be built using a Mavric-IIB board with an Atmel processor. The 
board was chosen because of its small size and its familiarity with the TAs. In order to save space, almost every pin has a second function. Examples include: ADC on PORT F, overflow signal for TIMER 3 on PORT E, and TIMER 1 overflow on PORTB.  When 
completed, the board will be connected to  bump sensors, analog and digital 
IRs, and several servos.    

Mobile Platform

	The platform will be built from wood and all follow the basic TJ design as 
specified in the syllabus. The board and wheel servos will be placed in the same housing. Two Battery Packs will be placed in the box to the front of the robot. The bump and IR sensors are attached to the topside of robot along the LCD panel. A simple lever arm driven by a servo will have a second servo that will drive a claw system made of two razor blades.    

Actuation
	The CHUMIA will have several moving systems to complete its task. First, two wheels at the bottom of the robot will provide movement using two independent hacked servos. These servos are TS-53 3000 Standard Servos from Tower Hobbie and were chosen for there cheap cost. They have a torque of 42 oz-in at a speed of .22 sec/60 Deg.  
A second pair of servos will drive the arm and claw actuation of the robot to retrieve the sample. They are Airtronics Standard Heavy Duty servos and are used because of the steep power requirements of the arm and scoop. These servos have heavy duty parts with a torque of 50 oz-in at a speed of .22/60 Degs.      
Sensors

					Bump Sensors
		
	CHUMIA will use many different kinds of sensors to accomplish its mission. The simplest of these are bump sensors. This kind of sensor is a simple open circuit that closes when a lever or button is pushed far enough. When activated, the bump sensor will send a signal indicating an obstacle in the path for the robot. Bumps will be glued around the robot as well as on the edge of the arm to help with collecting samples. Bump sensors will be a critical part of the avoidance behavior.
					IR Sensors   
	Another sensor used on CHUMIA will be IR (or Inferred ) sensors. These sensors emit and receive inferred light reflecting off of objects. However, because of interference from background light, the effective range of the IR system is limited to a few inches. There are two kinds of IRs: Digital, which will send out a simple binary signal of off or on, and Analog, which will send out a voltage proportion to the distance to the object. Digital IRs can be used as supplements to the bump sensors when operating the object avoidance system. The Analog IRs can be used to guide CHUMIA closely around the rock during search mode in the same manner as wall following. 
				CMUCAM Sensor
	The next sensor will be a CMUCAM used by CHUMIA to find signs of life on the target rock. The CMUCAM detects visible lights and uses pixels to find mean color of its field of vision. Unfortunately, the Cam will only properly work with bright colors and can best distinguish between blue and red. The CMUCAM, with the proper programming, will still be useful in motion detection and target tracking.

	However, despite great effort in integration,  UART communication between the Maveric board was unsuccessful. Another kind of sensor will replace the CMUCAM. The Special Sensor Report for the cam is included in this report for completeness.    
				SPECIAL SENSOR REPORT:

Older Version of CMUcam.

Attributes of the CMUcam 
	
	The CMUcam is a color image sensor using a Omnivision OV6620 CMOS camera with a focusable lens and operates with a SX28 microcontroller. With firmware version 1.12, the board can support a 9600, 19200, 38400, or 115200 baud rate with its built-in UART port. The CMUcam also has a 17 Frames per Second frame rate, up to a 80 x 143 resolution, and color pixel tracking. For power, the CMUcam requires 6 to 7 volts of power at 200 mA for ideal operation.     

Desirable Traits:
Aspects of the sensor that meets project specs: 
	
	IMDL’s past experience and extensive online documentation. 

	(Relatively) Cheap Price of $109

	Small size ( 2’’ x 2’’ x 1.5’’) and light weight needed for small platform

	Generates independent PWM signal for servo

	Ease of interface (built in UART system)

	Gives X-Y position of selected color 
  
Workable Limitations:
Aspects of the sensor that project specs can be suited to:
	Limited range of inches: (Make sure keep near search target)
	Larger voltage requirements (Will need independent battery source)  
	Limited color identification ( Target is green-blue target on red ‘rock‘)

Experimental Setup

	In order for CHUMIA to best detect its target, two questions must be experimental solved. In order to find the intended color target, the CMUCAM must have certain MIN/MAX parameters set along the red, blue, green colors. Because CHUMIA needs to line itself and its arm up with the target, the CMU needs to make these parameters as small as possible to increase accuracy. However, create the parameters too small and targeting may be disrupted or the CMU might track a similar color instead. So, to obtain the best possible parameters, the two questions to be answered are:
How much does color detection change over distance?
Which color contrast best affects target color detection?   

(Target color against white or red painted rock?)

Colorvs
Dist.	R	G	B	
1 in	55	42	25	
2 in	60	44	24	
3 in	55	40	26	
4 in	65	38	23	
5 in	55	37	24	
6 in	45	33	21	
7 in	49	30	19	

Colorvs
Dist.	R	G	B	
1 in	170	16	16	
2 in	183	16	17	
3 in	168	16	16	
4 in	154	17	16	
5 in	143	16	16	
6 in	122	17	16	
7 in	115	16	16	

						

Colorvs
Dist.	R	G	B	
1 in	154	62	17	
2 in	190	61	21	
3 in	200	68	25	
4 in	199	73	22	
5 in	180	70	21	
6 in	141	67	25	
7 in	134	64	23	

New Sensor: Hardness Sensor 
	
	This is a specially built sensor that combines bump sensors with the scoop. The bump sensors will be placed in the same axis as the scoop. They will indicate the position of the scoop and therefore indict the hardness of the sample being taken.  

Behavior
	When CHUMIA is turned on, it will move forward and use obstacle avoidance to get around small-sized rocks.  The robot will have an overhead bump sensor to judge whether or not a rock is ’large’ or ’small’. When it encounters a large-sized rock, CHUMIA will turn 90 degrees to its right and start moving counter-clockwise around the rock. It will do this by using a wall following algorithm to keep a distance of 4 to 6 inches to the rock. Another algorithm will use the wheel servos’ turning and forward times to store vectors of the robot’s path. Using these vectors, CHUMIA can calculate when it is fully around the rock as well as find a path back to the drop-off point. 
	While going around the rock, CHUMIA will turn on its CMUCAM and swivel it left to scan the rock. A bump sensor will be at the edge of the arm. If the arm feels a bump while not at the target, CHUMIA will back up a bit. If the does not feel a bump at the target, CHUMIA will move forward a bit. Next, the scoop at the end of the arm will turn and collect the sample. When completed, the arm moves back to its set position thereby placing the scoop right over the basket attched to the rear of the chasis. The scoop unturns to release the sample into the basket and CHUMIA continues its search. 
	When taking the sample, the Hardness Sensor will judge how hard the sample is and allow CHUMIA to take the appropriate action. If the sensor returns a ’soft’ result, the scoop closes returns the sample as usual. If a ’firm’ result is returned, the scoop will ’chomp’ a few times to penetrate the sample. If not, CHUMIA will simply leave the sample.  
	After going all the way around the rock, CHUMIA follows the calculated path back to the drop-off point (represented by a black circle on a large white sheet). Upon reaching the end of the path, the robot will use turn on a down pointing digital IR and try to find the black circle. After finding the circle, the robot will turn 180 degrees and dump out the contents of the basket. CHUMIA , having completed its mission, will now turn off.            

					Conclusion
	In conclusion, I have had mixed feelings about the project and the class. 
I had to change much of my original design and in some cases, out right failed to achieve aspects of the project. I have not reached a level in the project that I can be proud of and part of the reason is understanding the work load of the class. The other part of the problem is, having never taken Senior Design, my inexperinece with this type of work. My greatest folly came from the time I wasted trying to get the CMUCAM to work.  However, I learned a lot and actually have a robot (which is pretty cool). In the end, if I were to take this class again, I would have focused more on my overall robot working then indivual aspects.  

	 

Documentation

1)	BDMicro, Maveric-IIB Manuel. http://www.bdmicro.com/mavric-iib/mavric-iib.pdf. 

2)	Carnegie Mellon University, CMUCAM Manuel. http://www.cs.cmu.edu/~cmucam/Downloads/CMUcamManual.pdf

3)	Acroname Inc., Shape IR Rangers. http://www.acroname.com/robotics/info/articles/sharp/sharp.html