Introduction - Purdue University



Homework 3: Design Constraint Analysis and Component Selection Rationale

Due: Thursday, September 15, at Classtime

Team Code Name: _________T.R.A.P._______________ Group No. __2___

Team Member Completing This Homework: ___Valentinos Zachariou_____

Report Outline:

▪ Introduction (brief description of design project, with a focus on design constraint issues)

▪ Analysis of “real world” design constraints pertaining to your project

o computation requirements

o interface (sensors/actuators/peripherals) requirements

o power supply constraints

o packaging (size/weight) constraints

o cost constraints

▪ Rationale for component selection (a detailed comparison of at least two candidates for each major component choice – show how the design constraints, outlined above, have driven or guided your component choices)

▪ List of major components (Excel spreadsheet listing vendor, part number, unit cost, quantity, and total cost)

▪ List of References (include links to data sheets for all components discussed – be sure to cite all references in the body of your report, using standard IEEE format)

Evaluation:

|Component/Criterion |Score |Multiplier |Points |

|Introduction |0 1 2 3 4 5 6 7 8 9 10 |X 1 | |

|Analysis of Design Constraints |0 1 2 3 4 5 6 7 8 9 10 |X 3 | |

|Rationale for Component Selection |0 1 2 3 4 5 6 7 8 9 10 |X 3 | |

|List of Major Components |0 1 2 3 4 5 6 7 8 9 10 |X 1 | |

|List of References |0 1 2 3 4 5 6 7 8 9 10 |X 1 | |

|Technical Writing Style |0 1 2 3 4 5 6 7 8 9 10 |X 1 | |

| |TOTAL | |

I. INTRODUCTION

The basic idea for this project was to create a fully automated vehicle that will have the ability to pick up and store a significant number of soda/beer cans of a specific color, in an indoor environment. Many people like to have parties at their home or at relatively large ballrooms or reception areas. When the party is over they have to clean up. Picking up all the trash after a party is a tedious work. Our autonomous vehicle is designed to make that task significantly easier by providing an alternative to picking up soda cans by hand. In order for the autonomous vehicle to achieve this task, it needs to have the ability to patrol a user specified area; the party area. The autonomous vehicle also needs to be able to know its heading and how far it traveled in order to avoid drifting out of the specified area. When in the specified area, it needs to have the ability to correctly identify soda cans, from other trash that it won’t be able to collect. Once it identifies them, it needs to successfully pick them up and store them in a container that will be towed along. In addition to picking up the identified soda cans, it also needs to correctly avoid all other potential obstacles, while staying in the specified area. For safety reasons it also needs to stop if something happens to block its path of motion. For further functionality the robot must have the ability to know when its towed container is full and indicate that event to the potential users. For this reason it needs to use an onboard LCD display for displaying various important messages, such as error messages and battery low status. Finally the autonomous vehicle needs to have a keypad, so that the potential users can interface with it and provide information for its functions, such as area to be cleaned. In addition it will need to have sufficient battery life to allow it to clean a large area, without the need of recharging before the cleaning task is complete.

Based on the above description, certain important constraints arise which can be divided into four major classes:

A) Hardware constraints: Constraints that involve all the hardware components of the robot, including sensors, camera, DC motors, servo motors and power supplies, as well as any other hardware components that will facilitate in the correct operation of other major components.

B) Software constraints: Constraints involving the logic that will control all the hardware. This includes the space that the programming code will occupy as well as the computational capability needed by the microcontroller for smooth operation.

C) Packaging constraints: this includes the physical structure of the robot. This includes hardware components such as wheels, casing and trash picking shovel.

D) Budget constraints: constraints in terms of money that need to be spent, in order for the whole project to be worth building in terms of economical value. If the project works perfectly but is worth a fortune, there will be absolutely no demand for it and it will thus be worthless.

II. COMPUTATION REQUIREMENTS

