Monday, November 10, 2008

Building Strategies

(NOTE: This entry is a work in progress)

Chapter six of the Lego Robotics book emphasizes the importance of the structure of your Lego Robot. When creating a robot, the main goals you want to keep in mind, are that you want to keep the robot as lightweight as possible - using minimal amounts of bricks - without sacrificing the structural integrity of your robot and making it very vulnerable to forces such as compression and tension (unless you have alternative intentions for your robot). Compression is a force exerted on structures that pushes and tries to make the structure smaller, while Tension is the opposite; it stretches and tries to elongate the structure. To counter both forces and to make your robot more 'economical' by using less parts for more strength, a variety of different supports must be used in combination (ex: beams and 'L-beams' must be used together).

When it comes to structural integrity, protecting the gears and motors of your robot are vital, as in relation to the human body, they are the heart of your robot; driving it forwards and turning it into the unstoppable monster, or lithe dragster that it is. The important thing to remember with gear and wheel placement is that the closer the gear/wheel is to its supporting beam the better. Having the gear/wheel closer to its supporting beam means that less force (generated by the mass of the robot for example) will be pushing down on the axles and pushing your gears apart. Another point to remember when supporting gears is to mount supports in line with the gears, as illustrated in 6.10, 6.11 of the robotics book. This means that if your gears are operating horizontally - match parallel support beams horizontally. Having the axles snap under multiplied pressure, or your gears failing to function as they slide apart are realities that can be easily solved by remembering these points.

Also, when constructing a robot it is also important to remember to balance the robots weight between both the driving wheels and any other wheels on the robot (generally slightly more weight on driving wheels) so the robot isn't off balance.

Finally, another important thing to remember is to build your robot with modularity. This means that you should construct portions of the robot together so that you can easily attach and detach certain portions of the robot to easily remake the structure. When building a robot using both the Technic and Mindstorms kits, also known as a hybrid, modularity is one advantage the robot has compared a purley Mindstorms kit in most cases (Hybrid robots also tend to be heavier and more stable) .

Thursday, November 6, 2008

Challenge: Obstacle Course

My Lego Robotics team (yet to be decided) has been presented with the challenge of building a robot that will be able to navigate an obstacle course with several kinds of obstacles; in this challenge our robot will have to use most of the sensors we have been taught to use so far.
The robot must first travel forwards and stop within a boxed out region for five seconds, a light sensor will be used here, after this the robot must ram in to a wall and activate a touch sensor before reversing and turning right. After this the robot will travel forwards and use its ultrasonic sensor to detect a wall, and turn right again. The final leg of the course calls for the robot navigating a randomly placed obstacle; this would probably be done with the use of a ultrasonic sensor and if time allows, some sort of lego 'missile' that will remove the obstacle from the course.

(All of the above while smoking the competitors' robots navigation times of course)




Essentially I am only brainstorming as to the actual design of the robot at the moment...and I'm clueless...so far:

  • The robot should be low to the ground - probably longer than taller for balance and aerodynamics :O
  • Will need multiple appendage like structures to hold variety of sensors in place and to prevent overlapping of sensors
  • May use gear trains to juice all of the possible speed out of the robot (losing torque shouldn't be an issue as it is a flat course)
  • The largest Lego wheels possible should be used for additional speed.
  • The touch sensor will have to be mounted on the front, as well as the ultrasonic sensor, so some variations in height will be necessary.

Understanding Lego Geometry

Essentially this chapter gets at the bare bones, or bricks in this case, behind Lego construction. In the world of Legos, measurements and sizes of bricks are noted by the number of studs on a Lego brick, also known as Lego units. When stating the sizes of Lego bricks, it is stated in dimensions in the order of, width, length and finally height. Width is determined as being the shorter of the two horizontal sides of a Lego brick when it is laying 'studs up.' For example, the smallest Lego brick has dimensions of 1 x 1 x 1 Lego units, however this does not mean that it is a cubular shaped brick. In the world of Legos, one 'stud' has a ratio of 6:5 when comparing height to width in milimeters, thus explaining why the one stud Lego 'cube' isn't really a cube.

When comparing Lego bricks to Lego plates, Lego plates are approximately 1/3 the height of one stud.

However, bricks and plates are for those of you that like to kick it Oldskool, as the NXT Mindstorms sets use the newer Lego Technic pieces. The Technic pieces are essentially studless versions of the Oldskool blocks that are more weight efficient and less cumbersome when it comes to precise and lightweight building, that retain the same strength.
With the studless beams and liftarms in the Technic set, capabilities such as diagonal crossbracing become a possibility. When diagonally crossbracing with studless beams, one can use Pythagorean's Theorem to calculate if a certain beam can be used to crossbrace a structure.
Pythagorean Theorem essentially is a formula that relates the measurements of the hypotenuse of a right angle to being equal to the squared values of the other arms...
In other words...a^2 + b^2 = c^2, where c is the hypotenuse.
For example a structure with a base of 15 units, and a height of 8 units can be crossbraced because:
15^2 + 8^2 = 17^2, c in this case equals to a number whose square is a whole number, meaning a studless beam could be used to crossbrace.

I apologize as this is a rather long-winded post...however to conclude my summary of the chapter, one can also use liftarms to brace Lego structures. The key difference here is that liftarms arent straight beams, meaning that one can use them regardless of the Pythagorean Theorem to brace a structure from impacts in totally unique ways.

Tuesday, November 4, 2008

Field of View Experiment

In order to test the capabilities of the the NXT ultrasonic sensor we conducted an experiment to demonstrate the width and length ranges at which the NXT sensor was still functional.

1. We layed our NXT robot, equipped with an ultrasonic sensor on the front of the robot, on a flat white board. The program detecting distance (cm) under 'view' was run.
2. After this, white masking tape was layed directly in front of the robot in a straight line for 2 meters.
3. Intervals of 10 cm were marked on the white tape
4. An object (Whiteboard eraser, flat side towards sensor) was slid down the white tape until the ultrasonic sensor no longer detected it. This position was marked with black tape.
5. At every 10 cm interval the whiteboard eraser was slid left and right until the sensor no longer detected an object. These positions were also marked with black tape.

Once the procedure was finished we marked down the black tape points on a smaller a4 paper which was divided into a grid. The distances were scaled down so as to fit onto the a4 grid, personally I used a scale of 2:1.

Now looking at the black tape pattern our group recognized that when an object was closer to the sensor, the sensors field of view was narrow (~5cm either direction). However past a certain distance, (~40-70cm) the sensors field of view widened to a maximum of about 20cm before gradually shrinking down in width to the maximum distance the sensor could read.
This formed a somewhat balloon-like shape.

http://isklrobotics.blogspot.com