Monday, March 23, 2009

Ch 9 - 10 Feedback & Wait for it!

From the reading of Chapter 9 ~ 10, "Feedback & Wait for it!"
I learned about sensors.

First, I learned about condition.
The condition is the thing, which the sensors can detect and react on.
Which means that, the program and the robot wil perform specific actions based on the conditions of things.

Then, I learned about each five different sensors.
In NXT, there are touch, sound, light, ultrasonic, and rotation sensor.
Touch sensor has a button in front of its sensor, and the robot will do specific action, when the button is pressed or released. It is useful, when you want your robot to avoid being crushed with e wall or object.
Sound sensor is a sensor that does certain action depend on the sound. When the sound played or stopped, the robot will do specific action, and that sound is recorded by the sound sensor. If there is no sound sensor, the user is not able to start robot with crapping.
It is useful, when you want your robot to start, when the sound is played, or after a sound the robot will start its program.
Light sensor, is a sensor of light. It is able to compare the lightness of the object with atmosphere, and does specific action, depends on the amount of light.
It is useful, when you want your robot to do program in the dark place, depend on the small light, or to follow the line that is darker than other atmosphere.
Ultrasonic sensor is a cool one. It sends out the ultrasonic wave from the sensor, and absorbs the bounced back waves. During that time, the sensor also measures the time the wave took to bounce back. It can determine, how much the object in front of the sensor is away from the robot.
It is useful, when you want your robot to detect nearest object from your robot, or to change its direction, before crushing to the object. It can escape, as the robot knows how far the object is from the robot.
Last one is rotation sensor. It is the sensor, we most commonly use. It is sensor attached into the motor, and measures the rotations, degrees, or time the motor is running.
It is useful, when your robot to stop its motor, after certain amount of rotations, or degrees, or time.

Wait block is most important block for sensors, as all five sensors require wait blocks. It determines the specific information about eh sensor, for example how much, how far, or how long. It simply means, the robot will wait for specific measures, until it meets the sensor program, or complete.

Frequency and Amplitude

From the investigation of "Frequency and Amplitude", I investigated the relationship with sound sensor and the sound.
First of all, I learned about the sound.
There are two things included in the sound we hear. The frequency and amplitude. This two things have very huge affect on the sound, and changes it.
The frequency of the sound is the pitch of the sound.
For example, when the frequency increases, the pitch also increases, and the sound will be higher.
The amplitude of the sound is the volume of the sound.
For example, when the amplitude increases, the volume also increases, and the the sound will be louder.

In this investigation, I tried to find which of these two things affects sound sensor.
I first tried with frequency. There are four sounds recorded in the computer,which each has different frequency. If the frequency affects the sound sensor, the measure of the sound on the NXT screen should change. However, it did not, even the frequency changed in great matter, the sound measure did not really change. Therefore, I can state that the frequency does not affect the sound sensor.

Second, I tried with amplitude. Again, I just did same things of frequency to know the affects. When the four different amplitude was played, the measurement of the sound greatly changed. It went up, as the sound got higher and higher. Therefore, I can state that the amplitude does affect the sound sensor.

From this investigation, I learned that the measurement of the sound showing on the NXT screen is actually the amplitude of the sound played. When the amplitude of the sound increased, the measurement of the sound on the NXT screen also increased.

Wednesday, March 11, 2009

Drag Race & Tractor Pull


This time, we did a competition of Drag Race. I was also solo at this time, and my goal is to build fastest robot in my class. In drag race, I need to make the fastest robot, and takes the time of distance for 3m.

In order to build the fastest robot, the gear ratio has to be close to 0. From the previous investigation of gear ratio, I learned that, when the gear ratio is close to 0, then the speed of the robot will increase.