The project is assumed to be moderately demanding in computational ability due to the sole factor that it will have to perform basic object identification. Thanks to the use of the special component CMUcam2+, some of the intense processing power will be handled separately by the camera module [1]. According to information from previous groups as well as from the manual of the CMUcam2+ camera, a moderately fast processor should be more than capable of handling the load [1]. We decided to start with no less than 8 MHz of processing power. We decided to aim for a relatively fast clocking speed, because the robot needs to perform all object identification and object avoidance routines while in motion. If it doesn’t go through those routines fast enough it might fail to identify a potential target object on time and run it over, instead of picking it up. We don’t want a robot that takes 5 minutes to identify an object as trash. As far as memory requirements go, we do not anticipate needing more than 90 kb of programmable flash memory. We anticipate about 8,000 to 9,000 lines of code.

III. INTERFACE

A lot of interfacing components are needed for this project. One of the major required components is a camera that identifies objects as trash. Since the robot is designed to patrol a certain area, at least 4 DC motors are required for making sure the robot can move and turn in all directions, while supporting the weight of the shovel, arm and a basket potentially full of cans. We also anticipate the robot to be more than 1.00 meter in length and for this reasons we believe that 2 DC motors won’t be strong enough for the task. The camera should be able to identify motion, which could be used by the robot to stop if something moves abruptly in its path of motion, but another sensor is needed for identifying obstacles. We decided to use an ultrasonic sensor since it’s pretty reliable and relatively cheaper than the Infra Red proximity sensors.

Another sensor that is required is a CMOS sensor, similar to the one used in optical mice, to help us keep track of position and distance. In a sense to make sure the robot travels in straight lines and covers the desired distance. Another ultrasonic sensor needs to be used on top of the trash container in order to know when the trash container is full. We decided to use an ultrasonic sensor due to its wide range. Having a wide range means it can easily monitor the whole top part area of the basket, eliminating the need for an array of optical sensors.

At least four servo motors will be needed for the shovel mechanism and finally a keypad and an LCD module for user interfacing. A plethora of other components will also be needed but are not classified as major components and are not mentioned in detail in this report. Some of them include the batteries, voltage regulators, etc. All the above components will interface with the microcontroller; the choice of the microcontroller is highly dependant on the peripherals that will be of most use, given the components required. Since at least 8 motors will be used, the microcontroller needs to have a large number of Pulse Width Modulator modules. Since ultrasonic sensors are being used, analog to digital converters are also welcome, since some types of ultrasonic sensors require A/D converters. An RTI module and an on board configurable oscillator is also a must since they will be needed for the image processing. Finally a large number of Input/Output pins will definitely be required, due to the large number of devices that need to interface. The Atmel ATmega128L offers all of the above in a reasonably large package that has enough Input/output pins to suffice for this project [2]. Given that it is relatively easy to program and one of our team members already has experience with them, makes it the obvious choice. The alternative to using the Atmel ATmega128L was the Rabbit 3000 microcontroller [2], [3]. The Rabbit 3000 microcontroller has significantly more processing power than the Atmel (runs at 55.5 Mhz) as well as more memory (1MB). It also, however, has a higher cost per unit. Since we do not need the extra memory or the speed, it will make more sense to go with the cheaper Atmel solution.

IV. POWER SUPPLY CONSTRAINTS

Due to the large number of motors required for this project it was decided that it will be best to use two different batteries. One for the motors and one for the microcontroller, the sensors, keypad, LCD, Camera, as well as any other minor circuit components, like the keypad debouncer chip. It will be best to consider the power constraint of each of the two batteries separately. The camera requires at least 5 V of power and at least 200 mA of current to operate properly, the ultrasonic sensor requires 5 V and 30-50 mA current. The LCD module requires 5 V and 35 mA of current (non backlit); the Atmel Atmega128L requires 5 V and approximately 45 mA of current, depending on how much load is being processed [2]. Finally the keypad is able to work on a variety of voltages and consumes negligible amounts of current. This adds up to about 330 mA of current requirement that will have to be provided by one of the battery cells. A total of 8 different motors will be used for mobility and shovel movement. This includes 4 DC motors and 4 servo motors running on moderate load. For this reason a separate, larger capacity battery with at least a 7.2 V, 1600 mAh rating will be used to power those separately from the robot circuit. All motors operate at 7.2 VDC.

