Sunteți pe pagina 1din 29

ESET 219

Digital Electronics

Laboratory Report

Krysis Robot Design

Kevin Dang

Austin Carroll

Lab Due Date: December 10, 2018

Lab Submitted Date: December 09 2018

IS THIS LAB LATE? NO

All of the information contained in this report is my own work that I


completed as part of this lab assignment. I have not used results or
content from any other sources or students.

Kevin Dang ​ evin Dang


K
Printed Name Electronic Signature
Introduction
The Krysis Robot is an autonomous robot that moves based on the readings of three
inductors and the positioning of an electrical wire with current flow. Since the robot’s objectives
are to compete in a road race and a drag race, the goal of the robot is to travel as fast as possible
while still remaining center on the wire. The road race is a race for the best time record in an
intricate path of curves, straightaways, and splits designated by the wires laying on the ground.
The road race that this robot completed consisted of two loops, a long straight path, and a series
of curved lines. The drag race is a simple competition for the best time record for a robot
traveling in a straight path. In the case that the robot veers off the line, the digital circuitry must
compensate for this by having the robot re-center itself while traveling. The robot is able to
determine its own position in respect to the wire that is placed on the ground using a sensor
board. This board is made up of several resistors, capacitors, LEDs, potentiometers, and most
importantly, the three inductors. The inductors detect the current flowing through the wire and
determine if the robot is traveling in the correct path. Since the robot is constantly moving, each
case of the robot’s positioning is programmed through Multisim and stored on the Basys3 board.
The digital circuitry inside the Basys3 board dictates every single action the robot takes as it
controls how the robot moves around, the speed at which the motors move, and when the robot
stops. Furthermore, the digital circuitry allows the robot to self-correct itself while traveling on
the wire. In the middle of the sensor board and the Basys3 board is the Dual H-Bridge. This
component is responsible for the power management of the entire system. The Dual H-Bridge
controls the power reduction from the power supply to the Basys3 board, the power and direction
to the two motors, and the signals outputted. All of these components are responsible for the
performance of the robot’s main task. The completion of this project required us to combine all
our fundamental knowledge in digital circuitry in order to create a fully functional autonomous
robot. This project’s key functionality is based on the circuits created in Multisim. These circuits
control every single aspect of the robot. At the beginning of the course, we learned to design and
implement devices such as counters, comparators, decoders, selectors, and flip-flops. In the final
design of the robot, each device was used. For instance, in the robot’s controller, the PWM
device that controlled the duty cycle for the motors implemented a 4-bit comparator and a 4-bit
counter. In the state controller, several flip-flops were used in order to differentiate between the
types of states the robot could be in. Furthermore, the previous testings using the onboard
switches off the Basys3 board could now be seen by exporting the outputs to the JC ports where
both motors are attached. All theory and fundamental concepts from all the previous laboratory
experiments were now used to design and implement a fully functional Krysis Robot.

​Fig. 1 Fig. 2

The overall building process both digitally and mechanically was a big learning opportunity for
all Mechatronics and Electronics engineering students. This project forced ourselves to combine
our creativity as students with our knowledge as engineers to create one final product that
contained our hard work. Figure 1 illustrates the finished robot facing the front of the image
while Figure 2 is a picture of my partner and I after one of our morning build sessions.
Conceptual Block Diagram

Fig. 3
The hardware of the robot consists of six components: Sensor board, Dual H-Bridge,
Basys3 board, battery pack, and two 600 rpm dc motors. The sensor board houses three
alternating current inductors that read the current running through the wire on the floor. The
input from these sensor boards serves as a digital input that determines what the robot does. The
sensor board has six different pins: LED, OUT3, OUT2, OUT1, GND, VCC. All three of the
OUT pins directly correlate to the inductors, sending the inputs straight to the Basys3 board. The
LED pin is the pin that connects to the LED board for decorative purposes, however the LED
board was not purchased for the Krysis robot. Moving forward, the Dual H-Bridge is the
component that is responsible for the actuation of the two motors. The Dual H-Bridge has two
screw connections on the left and right side to give power to the two motors respectively. In
addition, the board has a 12V to 5V power converter in order to lower the voltage going into the
Basys3 board. Since the Basys3 board only requires 5V to be sufficiently powered, the converter
takes the 12V from the battery pack and lowers it to 5V. On the right of the power converter lies
the input pins containing the left and right PWM signals and the forward and backward motor
controls. These four pins determine the direction and polarity of the two motors. The Basys3
board serves as the centerpiece for the Krysis robot.

