You are on page 1of 8

Saluki Engineering Company

Project #: F10-43-IEEEROBO

Literature Review
Motors:
Motors are a crucial subsystem of a robot. This, along with the correct calculations, will allow the robot
to facilitate itself around the obstacle course in an efficient and timely manner. In order for these goals
to be achieved, however, one must first consider the many factors that play into the calculations. The
weight, gearing ratios, desired terrain, desired velocity, acceleration, voltage, power consumption, and
controllability will help determine the overall torque, mechanical advantage and the rotational velocity
needed to start, stop and keep the robot consistently moving. Overshooting the calculations could
greatly increase power consumption for the motor subsystem and could negatively affect the motors
life while undershooting would make it extremely inefficient.
The most common motors used for robots are Servos, Stepper motors and Gear motors. Servos, while
easier to control and less like to create lost steps, are extremely inefficient and have high voltage
requirements. They typically produce three times as much torque then their rating for a short period of
time, making them ample for acceleration. However, they are much faster than a Stepper motor.
Stepper motors have full torque available at all times. Unfortunately, if the torque from the motor is
unable to achieve the demand, the shaft will slip and lose the position creating a lost step, thus having
stepper motor is a poor choice. Gear motors are efficient, quiet, and have a easier to adjust [1]
Efficiency on gear motors can greatly differ from the type of gear used. Worm and bevel gears produce
a high gearing ratio but are only 70% efficient. Planetary and Helical gears have the highest available
gear ratios and are extremely easy to configure but with a higher price tag and 80% efficiency, one
could do better. Sprocket gears with a chain, or tracks, can be used for an unfamiliar terrain and have
the same motor efficiency as Planetary and Helical, but with increased contact area. The increased
friction gives it a much lower efficiency depending on the size. Spur gears are most commonly used
due to the simple design and extremely high efficiency, over 90%. Spur gears are more likely to break
under high loads which make them only applicable for smaller robotic vehicles. [2]
Solar Panels:
The power source of the robot is intended to be a battery system that is powering all of the energy
needs. The primary way of charging the battery is solar panels situated on top of the robot. The
panels on top will be composed of the individual solar strips and not an already pre-configured panel
assembly. This means that they will need to be assembled and connected so that they will provide
the correct amount of energy to the robots battery system. The robot will have a flat top without
obstructions that should make cell organization fairly simple both in terms of placement and the
necessary wiring.
The wiring of the panels will be in series and parallel so that the robot get the appropriate voltage
1

Saluki Engineering Company


Project #: F10-43-IEEEROBO
and amperage. The panels produce half of a Volt regardless of size and intensity of light while the
current one panel produces varies greatly depending on light intensity so this fact will need to be taken
in consideration when charging to prevent damage or under powering the robot. The cells will be wired
in series to add the voltages together to make the desired voltage increase (at least 14 cells).
Traditionally, the cells have been focused on generating larger currents so it does not seem likely that
parallel wiring schemes will be needed to increase this.[3]
It seems most practical to use the solar panel in the charging capacity only. This is due to the fact that
the varying of the light intensity may make the number of cells too many to fit well on top of the robot;
however, it should be possible with the appropriate voltage regulation. There are three types of solar
panels Mono-crystalline or single crystal cells, Polycrystalline cells, and Amorphous. The robot has
Amorphous cells. The Mono-crystalline cells are the most efficient but are the most expensive type
with a conversion rate of 12 - 16%, 23% under laboratory conditions. Polycrystalline cells are less
expensive but still expensive with an 11 - 13% conversion rate, 18% in the laboratory setting. The least
expensive but also least efficient is the amorphous type conversion rate of 8 - 10% and 13% in the
laboratory setting. The Amorphous type is the best choice for the robot not only because of price but it
works better in indirect sunlight applications which is where the robot will be most of the time.[4]
Frame:
Carbon fiber with phenol-formaldehyde resin is what we choose as the material for the robot frame.
The material consists of fibers of carbon woven in a matrix and impregnated with phenolic resin
(prepreg) that bonds the fibers together under heat and pressure. To create this bond a hot press is used.
The press heats two hot plates to a per-determined temperature and presses the carbon fiber sheets
between the plates with an applied force. The plates are heated to 180C and pressed under 2 tons of
pressure for 20 minutes. The sheets remain in the press while it is heated to 270C and the same force is
applied. It takes the press just over an hour to reach the increased temperature after which it must
remain in the press for another 20 minutes. The first 20 minutes melts the resin and bonds it together to
make several sheets into one. The second 20 minutes cures the plate under a higher temperature with
the same force.
The carbon fiber sheets are 0.010" thick. To achieve the plate thickness we desire for the robot chassis,
at least 15 sheets need to be pressed to form one plate. Our frame requires two main plates, 8" x 10",
that will be connected using bolts fitted through spacers in between the plates and fastened with nuts.
In the space between the two carbon fiber plates, we will house the wheel motors, robot battery, and
micro-controller. The top plate will be made to carry the on/off switch, kill switch, and solar array.
This plate will be 10" wide but only 6-8" long.
Navigation:
The robot will have to autonomously navigate around a predetermined course, shown in Figure 1, to
collect energy from sources, given in Table 1.
2