V. PACKAGING

The robot needs to be packaged neatly and be moderately weather proof, as it is expected to operate out in the open. It also needs to have enough height for the camera to be able to observe one to two feet in front of the robot. A reasonable camera height was estimated to be around 30 cm. Finally the shovel mechanism needs to be solid enough and durable so that it can keep working for a reasonable amount of time and be able to manage at least 1-2 Kg of raw weight, for small periods of time.

VI. COST CONSTRAINTS

All required components add up to about $500. This price includes packaging, all electronics and sensors, power supplies and motors. This is the prototyping cost, which will dramatically fall once the product enters mass production.

VII. COMPONENT SELECTION

A. Choice of Microcontroller

Before starting to look for a microcontroller, the most important required features were identified:

a) Moderate speed 8-16 MHz

b) At least 90 Kb of onboard Flash and at least 2-3 Kb of SRAM memory

c) At least 8 PWM modules (preferably more)

d) At least two analogue to digital converters

e) RTI / Timer module to generate periodic interrupts

f) Support for external interrupts and input capture

g) Low cost

h) Low power consumption

i) A minimum of 40 input/output pins, as well as some extra pins for future expansion

Based on the above requirements only two processors were taken into consideration. The first was the Rabbit 3000 microcontroller and the second was the Atmel ATmega128L [1] [3]. At a first glance the Rabbit 3000 microcontroller seems a better choice, since it has almost 1 MB of programmable memory and a clock speed of 55 Mhz [3]. A closer look however reveals a limited number of PWM modules, only 4 dedicated, no A/D converter, and a very expensive development board. The Atmel ATmega128L, however, even though it has less memory and a clock frequency of only 16Mhz, has 8 PWM modules, 8 A/D converters, and a free development board, since the lab already had one handy that we could check out together with a microcontroller chip [2]. Since the Atmel will suffice for the project requirements, and we have one at hand right now, we decided to go with the Atmel ATmega128L.

B. Choice of Camera

We knew that we had to use a CMOS sensor of some sort, for basic image recognition so our choices were limited to interfacing with a normal Logitech Quickcam Messenger Webcam [4], or the CMUcam2+ camera [1]. The great benefit of using the CMUcam2+ camera is that unlike a normal webcam, the CMUcam2+ is designed to be used in identifying and follow different colors and shapes [1]. The CMUcam2+ is also designed to be used with a microcontroller making it a really good choice for an autonomous robot [1]. The only downfall is that unlike a webcam, it has no casing, and we will have to fabricate one for it. The final choice was to go ahead and use the CMUcam2+ camera [1].

C. Choice of ultrasonic Sensor

Ultrasonic sensors seem to come in many different varieties. We narrowed down our choices to the Devantech SRF10 Ultrasonic Range Finder and the Devantech SRF04 Ranger [5] [6]. They are both pretty much similar in functionality, but we found a bit more documentation about the SRF04 than the SRF10 [5] [6]. The SRF04 is also almost half the price of the SRF10, so we decided to go with the SRF04 [5] [6]

D. Choice of Keypad

Most keypads that are available online are pretty bulky in shape. The final descision was to use a membrane switch keypad due to its thin shape and weatherproof design. Another factor that influenced our decision was the fact that we could request free samples from a number of companies. We already received one of them from Spectra Symbol and we are waiting for some more to arrive from Eastprint Incorporated [7] [8]. Documentation however is more readily available for the Spectra Symbol membrane keyboard so we decided to use that one and keep the other as a backup [7].

E. Choice of LCD display