Fig. 4

All the Multisim digital circuitry is stored onboard this device and controllers every aspect of the
robot’s functionality. On the left side of the Basys3 board are the output pin connections, JC and
JB. In our case, the output pins JC0, JC1, JC2, and JC3 are used as the outputs for the two
motors. The four pins connect back to the Dual H-Bridge and vary in use based on the Multisim
circuitry. On the right side of the Basys3 board are the female input connections JXADC and JA.
The input pins JXADC 1-5 are used to input the data read from the sensor board’s three
inductors along with the power from the Basys3 board. Originally, the onboard switches from the
Basys3 board were used to test the functionality of the motor’s duty cycles, but now that the
board is fully functional, the inductor readings serve as the main inputs to the board.
Fig. 5

The sensor board is what gives the entire robot inputs, which in turn decides what the robot will
do. In Fig. 5 is the sensor board that is mounted to the very front of the robot. Every single
component on the board is hand soldered and tested for functionality. The three white
potentiometers are the deciding factor on how sensitive the inductors seen in Fig. 6​ ​are once laid
out on the track. By turning these dials counterclockwise, they become more sensitive, picking
current easily. On the bottom of the image are the JC pins that connect this sensor board to the
Basys3 board for input and power.
Fig. 6
These three inductors pick up the current flowing through the wire on the ground using coils and
magnetism. The inductors are bent sideways in correlation to the board so that Faraday's law of
current can take action. The coil in each inductor must be perpendicular to the current flow in
order to charge.

Fig. 7
The calibration and fine-tuning of the motors during each state required extensive trial
and error testings. There are a total of 8 states that the robot can occupy, 7 of which are possible.
The state of “000” implies that all three inductors are reading values from the track; this is
impossible since the robot can only read at most two inductors at the same time. Since this state
will never happen, the Z value and duty cycles are not set, the robot does absolutely nothing. The
“001” and “100” states are when the robot is very off the line ever so slightly and two inductors
have active readings. In these cases, we want the robot to compensate for the slight misdirection,
so easing the motors to the opposite direction will put the Krysis robot back on course. For
instance, in the state”001”, the left and middle inductors are sensing current flow. As a result, the
robot naturally veers to the right of the line. To counteract this, we must push the robot slightly
to the left by having the left and right duty cycles at 20% and 46%. By having the right motor
slightly more than the left, the robot is able to realign with the line. The “010” and “101” states
may seem to be similar, however, these two cases are drastically different. “010” shows that the
left and right inductors are receiving values while the middle inductor is not seeing anything.
This is the case where the robot approaches a “Y” shape on the course and has to pick a path to
go down. In the case that this scenario appears, the robot defaults to driving on the right path.
The duty cycles for this show that the robot left motor is stronger at 46% while the right motor is
weak at 20%. “101” is the preferred state if the robot is participating in the drag race. This state
is when the middle inductor is reading values while the left and right ones are not. Should this
situation happen, the robot continues on its straight path with both motors having identical duty
cycles at 46% each. The cases of “011” and “110” are when the robot is drastically veering off
the course. These readings show that only one side of the Krysis robot is reading the current
values, causing the robot to either veer hard left or veer hard right. To combat these cases, the
robot must take evasive maneuver and do either a hard turn to the left or to the right. The process
of doing this is setting one motor to be very powerful while the other one very weak. This will in
turn allow the robot to jolt in the opposite direction. The duty cycles for these cases are 0% and
46%, vice versa. Lastly, there is the state where the robot is completely off track and is lost. A
well programmed robot should never ever become “lost”. As a result, when the robot is lost, the
duty cycles on both motors are set to be very low, making it easier to capture the loose robot.
Despite its possibility to occur during the official race, we ultimately neglected this factor and set
both duty cycles to 20%.

