Saturday, November 29, 2008

Playing with Gears (Chapter 2 summary)

Chapter 2 in the LEGO MINDSTORM text book deals with the usage of gears and the technique in building it. This summary will explore some of the useful gears and how they function. The first gear is the bevel gear. The design on the edge of this device allows the motion to be transferred perpendicularly to another gear. This is useful when the construction of the robot does not support parallel transfer of motion.

Another gear that has specialized function is the clutch gear. If you experiment the gear by placing it in a robot and rotate it, you will notice that this gear offers some resistance at first then it will turn. This resistance is the very essence to the purpose of this wheel, because it decrease the force exerted on the system when the motion comes to a stop. This way it will prevent the system from damaging itself.

Finally, there is the pulley system. Under some circumstances, it is better to use the pulley system than the gears. For example, when you want to transfer the motion between two wheel that is widely separated you can use the pulley system. This is better than placing many gears in between the wheel since pulley system requires less power to start the motion. In addition, it produces less noise than using gears. The only downside is that the pulley does not transfer high torque since the belts tend to slip.

Here is an example of a pulley system:

Monday, November 24, 2008

Get in Gear (Investigation Summary)

As we have explored, the ration between the driving wheel and driven wheel is very important to the speed of the robot. Here is what will happen if we change the gear ratio:

If the driving wheel is bigger than the driven wheel, the robot will move faster since 1 rotation of the motor corresponds to more rotations on the driven wheel.

In contrary, if the driving wheel is smaller than the driven wheel, then the robot will have a slower speed. This is because 1 rotation of the motor will cause the driven wheel to rotate less.

The principle of physics behind the cause of this phenomenon is something called torque. We increase the torque of the robot by reducing some power. As torque is directly proportional to the displacement of an object, increase in torque will result in an increase in displacement.

Obstacle Course Results/Conclusion

After spending more than 20 hours of hard-work accompanied by tears and sweats, our robot had finally completed the race course perfectly. The robot is not only capable of maneuvering through the course; it is also able to detect any object in its way and attempt to avoid it. What is special about this program is that it can avoid any number of obstacles as the program is set in loop. In addition, the sensor is able to turn and sense whether the direction it is trying to maneuver for obstacle avoidance have other blockage. If it does detect an obstacle, it is capable to turn in the other direction. In a sense, it is a form of artificial intelligence as it is able to decide on which direction it should turn to avoid the can. The program itself is rather complex, consist of multiple loop blocks, motor blocks, sensor blocks, and logic blocks that require multiple wirings. Overall, I believe my partner and I are extremely satisfied with out end-product.

Classic Projects (Chapter 14)

This chapter deals primarily with the classic built of LEGO NXT robot. Although the techniques can be unexciting for people who want to build some awesome walking anthropomorphic robot, they are still useful. One technique is to use an ultrasonic sensor to detect an edge. By placing the sensor towards the ground level, it will allow robot to detect an edge as there is a change in distance between the sensor and the surface of he floor. Another technique is to build a steering assembly, which consists of mainly the caster wheel and the ability for it to rotate. The main function for this assembly is, as the name suggested, allowing the robot to turn. By allowing the robot to turn, it unlocks multiple functions, such as line tracking and obstacle detection. Of course, that will also require the placement of ultrasonic sensor and light sensor in order for the robot to function properly. Overall, the classic technique in building the robot plays an essential role in allowing it to perform versatile and diverse functions.

Wednesday, November 12, 2008

Program for the Obstacle Course

Since most of the program is done last class. All I did this class is to adjust the program slightly by adding rotation sensor reset block.
Now what we need to do is finish building the robot with sensor and make the program based on that design. The test will be conducted on Monday.

Tuesday, November 11, 2008

Summary for Building Strategies

In chapter 6, we are introduced to various fundamental techniques in building the robot. One of them is the stud-less built technique focusing on parallel linkage. There are 4 pieces of Lego that that can be used in parallel linkage. The simplest one is a straight beam that allows for the connection of two other beams in parallel. The second one is the L-shaped beam that can provide a strong and rigid built of robot. The third beam actually consists of 5 small beams connected together, which is be used to allow for flexible connection. The fourth beam is actually very similar to beam A, as it allows for 2 beams to be connected in parallel. However, it is not as versatile as beam A since it allows only 2 beams to be connected together while beam A allows for multiple beams to be connected together. The aim for having all these technique is to construct a modular structure, where beams can be easily taken apart while maintaining a rigid structure.

In addition, we should also take notice on the positioning of the beams and gears. For instance, we should always keep the wheels, or all forms of gears, as close to the beams as possible. This will keep the built as pact as possible and reduce the “spread” of the materials, which will reduce the friction on contact with the ground, hence, allowing for faster acceleration for the robot. This same concept is applied when positioning the NXT control device. If placed properly on the beam structure, the mass will be situated right at the center of the robot and reduces the friction of the wheels in contact with the ground. To further illustrate this idea, we will discuss the effect of weight on the caster wheel. The caster wheel is a wheel placed in the rear of the robot to form a triangular shape of wheel placement of the robot. Since it is not directly connected to the motor, it does not generate its own movement. If too much weight is placed on it, then the robot might not even be able to move.