Saluki Engineering Company


Project #: F10-43-IEEEROBO
Table 1: Energy Sources (image from IEEE R5 Rules PDF)

Figure 1: Illustrative Playing Surface (image from IEEE R5 Rules PDF)


All objects are immobile.
The energy sources, shown in Figure 2, will be colored, and two of them will have a line on the course
leading to them.

Saluki Engineering Company


Project #: F10-43-IEEEROBO
Figure
2:
Energy
Source
(image
from IEEE
R5 Rules
PDF)

Once
the
robot
has collected the energy that it can, it must then navigate to the flag to power a motor that raises it. The
flag apparatus is shown in Figure 3.

Figure 3: Flag Assembly (image from IEEE R5 Rules PDF)

Saluki Engineering Company


Project #: F10-43-IEEEROBO
For navigation, we have chosen a couple different sensors. When we navigate to the red source the
robot is going to have to avoid a wall. Based on previous competition may also have to avoid randomly
placed obstacles. To do this we decided to use the Sharp Short Range Infrared Proximity Sensor. The
Sharp IR sensor measures the distance to an object by the use of triangulation. Triangulation is a
technique used to find the location of an object by measuring the angles to the object from a known
baseline. [5] The Sharp IR sensor does this by emitting an infrared beam which is then reflected back to
the sensor. The sensor then finds the angle of the beam with reference to the face of the sensor. The
measurement of the angle is then sent to a signal processing circuit where it is processed and sent to the
output circuit where it can then be read by the microprocessor.[6] Since the robot may have to avoid
randomly placed obstacles, it is going to have to know where the obstacles are located. Since the beam
of the Sharp IR isnt very wide, we are going to have to place the two sensors on the robot. These
sensors will be mounted so the beams emitted intersect each other as shown in Figure 4. The sensors
will be mounted in the fashion so the robot can tell if the object ahead of it is directly in front, to the
left, or to the right of it.

Figure 4: Sharp IR Beams


Since the flag and two of the sources have black lines leading to them, we decided put sensors on our
robot to allow it to follow these lines. The line sensor we are plan on using is the Digital QRE1113 Line
Sensor Breakout. The Digital QRE1113 Line Sensor Breakout is a premade board that consists of a
QRE1113 IR reflectance sensor, a 100 resistor, a 220 resistor, and a 10 f capacitor. The QRE1113
IR reflectance sensor consists of an IR LED, and an IR sensitive photo-transistor. This line sensor
works by emitting IR light onto a surface, that light is then reflected back and picked up by the phototransistor. The output of the photo-transistor is connected to the capacitor; the rate that the capacitor
discharges determines how reflective the surface is. The amount of IR light reflected back depends on
the color of the surface that reflects the light. The lighter the color of the surface more light is reflected
back, which in turn means the faster the capacitor will discharge. [7] This output from the capacitor is
then connected to the microprocessor so it can use this data. These sensors will be mounted in a group
of three as shown in Figure 5. In Figure 5, the two outer line sensors will be check to see if the surface
is white, while the sensor in the center will be detecting for black. This is so the robot will follow the
line no matter where is goes.

Saluki Engineering Company


Project #: F10-43-IEEEROBO

Figure 5: Sensor Array