Table 1

SENSOR BOARD MEANING ROBOT DOES DUTY CYCLES


INPUT (L, M, R) Z&D

000 IMPOSSIBLE - ALL NOTHING - HOLDS ZL : -


SENSORS HAVE POSITION ZR : -
READINGS DL : -
DR : -

001 ROBOT VEERING ROBOT EASES TO Z L : 3/15 0011


SLIGHTLY RIGHT LEFT SIDE Z R : 7/15 0111
DL : 20%
DR : 46%

010 ROBOT ON ROBOT GOES TO Z L : 7/15 0111


COURSE TO SPLIT THE RIGHT Z R : 3/15 0011
DL : 46%
DR : 20%

011 ROBOT VEERING ROBOT DOES A Z L : 0/15 0000


FAR RIGHT HARD LEFT TURN Z R : 7/15 0111
DL : 0%
DR : 46%

100 ROBOT VEERING ROBOT EASES TO Z L : 7/15 0111


SLIGHTLY LEFT THE RIGHT SIDE Z R : 3/15 0011
DL : 46%
DR : 20%

101 ROBOT IS DEAD ROBOT GOES Z L : 7/15 0111


CENTER ON STRAIGHT AHEAD Z R : 7/15 0111
TRACK DL : 46%
DR : 46%

110 ROBOT IS ROBOT DOES A Z L : 7/15 0111


VEERING FAR HARD RIGHT Z R : 0/15 0000
LEFT TURN DL : 46%
DR : 0%

111 ROBOT IS LOST - ROBOT SLOWS Z L : 3/15 0011


NO READINGS DOWN Z R : 3/15 0011
DL : 20%
DR : 20%

State Machine
The state machine is a diagram that highlights the different states the robot can be in
along with how different inputs can change the states. When designing our robot, we settled for 7
different states, excluding the “000” state where all inductors are reading values. This state is
excluded since there will never be an instance where all three inductors are reading the current
(unless all potentiometers are set to be hypersensitive). The robot’s design was implemented
using a 4-bit PWM resulting in 8 outputs; 4 for each PWM. Each state can go from the current
state to any other state since there are many different scenarios the robot will encounter while
testing and racing. There will never be a time where one state prevents another state from being
active.
Fig. 8
Initially, it was decided that the robot would have two different state machines, one for the road
race and one for the circuit race. This decision was overturned by the fact that this single state
machine was sufficient enough to provide a reasonable yet effective time on both race tracks.
Had the robot used a different state machine for the drag race, there would have been four states
instead of seven. The state machine has three inputs on the arrows L, M, and R. These inputs
directly correlate to the left, middle, and right inductors, serving as the input to the entire robot
system. As the robot is traversing on the race track, the different states will allow the robot to
switch between states. Each state has a different control value and duty cycle based on what is
required of the robot to do. These states are represented as flip-flops in the Multisim digital
circuitry as seen in Fig. 16.

Schematics
In Fig. 10, the entire robot controller is presented along with all the crucial digital circuits
that make the robot perform on the track. The actual robot is only good as the robot controller,
therefore each component has to be fine tuned to perfection. The robot controller consists of the
frequency divider, state controller, and the two PWM devices for each motor. The inductor
inputs go directly into the state controller block where it is controlled while the clock needs to be
first divided by the frequency generator. The signals that leave the state controller then go into
the PWM blocks which consists of the four-bit counters and the four-bit comparators. These two
PWM blocks control how fast or slow the motors are able to move based on duty cycle.

Fig. 9

The main inputs for the robot controller consist of the master clock (CLK) from the Basys3
board and the three JX inputs (JXA1-3), each one being assigned an inductor of the sensor board.
Leaving the robot controllers are the four outputs for the left PWM (left motor), right PWM
(right motor), forwards inputs, and reverse input.

Left PWM: JC1/LED1