Choosing an LCD display module was pretty tricky for the reason that if you make the wrong or unnecessary choice you end up wasting a lot of power from your batteries and a lot of money from your pocket. We decided to use the smallest possible non backlit model we could find, that could at least offer a 2 line by 16 character design. We managed to narrow our search down to two. The first was the Crystalfonts CFAH1602A and the second one was the Parallax Serial LCD non backlit model [9] [10]. The Parallax, although significantly more expensive than the Crystalfonts LCD, has the ability of reading ASCII characters directly, and moving the cursor on its own. This will save a lot of memory on the microcontroller, since it will decrease the amount of code required. This will also improve processing power and save processing time [9] [10]. The final choice was to invest and purchase the Parallax serial LCD [10].

F. Choice of robot Base with Wheels

Since the robot is required to patrol an open area, that will be exposed to harsh environmental conditions, we decided to use a solid pre-build base with wheels that will be able to house and support most of the peripheral components with relative ease. Our final choice was limited to two pre-build bases. The first one was the Lynxmotion 4WD 1 base and the second one was the Lynxmotion 4WD 3 [11] [12]. Both of them are similar, with the 4WD 3 being more robust and more weatherproof than the 4WD 1 [11] [12]. On the other hand the 4WD 1 is a lot cheaper and offers more internal as well as more external space to attach peripherals [11]. Mainly due to pricing considerations we decided to use the 4WD 1 and modify it ourselves to be a bit more weatherproof [11].

G. Choice of robotic shovel

The highly specialized function, which the shovel requires to perform, propelled the team in fabricating our own shovel/arm design. The shovel will be build out of robotic arm construction material that can be purchased through the Lynxmotion website. The shovel arm will be constructed solely form aluminum, in order to minimize weight. The other major parts needed to be purchased for the shovel design, are the servo motors that will give life to the shovel/arm. We decided to use three Futaba S3004 servo motors each capable of handling a torque of 4.1 Kg per cm [13]. We were driven to that particular choice of servos because they were used before to lift weights greater than 3 Kg and they handled it with ease. We could also purchase them at the extremely low price of 7 dollars each (used), compared to the 30 dollars each of other servos motors in the market.

VIII MAJOR COMPONENT LIST

|Parts |Quantity |Unit Cost |Part Number |Vendor |

|CMU cam+ |1 | $ 173.95 |CMUCam2+ |Acroname |

|Ultrasonic Sensor |2 | $ 50.00 |Devantech SRF04 Ranger |Acroname |

|Wheel Base |1 | $ 174.00 |4WD1 Robot Kit |Lynxmotion |

|Servo |3 | $ 21.00 |Futaba S3004 |Servocity |

|LCD display |1 | $ 29.95 |LCD 2x16 Serial Non-Backlit #387903 |RobotStore |

|Microcontroller |1 | $ 15.00 |ATMEGA 128L-8AI |Atmel |

|KeyPad |1 | $ 20.00 |Custom built Display |Spectra Symbol |

| |Total Cost | $ 483.90 | | |

Figure 1: Major Component Spreadsheet

REFERENCES

[1] “CMUcam2 Vision Sensor User Guide” [Online Document], Available HTTP:

[2] “Atmel ATmega128L Summary” [Online Document], Available HTTP:

[3] “Rabbit 3000 Microprocessor Data Sheet” [Online Document], Available HTTP:

[4] “Logitech Quickcam Messenger Specs” [Online Document], Available HTTP:

[5] “Devantech SRF10 Ultrasonic range finder tech specs” [Online Document], Available HTTP:

[6] “Devantech SRF04 Ultrasonic range finder tech Specs” [Online Document], Available HTTP:

[7] “Spectra Symbol Custom Membrane Keypad Specs” [Online Document], Available HTTP:

[8] “Eastprint Incorporated Custom Membrane Keypad Specs” [Online Document], Available HTTP:

[9] “Crystalfonts CFAH1602A LCD Display Manual” [Online Document], Available HTTP:

[10] “Parallax Serial LCD Display Manual” [Online Document], Available HTTP:

[11] “Lynxmotion 4WD 1 Robotic Base Specs” [Online Document], Available HTTP:

[12] “Lynxmotion 4WD 3 Robotic Base Specs” [Online Document], Available HTTP:

[13] “Futaba S3004 servo motors Specs” [Online Document], Available HTTP:

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download