Monday, November 10, 2008

Building Strategies - Chapter 6

In our robot, we are going to use a type of connection called the parallel linkage. This will enable us to use less material than our current construction, while still maintaining a stable built. Here is an example that shows parallel linkage of a robot:

In addition, the robot is built so that the wheel is as close as possible to its supporting beam and the NXT is placed in the middle to balance the weight on the supporting beam:

Do note that this robot built is an example of a modular assembly.

In terms of programming, we did really well in class today as we programmed the majority of the functions needed for the robot to navigate through the maze. All we are lacking in the program right now is the function to detect the can and avoid it. I will program it into the robot using motor block and sensor block by next class. After that, the robot will be good to go in terms of test running it.

Thursday, November 6, 2008

Obstacle Course Challenge

In this race challenge, the goal is to get the robot to maneuver through the course as quickly as possible. Here is a diagram for the race track:

There are 5 segments of this race challenge that are significant. Here are the 5 parts in their respective order on the race course:

  1. Initially, the robot will have to be programmed so that it will start racing when it register a clap. Physically, a sound sensor needs to be present in order for the robot to function this way. On the aspect of program, a "Wait for sound" block is needed.
  2. In this part, the robot needs to land in the square for 5 seconds. A light sensor could be used in this case so that when it crosses the white line, it will recognize it and stop in the square. The 5 seconds interval could be easily accomplished using the "Wait For" block.
  3. Now, the robot has to physically bump into a wall. A touch sensor can be equipped in the front of the robot so that it can register the bump. After that, the robot has to be programmed so that it will reverse a little bit and then turn to its right.
  4. In this part, there will be a wall waiting in front of the robot. This time, however, the robot cannot bump into the wall. Instead it must stop a few centimeters of distance from the wall. Therefore, the best equipment here will be the ultrasonic sensor.
  5. This part is probably the most challenging part of the race course overall. A can will be randomly placed on this part of the course. The goal is to either avoid the can or launch a projectile that is capable of removing the can out of the way, so the robot can travel smoothly. Our robot will be programmed so that it will turn to the left side of the can, hence, avoiding crash.
A general rule of thumb in this experiment is to configure the motor block so that it the engine output will be at its max, hence, increasing the speed of the robot.

Tuesday, November 4, 2008

Short summary of chapter one of robotic's textbook

To build a sturdy structure, the bottom part should have more gears then the upper part of the built. However, it is not necessarily true all the time. One example is a chassis where the upper part and lower part have the same built. The diagonal connection of the beam allows for the chassis to be strong and light that is capable of supporting weight. In addition, it is also feasible to build a strong and heavy chassis using the 6:5 ratio stacking method. The downside to that is that it uses up a lot of bricks. If we are to construct a chassis, the length of the diagonal has to be an integer. This is where Pythagoras theorem is useful, since it can be used to find a diagonal length that is an integer. Suppose the length of one side is 3 and another side is 4. By using Pythagoras theorem, we can determine the length of the thirds side of the length is 5. Conversely, the theorem can also be used to rule out triangle that does not have a matching relationship between the length of its 3 sides. For example, a triangle with a side length of 5 and 8 will not be able to produce a right triangle with its third side length as an integer. All of these are essential since the connecting beam is made with integer length. It should be noted that it is hard to apply Pythagoras theorem using certain angular beams as they do not have a right angle.

Jack's Field Of View Experiment

The purpose of this experiment is to determine how much area in front of the robot is covered within the range of the reading of ultrasonic sensor.

Material
  • Meter sticks (plus minus 0.05cm)
  • Black and white tape (or any combination of tape with different colors)
  • Aluminum Can
  • Scissors
  • Taskbot with Ultrasonic Sensor

Procedure
  1. Place a meter ruler directly straight in front of the robot.
  2. Along the ruler line, place a long piece of white tape.
  3. Using a marker, mark a line on the tape for every section of 10cm wide (starting from 0cm, 10cm, 20cm...90cm)
  4. Make sure there are no obstacles in the direction that the robot is placed since it will affect the sensor reading
  5. Place the aluminum can so that a surface area is directly in front the the robot and situated at the 10cm mark. Move the robot towards the left side of the tape while making sure that it is directly perpendicular towards the 10cm mark. Displace it until the robot is on the boundary of registering a value and "????????". Mark the position of the robot using a black tape. This should be applied to the right side of the robot as well.
6. Repeat step 5 for all the increments on the tape ( 20cm, 30cm...80cm)
7. If the robot cease to register any object on the 80cm mark (it could be more or less depending on your ultrasonic sensor), move the can closer towards the robot until it register a value, mark that section using a tape.
8. Record the position of all the black tape on a sheet of recording paper. This could be freely scaled down to any extent, as long as the person who records the data remembers the scale. (In my case, 1cm on my recording paper is equivalent to 10cm in real life)