Therefore, I first build the Gear ratio of 8:40. This gear ratio is the fastest gear ratio that I can make from my LEGO sets. However, when I loaded 8:40 gear ratio to my robot, it did not move. As I went through all the causes of this problem, I found that the power of the robot is too weak, that the gear can not afford the power to roll the wheel on the ground. My robot moved, when the wheel was floating, however as soon as it touched the ground, the motor stopped moving. It is because, the certain power is needed for wheels to roll on the ground, which has friction. And it is just that, 8:40 gear ratio could not afford that certain power.
After the fail of 8:40 gear ratio, I decided to lower my gear to second highest. The second highest gear ratio is 8:24. There is very slight change between 8:40 and 8:24 gear ratio. When I load the 8:24 gear ratio, the robot actually moved properly. After finding out the most suitable gear ratio, I tried to light my robot as light as I can. In order to make the lightest robot, I just simply changed the gear ratio and size of the wheel bigger. I did not put anything, and it is just like a standard NXT robot. My time was about 2.3 seconds, and it was fast!!!

PS: The above picture is 8:40 gear ratio.



After the experiment of Drag race, my class moved into next competition, which is Tractor Pull. In this competition, I need to build a robot, which can pull the heaviest weight. The minimum weight the robot needs to pull is 3000g, which is 3kg.

In order to build the strongest robot, the gear ratio has to be bigger. From the previous investigation of gear ratio, I learned that, when the gear ratio is bigger, then the power of the robot will increase.

Therefore, I built the gear ratio of 40:8. I can know that this gear ratio is bigger than 0, and the biggest by solving the fraction. 40/8 equals to 5, and it is definitely bigger than 0, and the biggest number. In order to give more power to my robot, I added third motor in front of my robot. By having three motors, the power of the robot increases, and makes for robot to be able to pull heavier weights. Of course, the gear ratio of three motors are all equal, as I need to balance my robot. Furthermore, I put more wheels to have friction, which eventually increases the power of my robot. There were two wheels at each front and back side. I added two more extra wheels to each side. Also, I put small wheels at back side, and big wheels at front side, in order to keep the robot stable, and not jump off. When the friction of the robot is greater, that much amount of force going to bigger surface, and makes the robot to have stronger power. My robot became huge, and seemed that it has strong power.

When I tried for competition, my robot easily pulled the weight of 3kg. The time for pulling 3kg weight is about 7.38 seconds, and it was second fastest time in my class. For the second try, I decided to pull heavier weights. My robot also easily pulled 5kg weight, and the time was 10.26 seconds. I should have tried for heavier weights.

PS: above picture is 40:8 gear ratio.

Tuesday, March 10, 2009

Ch.6 Building Strategies

From the Chapter 6 "Building Strategies", I learned strategies to make my robot more complexed and advanced.
I especially, put my focus on the section called "Loading the Structure"

In the section of "Loading the Structure", I learned strategies to how to support the weight of my robot.

In order to make load carrying more efficient, there are several factors that I should consider. First factor is about friction. I need to take all possible precautions to minimize it. Friction makes the robot to move harder, and slower. Second factor is to make the wheel as much as closer to the supporting beam. It is for to prevent the axle to be bent (unstability) , and to reduce the resulting force on the axle.

Third factor is about the best configuration for placing my gears. I should put gears next to the supports to reduce or elminate any gear slippage. Also, two supprting beams are better than one, as the robot will get more stabilized, and hard.

Fourth factor is about the gears in-line with supporting beams. It is for axles to run thorugh the holes in the beam being used for support. In addition, the gears should be near supports.

The position of the NXT has a strong influence on the behavior of moblie robots. I need to think very carefully about the shape and the weight of my robot, for each experiments and missions.

Thursday, March 5, 2009

My choice: CH 13: the STOP Block

This Block is like an emergency stop button.

"If your robot encounters a STOP block at any point in the program, the robot will simply stop at the point with no further action."

Usually, the robot will stop, when it completes the all the actions, which are programmed.

However, this STOP block will immediately stops the robot, no matter what action it was doing, or have not completed all the programmed actions.

Only the exception is when you are using a data wire and is providing a false input. (I need to go further to explain about this. Will learn later.)