Right PWM: LED0/JC0
Forward: JC2/LED10
Reverse: JC3/LED11
Fig. 10

These four inputs are connected into the Dual H-Bridge based on their use. In the digital circuit,
LED outputs were added in addition to the output signals to easily troubleshoot the robot using
its current state and duty cycles for each motor.

The frequency divider as seen in Fig. 11 and Fig. 12​ ​is responsible for lowering the frequency of
the Basys3 clock speed at 100 MHz to a rate at which both motors can handle. The frequency
f
divider hence its name divides frequency at f out = Nin ​(1) in which the frequency inputted is the

Basys3 clock and the output is the reduced frequency.

Fig. 11
Fig. 11​ ​demonstrates two four bit counters that have been cascaded together. The RCO signals
are connected between the two counters and outputs a 1 whenever the counter reaches the
maximum value which is described by the following equation:
(2) Max Value = 2n − 1

The last RCO output is tied to an inverter which once reaching the maximum value will reload
the minimum value.

Since the Basys3 board gives a clock speed of 100 MHz by default, the goal is to lower that
frequency to where the motors on the robot is able to use it. We decided that the robot best
performed at an output frequency (fout) of 390.625 kHz. By rearranging equation (1) with the
frequency in and frequency out, we were able to determine that our divider would divide at 256
number of counts.

Fig. 12
The frequency divider is made up of 2 Synchronous 4-bit Binary Up/Down counters that have a
minimum value of 0 and a maximum value of 255 based on 2n − 1 .
A PWM or Pulse Width Modulation signal, is a way to generate an analog signal using a
digital source. There are two main components that make up a PWM signal, the duty cycle, and
frequency. Duty cycle is a percentage of the total power produced by the analog signal or the
amount of time the signal is “on” in a percentage of the total time of one cycle. The formal term
for when the PWM is “on” is called the pulse width. For instance, a dc motor with a 55% duty
cycle has a PWM signal that will be high or “on” 55 percent of the period while being “off” the
other half. Frequency determines how fast the PWM completes a single cycle and meaning how
fast the PWM switches between on and off states.

Fig. 13
In Fig. 13, the PWM is made up of a Synchronous 4-bit Binary Up/Down counter and a 4-bit
comparator. The OR gate can be easily adjusted for other inputs to change the duty cycle of a
motor. In this case, the gate is on the less than and equal to the output of the comparator. The
B+1
duty cycle for this scenario is defined as: DC = 2n

Fig. 14 Fig. 15
Fig. 14​ ​shows an example of a duty cycle set a 75% where it is on 75 percent of the time versus a
100% duty cycle where it is on 100 percent of the time. In most cases, duty cycles close to or at
full capacity results in the motors becoming very fast and unstable. Road race robots will tend to
have lower duty cycles for control while drag race robots have duty cycles nearing 100% to get
the best time possible.

The state controller lies within the robot controller and is responsible for switching between
states based on the readings from the inductors. Our state machine has a total of 7 different states
the robot can be in during the track race: slightly right (001), splitting (010), far right (011),
slightly left (100), dead center (101), far left (110), and lost (111). All these states are designed
in Multisim through the use of sequential logic boards, specifically D flip-flops. Each flip-flop is
a different state (7) and these possible inputs from the inductors are tied to an AND gate in each
flip-flop. The 8 seven input OR gates represent the left and right motor speeds (8 OR gates for
4-bit). The inputs to these OR gates directly change the duty cycle in each motor based on need.

Fig. 16
The specific speed ratios between each motor and how they behave in each state can be
visualized through a decision table.
Table 2

SENSOR BOARD MEANING ROBOT DOES DUTY CYCLES


INPUT (L, M, R) Z&D

000 IMPOSSIBLE - ALL NOTHING - HOLDS ZL : -


SENSORS HAVE POSITION ZR : -
READINGS DL : -
DR : -

001 ROBOT VEERING ROBOT EASES TO Z L : 3/15 0011


SLIGHTLY RIGHT LEFT SIDE Z R : 7/15 0111
DL : 20%
DR : 46%

