Tuesday, August 11, 2015
Week 4: Wheel Encoders
I created wheel encoders using QRD sensors and black and white striped rings on the wheels. I designed a software algorithm to count every time the sensors detected a black then white surface. To prevent the software algorithm to increment from noise, I made a high and low threshold similar to an inverter with hysteresis. This algorithm was used to measure distance during tape following, and to travel set distances and turn 90 degrees.Week 3: H-Bridges and IR Following
Because the previous H-Bridge circuits malfunctioned, I created new H-bridges. MOSFETs
were mounted on female header pins so they could be easily replaced. This turned out to be a very good idea because the MOSFETs were often destroyed if wires were connected improperly. I also created a very compact design so the circuits could save space within the chassis.
After completing the dual IR filtering circuits I wrote a control loop in software for IR beacon tracking. It interacted with the motor and allowed the robot to follow an IR beacon when both sensors were mounted in the front of the robot separated by a distance of 8 inches. It was also programmed to stop once the robot came close enough to the beacon. IR following is demonstrated in the video below.
Week 2: IR Sensor Circuits working
This week I was able to get the IR sensor circuits to work. Solder connection problems were resolved with more experience in soldering circuit boards. Noise problems were by decoupled the op amp power lines with 220 nF ceramic capacitors. I also replaced the female header pins with op amp mounts. It created stronger/more reliable connections for the 741 op amps and the rest of the circuit board. To create a signal between 1 and 5 volts corresponding to a distance of 3 to 8 ft from the beacon, I used variable resistors in the amplifier portions of the circuits. The IR sensor circuits ended up being a success. They did not break after repeated use and only had problems if the wire connections to the circuit board became loose.Week 1: IR Sensor Circuit
I worked on dual IR sensor circuits used to track an IR beacon. Each circuit filtered and amplified a 10 kHz signal to create analog inputs that had a signal proportionate to the distance a 10 KHz IR emitter. A simplified diagram of the circuit is shown below. At first the circuits were not working due to noise problems, weak op-amp connections, and malfunctioning components. These problems were fixed in the following week.Last Minute Setbacks
Ultimately, the robot competition did not go the way we had
hoped. During the competition, Geronimo was only able to return one of the six
pets to the safety zone. This was primarily the result of last minute failures
that occurred hours before the completion began.
Perhaps the greatest setback occurred around 6:00am, just
two hours before the playing surface was closed in order to prepare for the
competition. We noticed that the magnetic sensor on the catchment plate was not
responding properly, and as such, would not tell Geronimo to stop and remove
the pet from the arm. As the lab was closed at this time, we were unable to
simply wire up a new sensor. This setback prevented us from picking up more
than one pet; had the sensor been functioning, we could have easily picked up
the first three pets, if not more.
Though we were never able to confirm the cause the failure, we suspect a
faulty wire was the cause.
Though the failed magnetic sensor was the most upsetting
setback, it was not the only setback. Just an hour prior to the magnetic sensor
failing, the wheel encoders and the IR detectors ceased to function,
effectively preventing Geronimo from picking up pets on the upper level of the
surface. Due to the time that was required to debug these sensors, we decided
to move forward and focus on the three pets on the lower level of the surface.
We also experienced major setbacks involving the arm the day
before the competition. For these, please refer to the section on Geronimo’s Arm.
Author: Josh Smith
Geronimo’s Arm
During the design process, we wanted to make Geronimo’s arm
as simple and as elegant as possible. Because of this, we decided that the arm
would consist of two parts:
- A parallel linkage oriented vertically so that the arms height could be adjusted
- A horizontally mounted arm that could rotate 180 degrees in order to account for the horizontal offset created by the parallel linkage
Initial prototype of Geronimo's arm.
Initially, we thought that we could use servo motors to
control the arm. Our first prototype proved that these movement patterns were
in fact possible using servo motors. However, there were some stability issues
with various components of the arm. Additionally, the catchment plate that the
pets were supposed to stick to changed orientation throughout the process,
which limited the arms functionality.
A second prototype was made, with new servo mounts for the
parallel linkage and a bracket for the horizontal arm. In order to maintain the
desired geometry of the catchment plate, a fourth servo was added to the end of
the horizontal arm.
Second prototype of Geronimo's Arm.
After the arms performance at time trials, we were concerned
that the servo motors were not powerful enough to remove the pets from the arm
using our chopping motion. A video of
this testing phase can be seen below.
Video showing second prototype's inability to remove pet.
In addition, the two servo motors controlling the parallel
linkage were not able to be precisely calibrated, and so one was always a few
degrees off from the other. Because of this, the servos would fight each other.
Eventually one of the servos “won”, and we had a servo fire.
The problems with the arm caused us to fall behind schedule,
and at this point, we decided that it would be in our best interest to start
from scratch and make our own servo motors. The arm rebuilt took Dave and I two
days, and involved us re-making the arm components to accommodate larger
motors, gear systems, and potentiometers.
Solid model of final arm design.
The day before the competition, we began to have problems
removing pets from the arm once more. We determined that the motor powering the
horizontal arm was not strong enough, and so we opted for a stronger motor.
However, when I was mounting the small gear to the motor we chose—something I
had done with every previous motor—I managed to break the motor. In the hours
that followed, the team searched for a replacement motor that would be strong
enough to accomplish the chopping motion we wanted. This set us back even
further.
We finally found a motor that suited our needs, and mounted
it to the arm at 10:30pm, the night before the competition.
The servos that we made featured the following:
- 3D printed bearings, to increase stability of the arms
- Potentiometers that rotated with the arms
- High torque motors
- Gear ratios of 3:1 for increased torque
The final arm design featured the following:
- An all-aluminum parallel linkage
- An aluminum horizontal arm
- A steel catchment plate attached via a zinc-coated steel hinge
- A magnetic sensor attached to the steel pin of the hinge to determine when the arm picked up a pet.
The final arm can be seen below.
Catchment plate and small servo mounted to end of horizontal arm.
Custom servo set-up driving horizontal arm. Nicknamed "Fat Bastard" by the team.
Custom servo set-up that drove the parallel linkage. Nicknamed "Satan" by the team.
Final arm design mounted on Geronimo.
Author: Josh Smith
Geronimo’s Drive System
The first system that was prototyped for Geronimo was the
drive system. Early on, we knew that we wanted the drive system to be simple
and powerful. We decided on large wheels and a large gear ratio (7:1) to ensure
that the drive system would be able to drive Geronimo up the incline on the
playing surface. Our initial prototype featured:
- Large gears (70 teeth), cut from acrylic on the laser cutter
- Small gears (10 teeth), cut from aluminum on the water jet cutter
- Wheels (6” diameter), cut from wood on the water jet cutter
- Barber-Coleman geared motors
- Tires cut from inner tube
- A large, 3/8” thick main axle
- Aluminum gear plates to aid in alignment
The prototyped version of the drive system can be seen below.
Geronimo with prototyped drive system.
While the prototyped drive system functioned, we found that
there were alignment problems with the wheels. In the second and final
iteration of the drive system, we added 3D printed bearings. These bearing fit
tightly into the center holes of the wheels and large gears, and loosely fit
onto the primary axle. The bearings removed the side to side play of the wheels
while still allowing them to rotate about the axle. Additionally, self-fusing tape was used as tire material in the final version of the drive system. The final version of the
drive system can be seen below.
Solid model of final drive system.
Side view of final drive system.
Author: Josh Smith
Geronimo’s Suspension System
A major part of Geronimo’s original strategy involved
jumping down from the upper level of the course to the lower level in order to
bypass the wall of fire. Unfortunately, last minute setbacks prevented us from
making it to the upper level. We were, however, still able to utilize the
suspension system and jump from the ramp down into the safety zone.
The original concept for Geronimo’s suspension system can be
seen below. The sled was designed to absorb the majority of the impact from the
resulting drop, while the spring system (consisting of rubber bands) was
intended to absorb the rest.
Concept of suspension system, minus hardware and elastics.
In addition to absorbing impact, the sled was also intended
to act as the forward pivot point in the drive system, thereby simplifying
steering operations. As such, the QRD’s used for tape following were placed in
the sled, so as to put as much distance between them and the motors as
possible.
Initial tests showed that the suspension system was
fundamentally flawed, as Geronimo would flip forward following his jump. This
can be seen in the following video.
Video shot showing Geronimo flipping.
After analyzing the footage above, we determined that the
problem was that the sled was not rigidly attached to the rest of the
suspension system, thereby allowing Geronimo to rotate about the sled following
the jump. This problem was solved by replacing the foremost axle with M6
hardware, which held the sled more rigidly in place.
Unpowered test ran to test updated suspension system.
The final version of the suspension system can be seen in
the following figures.
Geronimo's internals, including the elastics that make up part of the suspension system.
Fully assembled sled.
Final sled mounting.
Author: Josh Smith
Monday, August 10, 2015
We have chosen to upgrade the robot's chassis and so I started working on this. During the last week many issues have risen with regard to the arm; the servos blew, we had to built custom servos, power to rip of the pets were not enough, and more. I focused more on the chassis, mobility, wiring, and software so while my team handles the arm I started to upgrade the robot and make sure my part of the work is done.
IR, QRD, Line following, magnetic sensor, have all been tested and all work. In the mean time i also wrote the master code which right now can run a dry run (we simulate the sensors to see how the system reponds) since we did not have the time to run the actual field so many times since many teams were lining up for it. It worked very well but we are still unsure on how it will work.
The blue geronimo was done by water jet cutting the name and putting blue tape on the inside an idea i randomly had and it turned out to be a great way to bring some cheap flare to the robot.
IR, QRD, Line following, magnetic sensor, have all been tested and all work. In the mean time i also wrote the master code which right now can run a dry run (we simulate the sensors to see how the system reponds) since we did not have the time to run the actual field so many times since many teams were lining up for it. It worked very well but we are still unsure on how it will work.
The blue geronimo was done by water jet cutting the name and putting blue tape on the inside an idea i randomly had and it turned out to be a great way to bring some cheap flare to the robot.
Week 3, things staring to heat up.
I start to focus on the wiring of the boards; initially we wanted to make a series of trays for TINAH and the circuits but after some arguments I convinced my team mates to use the chassis of the robot to house all the wiring and have a hinged cover. And so I started wiring things all day and we came across a rather big problem; the TINAH would not fit properly within the cover and would be hard to access. So we decided to have the TINAH halfway into the chassis with half of it coming out of the cover.
Also as can be seen we started working on fixing our drive system. To do this we made bearings and better wheels and tires to remove some slipping problems. Things are going well at this point and we are back on track.
During this week I learned a lot of soldering skills and I am starting to love what I use to hate. I also done some programming for the line following.
I start to focus on the wiring of the boards; initially we wanted to make a series of trays for TINAH and the circuits but after some arguments I convinced my team mates to use the chassis of the robot to house all the wiring and have a hinged cover. And so I started wiring things all day and we came across a rather big problem; the TINAH would not fit properly within the cover and would be hard to access. So we decided to have the TINAH halfway into the chassis with half of it coming out of the cover.
Also as can be seen we started working on fixing our drive system. To do this we made bearings and better wheels and tires to remove some slipping problems. Things are going well at this point and we are back on track.
During this week I learned a lot of soldering skills and I am starting to love what I use to hate. I also done some programming for the line following.
Saturday, August 8, 2015
Tuesday, August 4, 2015
Week 2, the reality of the task is starting to hit.
We are slowly picking up pace but it is becoming apparent that this is no easy task. There are so many different elements to building Geronimo which we must implement all together. This week was interesting since it was a week where we used the water jet cutter extensively and many mistakes were made during the mechanical creation of the robot. We had many arguments about details, one of the main problem we had was that holes were not to dimension; we could not fit holes properly to the rods we had. This was due to the unpredictable offset of the machines we were using. Also we had a general idea of each component for Geronimo but not their details. We should have went into their details in much more depth before building them. This resulted in a very not stable set of wheels and gears; we used acrylic for the gears which started to break really quickly, the wheels were not straight, and the wheels would even get stuck sometimes.
However there was a success this week; the suspension system. We went from idea to concept in a straight forward manner, and they worked very well! It was a great feeling to see something we designed work well and we had a lot of fun pushing down on the chassis to see it push back up and oscillate slightly. Although we did have few issues securing the rods holding the suspension system properly. We 3d printed c-clamps which seemed to get the work done for the moment.
Another thing I did this week was to build the QRD sensors for the line following of the robot. This was easy and straight forward. We came across an issue: the h-bridges I built last week started to fail for reasons we were not able to figure out and so I made the call to ditch it and have my teammate who is more experienced in electronics to solder new ones, we also took the opportunity to make them more compact.
Mohamed-Ali Hached
We are slowly picking up pace but it is becoming apparent that this is no easy task. There are so many different elements to building Geronimo which we must implement all together. This week was interesting since it was a week where we used the water jet cutter extensively and many mistakes were made during the mechanical creation of the robot. We had many arguments about details, one of the main problem we had was that holes were not to dimension; we could not fit holes properly to the rods we had. This was due to the unpredictable offset of the machines we were using. Also we had a general idea of each component for Geronimo but not their details. We should have went into their details in much more depth before building them. This resulted in a very not stable set of wheels and gears; we used acrylic for the gears which started to break really quickly, the wheels were not straight, and the wheels would even get stuck sometimes.
However there was a success this week; the suspension system. We went from idea to concept in a straight forward manner, and they worked very well! It was a great feeling to see something we designed work well and we had a lot of fun pushing down on the chassis to see it push back up and oscillate slightly. Although we did have few issues securing the rods holding the suspension system properly. We 3d printed c-clamps which seemed to get the work done for the moment.
Another thing I did this week was to build the QRD sensors for the line following of the robot. This was easy and straight forward. We came across an issue: the h-bridges I built last week started to fail for reasons we were not able to figure out and so I made the call to ditch it and have my teammate who is more experienced in electronics to solder new ones, we also took the opportunity to make them more compact.
Mohamed-Ali Hached
After a crazy term taking 5 classes, and very little time to actually think about the robot we are going to build for the next month we finally start actually building it.
I did not know what to expect, how things are going to roll out. It was all very new to me. And maybe the reality did not hit me until the end of the first week; things will soon get very hard and time will become a constrain. Getting in we were still confused as to how to proceed but we knew that we wanted to get the circuits done first as they were going to be constants throughout the project. I personally took on the task to build the h-bridge circuits.
This was my first job soldering components to a PCB and it turned out to be much harder then I expected. I was told to first put all the components of the circuit on the PCB, test it, and when all goes as expected solder it. This was not a good idea as the components had long legs that would shorts, and bad connections would make it hard to get a good test of it. Worst of all was the difficulty it brought with when actually soldering the components onto the PCB; there was just too many wires and confusion quickly became a factor. I built 2 h-bridge PCBs with full confidence on it's structure but they both failed. It seemed that the soldering contacts were not perfect. I practiced and got Quinn to help me solder the other circuits which eventually worked with the same layout. During this week my soldering knowledge really grew and I realised the importance of good practice in order to achieve reliable circuits for the robot. We ended up building two h-bridges.
Another interesting point during this process was thinking about how we are going to have I/O work to the circuit; we did not want to make it overly complex because in the long-run it would make our life hell. We also wanted the wires to lead in and out of the circuit in a sensible and clean manner. We ended up finding a great way around this.
We tested the circuit and got it to work. This is great since we have as a goal to build the mobility of the robot first. During this the rest of my team mates were working on building the mechanical side of the Geronimo. They focused on the chassis and drive system which is going great.
Mohamed-Ali Hached
I did not know what to expect, how things are going to roll out. It was all very new to me. And maybe the reality did not hit me until the end of the first week; things will soon get very hard and time will become a constrain. Getting in we were still confused as to how to proceed but we knew that we wanted to get the circuits done first as they were going to be constants throughout the project. I personally took on the task to build the h-bridge circuits.
This was my first job soldering components to a PCB and it turned out to be much harder then I expected. I was told to first put all the components of the circuit on the PCB, test it, and when all goes as expected solder it. This was not a good idea as the components had long legs that would shorts, and bad connections would make it hard to get a good test of it. Worst of all was the difficulty it brought with when actually soldering the components onto the PCB; there was just too many wires and confusion quickly became a factor. I built 2 h-bridge PCBs with full confidence on it's structure but they both failed. It seemed that the soldering contacts were not perfect. I practiced and got Quinn to help me solder the other circuits which eventually worked with the same layout. During this week my soldering knowledge really grew and I realised the importance of good practice in order to achieve reliable circuits for the robot. We ended up building two h-bridges.
Another interesting point during this process was thinking about how we are going to have I/O work to the circuit; we did not want to make it overly complex because in the long-run it would make our life hell. We also wanted the wires to lead in and out of the circuit in a sensible and clean manner. We ended up finding a great way around this.
We tested the circuit and got it to work. This is great since we have as a goal to build the mobility of the robot first. During this the rest of my team mates were working on building the mechanical side of the Geronimo. They focused on the chassis and drive system which is going great.
Mohamed-Ali Hached
Subscribe to:
Posts (Atom)