This block will be useful, when I want my robot to just stop and do not do any action.
Also, if I want my robot to stop from going forward, I usually put 2 move blocks, which says stop. But, putting one STOP block, I can stop my robot from going forward, and it saves space and effort.

Tuesday, March 3, 2009

Circuit RACE!!!


This program you are now seeing is for the Circuit Race. Today, in the Robotics class, we did challenge of Circuit Race. This race is to see, whether you can program a robot, to go around a square. The student with fastest robot will earn a prize (extra credit).

The course is made by black tape. At race time, boards and things are put inside the black tape, to not to let robot to go inside of the course (square). During the race, if my robot touches the object inside the course, or go inside of the course, then I will get panelized for that.

For this race, I used large wheel, in order to move the robot faster. Also, because one wheel on each side seemed to be unstable, I put two large wheels on each side. However, during the race, it acutually did not work. During the race, my robot kept bending to the right side. I should have used, small wheels, so that the my robot will be stable.

In order to program my robot to go around a circle, I found out that, I need total of 4 simple programs combined into one. 1st one is just simply going forward, then stop. 2nd one is turn right, then go forwad andstop. 3rd one is same as 2nd one. Then finally the last program is same as 2nd and 3rd one.
When you see the picture of my program, 1st line is 1st part of the program, and 4th line is 4th part of the program.

In the program, I first measured, how much I have to go forward for. By measuring the length of the race, and doing some calculations, I found out that the degrees of rotation of motors should be 3900 degrees. For the width of the race, I calculated and got 3800 degrees.
I had huge problem in measuring a degrees of rotations to turn right. (mention later) For the turning right, I used point turn, because it is more stable, and I do not have to calculate extra distance.

At 1st race, I failed to complete the race. I was really depressed, and when back to my lab station. My robot did went straight, but at turing right for first time, my robot turned to much and hit the object inside the course. After doing so many test, I found out that, there was a problem in measurement of degrees of rotations to turn right. My degrees was 130, and that was to huge to just turn right side. I calculated again, and fixed to 80 degrees.

At 2nd race, I succeed to finish the race. Because of the mistake of calculations made in my problem, I failed to complete the race by once. I learned that, I need to calculate the measurement more precisedly.

But, my time for the race was 2nd place, and I got extra point of 1. (which is really little :( )

Overall, I enjoyed doing this race, and also im happy that I learned something new.

Sunday, March 1, 2009

Ch.2: Playing with gears

In this chapter, I learned the relationships between two gears, one on the motor and one on the axle.
This determines, how fast or slow the wheel moves, and is very important in changing the speed by changing the gear.

I think, this relationships of two gears are also included in the car. I heard that, as driver changes the gear, it means that the relationships of gear changes whether to big to small, or small to big.

I read in the chapter that, there are three relationships of gears.

If I have a large gear on the motor and a small gear on the axle, then the robot will move faster, as small gear on the axle turns more than the large gear on the motor. It is because of the difference of circumference. As the large gear on the motor rotates once, the small gear on the axle rotate more than once. The small gear on the axle has less circumference and it always rotates more than the large gear on the motor. Therefore, the small gear on the axle (which is actually wheel) rotates more, in the one rotation of the large gear on the motor, and the robot will move faster.

If I have a small gear on the motor and a large gear on the axle, then the robot will move slower.
It is just opposite of my first statement. The small gear on the motor has less circumference than the large gear on the axle, so I can easily know that small gear rotates more. Moreover, in order to rotates the large gear on the axle once, the small gear on the motor has to rotates more than once. Therefore, the large gear on the axle (which is wheel) rotates once, in the many rotations of the small gear on the motor, so the robot will move slower.

If I have a same gears on the both side, the motor and the axle, then the speed will be moderate (just only depends on the speed of motor in the program, or size of the wheel). It is because that, there is no difference between two gears, as they have exactly same circumferences. There is nothing about rotates more or less, as they rotate same amount. Therefore the speed does not change, as they rotates together, in same amount of circumferences.