010 ROBOT ON ROBOT GOES TO Z L : 7/15 0111


COURSE TO SPLIT THE RIGHT Z R : 3/15 0011
DL : 46%
DR : 20%

011 ROBOT VEERING ROBOT DOES A Z L : 0/15 0000


FAR RIGHT HARD LEFT TURN Z R : 7/15 0111
DL : 0%
DR : 46%

100 ROBOT VEERING ROBOT EASES TO Z L : 7/15 0111


SLIGHTLY LEFT THE RIGHT SIDE Z R : 3/15 0011
DL : 46%
DR : 20%
101 ROBOT IS DEAD ROBOT GOES Z L : 7/15 0111
CENTER ON STRAIGHT AHEAD Z R : 7/15 0111
TRACK DL : 46%
DR : 46%

110 ROBOT IS ROBOT DOES A Z L : 7/15 0111


VEERING FAR HARD RIGHT Z R : 0/15 0000
LEFT TURN DL : 46%
DR : 0%

111 ROBOT IS LOST - ROBOT SLOWS Z L : 3/15 0011


NO READINGS DOWN Z R : 3/15 0011
DL : 20%
DR : 20%

Testing and Optimization


The testing and optimization of the Krysis robot required a lot of fine-tuning and
adjustments of the potentiometers and the duty cycle ratios between each motor. During the
initial trials for the Krysis robot, the different states for the robot changed very slow and
inconsistently. The inductors on the sensor board did not always detect the line accurately to the
sensor board’s position. We decided the best way to combat this issue was to tune the
potentiometers to shift states as soon as the inductors moved positions. In other words, we made
the left and right inductors slightly more sensitive to the wire by rotating the potentiometer
counter-clockwise. While we tested each inductor and potentiometer, we incorporated LED’s to
the Basys3 board to represent the duty cycles for each motor. By doing this, we were able to see
visually the changes between each state as we hovered the sensor board over the wire. Despite
tuning the potentiometers to be as accurate as possible, the actual race track had different
scenarios where the inductors would pick up very different values. Our initial tuning only
applied to the straight portion of the track, meaning that when the robot hit a curve or sharp turn,
our calibrations would not be effective. This led us to the problem of making the sensor board
accurate while shifting around on the race track. After a series of trial and error runs in the test
room, we concluded that the main issue for the sensor board being inaccurate while in motion
was our duty cycles. The robot had initially been moving way to fast for the sensor board to
produce an accurate reading. This problem led to the robot turning in and out before the sensor
board was even above the wire. We fixed this problem by lowering both duty cycles for our
motors in order for the robot to give consistent values. In addition, we noticed that as the robot
broke a sharp turn, the robot would veer off the track. This was also fixed by lowering both duty
cycles to 6/15 or 40% each. By having the motors go at a slower pace, we immediately noticed
that the robot had much more time to read the wire before switching to a different state.
However, this fix did not automatically make the robot accurate on the entire track. We had to
conduct several runs to determine the appropriate duty cycles of each state.
The robot’s hardware over time also produced several issues while testing. The dominant
problem was the fact that the batteries decreased power after a long session on the track. This
resulted in the robot becoming weaker at the motors, making us believe that the Multisim code
was not efficient enough. Despite us contemplating to change the duty cycles for each motor
once again, we were reluctant enough to replace the batteries in which replenished the power to
each motor.
The final parameters for the Krysis robot were much like the testing parameters
conducted on the track. The Multisim program that was uploaded to the Basys3 board was kept
the same once we found the optimal duty cycles, the batteries to the battery pack were changed
every so often, and the motor alignment always checked to be in the correct angles. The one
thing that was tweaked fairly consistently was the potentiometers on the sensor board. All the
inductors had been calibrated to perform on the test track, not the actual race track. This required
us to change the set up to accommodate for the race track during our actual timed trials. We
decided it was best to keep our Multisim program consistent since any slight change to the circuit
would impact the robot significantly, it was best to change the small problem using the
potentiometers.
Fig. 17
The image above depicts only a small snippet of the trial and error sessions conducted to perfect
the robot. Continuous hours of tweaking and changing the duty cycles were required.
Completed Systems