Arduino:
For our robot design, we have decided to use the Arduino micro-controller to serve as the robots
brains. The Arduino, designed and built by the Italian company SmartProjects, is an open-source
micro-controller design with a substantial user base amongst hobbyists [8]. Based off the Atmel
ATMega328, the basic Arduino has 14 digital input/output pins, 6 of which can provide pulse width
modulation for controlling voltage to motors or communicating with servos, and 6 analog pins for
interfacing with analog sensors. Programs can be as large as 32 KB and run at 16MHz [9]. While we
could have potentially used a small, single board computer running Linux at upwards of 500MHz, we
felt such a controller would be overkill for this design. We plan to use the Arduinos open-source
nature to our advantage. Arduinos and Arduino clones use a set of headers to attach to other circuits
called shields. Shields are often designed to perform one or two tasks, and by combining one or two
shields together with a little custom circuitry and some software developed in the Arduinos purposebuilt IDE, a final, working device can be made in a matter of hours [10]. However, while shields are
great for prototyping, their size may prove to be a hindrance in our design, where strict size limits are
maintained for the competition and other components like batteries and drive motors take up large
amounts of room. We intend to use prototyping shields to develop the initial design, then when we
have a circuit design finalized, develop our own Arduino clone that incorporates the Arduino and our
custom circuitry into a single board.
For the prototyping stage, we will be using the Arduino Pro, a variant of the Arduino developed, built,
and sold by SparkFun Electronics of Boulder, Colorado [11]. In addition to all the benefits of a
standard Arduino, the Pro has the added bonus of not having the FTDI USB to Serial chip, the IC used
to program the Arduino, installed. As we are attempting to make our robot as power-efficient as
possible, eliminating parts like the FTDI chip, which could never be used during competition anyway,
will help reduce the overall power needs of the robot. The chip will instead reside on a dongle we can
plug into and unplug from the robot as needed. The Pro also has a 5V voltage regulator installed, just
like a regular Arduino, which will allow us to step down a higher voltage supply to the 5V necessary to
power both the Arduino and the many sensors we plan to connect to it [9]. The Arduino Pro will be
powered by a 9V battery separate from the drive and servo motor batteries, as upon startup the motors
6

Saluki Engineering Company


Project #: F10-43-IEEEROBO
may draw enough current to starve the Arduino of power and force it into a brownout reset were the
motors and micro-controller to share the same power supply.
Upon the successful testing of the Arduino and our support circuitry, we will design a printed circuit
board using EAGLE, a CAD software package designed specifically for laying out schematics and
PCBs. CadSoft, the makers of EAGLE, provide a Lite version of the software for free for use by
hobbyists and students should be more than adequate for our needs [12]. We can then either attempt to
etch our own boards, or send the designs off to a low-volume PCB fabricator for professional
fabrication.
Programming:
What brings all the hardware together is the software that tells each component how to operate. Thus,
an integral subsystem to how the robot will function is the programming. Normally programming for a
micro-controller is a time consuming task, but with the Arduino platform, an entire suite of pre-built
functions already exists. Most importantly, an integrated development environment (IDE) built
especially for the Arduino is available.
This cross platform IDE, written in Java, is based on the wiring project, an open source programming
environment. It is used to write the actual code for the Arduino. The coding editor has many features
of other mainstream IDEs such as syntax highlighting, automatic indentation of code and bracket
matching. This is especially helpful for programming novices who wish to get right into coding and
may be unfamiliar with many of the finer details of coding syntax.
The programming language itself is C based. Since C is the most widely known high level
programming language, this will make programming for the Arduino relatively simple. An included C
library called wiring has may of the basic input and output functions built in that will be necessary
for all the sensors and motor control. When writing an Arduino program, the code is broken up into
two main functions: setup() and loop(). Setup() is a function that is run only once at the beginning of
the program and is typically used to initialize variables and other such settings. Loop() is then a
function that is continually repeated until the system is turned off and is where the bulk of the coding
will take place. Thus the code for the Arduino is quite straightforward in its design and execution.
Once the code has been completed, it must be compiled and sent to the Arduino. First, the Arduino
hardware is connected to a PC via FTDI Basic Breakout USB cable. Then a button on the IDE called
Upload to I/O Board is pressed. This will compile the code and the application will then send the
compiled code to the Arduino hardware. Now the Arduino is prepared to be connected to the rest of the
system.[13]

Saluki Engineering Company


Project #: F10-43-IEEEROBO

References
[1] http://www.woodweb.com/knowledge_base/
[2] http://www.engineersedge.com/gears/gear_types.htm
[3] http://www.glrea.org/articles/howDoSolarPanelsWork.html
[4] http://ludens.cl/Electron/solarreg/Solarr~1.htm
[5] http://www.societyofrobots.com/sensors_sharpirrange.shtml
[6] http://www.sparkfun.com/datasheets/Sensors/Infrared/GP2D120XJ00F_SS.pdf
[7] http://www.sparkfun.com/commerce/product_info.php?products_id=9454
[8] http://arduino.cc/en/Main/FAQ
[9] http://arduino.cc/en/Main/ArduinoBoardPro
[10] http://arduino.cc/en/Main/ArduinoShields
[11] http://www.sparkfun.com/commerce/product_info.php?products_id=9219
[12] http://www.cadsoft.de/

[13] http://arduino.cc/en/

You might also like