Fig. 18 Fig. 19

In the end, my robot design proved to be very effective judging based on its performance
and workability. The front of the robot is the sensor board mounted approximately two thirds off
the PVC slab. By having the sensor board hanging off the main structure, the inductors were
much closer to the ground where the wire of the track was. This allowed the sensor board to
accurately and consistently give correct readings. Furthermore, the potentiometers on the sensor
board each had a different adjustment based on how the robot was performing on the track. The
left and right potentiometers were approximately at the same position since the turning of the
robot was consistent. The center potentiometer was set to be not as accurate since the robot often
times was not directly on the center of the line, due to the ball bearing teetering left and right. By
having the middle inductor less sensitive, it allowed for the robot to not jitter when going about a
straight path.
Fig. 20

Directly behind the sensor board was the Dual H-Bridge attached by one screw and two side
blocks. Since the Dual H-Bridge was the device that connected the Basys3 board, sensor board,
and the motors together, it was obvious that it needed to be in a place where it is accessible from
all three devices. Setting the Dual H-Bridge in the very center of the robot allowed to less wire
stretch from the motors and allowed for easy access when testing the polarities of the motors.

Fig. 21
Fig. 22 Fig. 23

The Basys3 board was the last piece on the top side of the Krysis robot. This device was placed
on the most open area of the PVC board since preliminary testing for the duty cycle and motors
required us to use the onboard switches. In addition to being able to easily flip the switches, the
Basys3 board also needed to be visible when testing on the track since the LEDs were
implemented to show duty cycles for each motor.

Fig. 24
On the underside of the robot, more planning and calculations were involved since the
performance of the robot drastically changed with weight. The ball bearing was attached towards
the front of the robot to allow rapid turns of the sensor board. On the rear end of the robot, the
battery back and two motors were attached very closely to each other. The motors were attached
on the very end while the battery pack was attached as close to the motors as possible. The
weight of the battery pack allowed the motors to perform much more consistently since the
addition of weight increased the traction and stability of the entire system.

Fig. 25 Fig. 26
Fig. 27 Fig. 28

Conclusions
This project was the very hallmark of the experiential engineering process. Through
countless hours of brainstorming ideas whether it be understanding how a fundamental concept
worked or perfecting the motors with a specific duty cycle, students were able to combine all the
skills learned within a 15 week period. We first started off the Digital Electronics course learning
basic logic gate designs and how it could be implemented in Multisim. After that, we learned
about the functionality of comparators, decoders, selectors, and then flip-flops. These lessons
were the building blocks to what we have created today, a full functioning Krysis robot. In
addition to the electrical design, students needed to also gather their mechanical skills in order to
actually build and optimize the robot for peak performance. Prototypes and basic building
techniques such as soldering joined with the fundamental concepts in the course helped students
find unorthodox methods of success despite the constraints and rules set by the project.
In the end, many skills were acquired in the completion of the Krysis robot project.
Perhaps the most important skill learned was to know how each part of the robot controller
functioned and how it made an impact on the overall scope of the project. In other words,
learning how to understand the use of a PWM, state controller, and frequency divider made a
significant impact on the robot’s performance. The state controller out of the three made up most
of the digital design since the states that it contained decided the exact actions the robot took
when on the track. The duty cycles that were embedded in this controller also was undeniably
crucial to the fact that it directly impacted the performance.
Another ability that was gained upon completion of the project was learning how to
properly troubleshoot an issue within the system. When testing the robot on practice tracks,
problems are inevitable. By learning how to fix one problem before causing another is key to
having a working piece. For instance, when on the track, the robot would continuously veer off
the line when hitting a sharp corner. This issue was only occurring on one specific turn of the
track. As a result of the consistent failure time after time, it was thought to be that the track was
the problem, not the system. These points would then be escalated to worse conditions since we
would tweak several items at the same time after a couple of test trials. The potentiometer, duty
cycles, and even physical wirings would be interchanged. By changing numerous items at once,
it was never going to be easy to detect one issue. Solving all these problems would have to have
patience, commitment, and focus. We handled the overall problem by taking on one issue at a
time. We would perfect one thing before moving on to the other. For example, to solve the
problem of the robot veering off the track we would verify that the wires were in the right slots,
make sure that the potentiometers and sensor board were working properly, and then double
check the Multisim circuitry. After hours of troubleshooting each concept, we were delighted to
find out that the states within the robot controller were flipped around. The robot needed to
complete the right turn with ease, but the controller commanded the robot to do otherwise. All
along the whole engineering design process, it was the fundamental concepts that tripped the
success of the robot.
Recommendations
The completion of the project from start to finish was quite the challenge since there were
so many variables that factored into the overall success of the robot. The absolute best part of the
project was being able to piece together every single concept that we covered in our lectures to
make a working robot. In the beginning, we learned about basic digital circuit concepts such as
selectors, comparators, decoders, flip-flops, and counters. This project allowed us to combine all
of this knowledge into one Multisim file that ultimately controlled our robot. Every aspect of the
digital circuit implemented these combinatorial and sequential logic circuits. For example, our
frequency divider that controlled the rate of the clock was made purely out of D flip-flops and
our PWM hierarchical block consisted of numerous counters. In addition to using the basic
digital circuit skills, we also were given the chance to use the concepts of state diagrams. This
concept was the foundation of the robot’s programming as it dictated every single action the
robot took on the course. State diagrams control the robot’s positioning with respect to the wire
based on what the inductors are able to read.
Despite being such a comprehensive project, the completion did not go smoothly as there
were many discrepancies in fine tuning the robot. The absolute most tedious part of the project
was keeping the robot consistent while on the race track. There were many instances where the
robot performed exceedingly well in the trial runs but did not keep the consistency once retested.
This issue roots back to the sensor board’s potentiometers and how they were positioned. Each
potentiometer was rotated to a certain “sweet part” to accommodate a particular track on a
particular flooring surface. Our initial tests were conducted on the carpet with a basic oval track
shape, but during the actual timed race, the conditions changed to tiled floors and an extensive
looped track. This meant that all our calibrations and tuning were completely negated since now
the robot had less traction to the wheels and more sharp turns to cover. As a result, our tunings
and refinements to the robot’s sensor board were often thrown off by small changes to the track
environment.
Fig. 29
The overall course project is far from being perfected as there are many small details that
can be enhanced. The first improvement would be to replace the standard ball bearing which
controlled the robot’s nose movement. Often times when the sensor board read the wire to be
directly center to the robot, the ball bearing rested on the physical wire itself. This caused the
robot’s front end to become very unstable as the ball bearing tried to balance on the wire. The
main issue with this is that when the front of the robot failed to balance, it knocked the robot’s
nose to one side, throwing off the sensor board’s readings. A simple solution to this issue would
be to provide students with two ball bearings so that the robot would not have to constantly teeter
on the wire. By not falling from one side to the other, the robot’s sensors would have much more
consistency while traveling.
Another significant issue with the project would have to be protecting the sensor board in
the case that the robot veers off course and into another object. When testing the robot, it was
almost routine where the robot would veer off and plow straight into a chair leg or a table. Every
collision damaged the exposed sensor board and possibly caused the board to lose its prior
calibration. The answer to this problem would be to include a case with the sensor boards when it
is purchased. A compact case that protects the sensor board from being dropped or smashed
would guarantee that the already fragile board would not break upon collision.
The third most crucial issue that must be solved is the fact that the motors were not
provided with the appropriate wires to attach the motors to the Dual H-Bridge. In the original kit,
the motors were provided, but each one required two wires to even attach to the main robot. As a
result of the missing items, most students had to scour around to find the wires that would work
with the motors. In addition to the missing wires, the motors did not have any information to
which wires would work with the motor. This problem can be easily fixed by including four
wires that complemented our two motors. Without these wires, the robots would be useless on
the race track.

S-ar putea să vă placă și