vendredi 24 août 2012

Week 5-1 Point Rotation



In this class we learned the final type of rotations : the point rotation
We need this kind of rotation when the robot must change its angle without changing its position in other words the robot rotate itself.
To make a robot turn a point rotation the wheels must rotate with the same speed but with different directions
This kind of rotation is very helpful in sharp angles <30°
To illustrate this kind of rotation we made a circuit which look like the heart beat:
The center of the robot must follow the circuit with no tolerance.

To apply a point rotation with the nxt-g just drag the steering to the extreme right or left then set the desired duration.

Week 4-2 Parallel rotation


The second type of rotation that we will handle is parallel rotation:

This is the most common way of rotation for four wheels vehicles like cars.
The main idea is to turn the two wheels with different speed, so for a period of time the distance traveled by the faster wheel is more than the slower wheel as a result we don’t have straight movement but curve movement.
To apply this kind of rotation in a bidirectional robot like we have we used this circuit.

The circuit is very similar to a circle.
Ls will try to apply the swing rotation in this circuit but they will find it very painful, the great surprise I had that ls find by themselves the solution which lays in the Steering parameter we already see in the move block which is responsible for turning a bidirectional robot like a bicycle (well this is the example I used may be you will find better examples :=))

You can try other circuit like a snake body circuit for example.

Week 4-1 Swing rotation


Turning your robot is a crucial and standard task while commanding your robot to move, it is very rare to find a circuit with no turns.)
For bidirectional robot like the taskbot we made there are three possible ways of rotations;
Swing rotation
Parallel rotation
Point rotation
In this class we will talk about the swing rotation:
This kind of rotation is the simplest the main idea is when you want to turn left or right just stop a wheel and let the other wheel keep running.

For example, if we want to turn right, all what we have to do is to stop the right  and command the left wheel to move so the robot will turn right.
If we want to turn left,.. I guess you got it J
This kind of rotation is mainly used for turns like 90° or less in a straight circuit (a circuit with no curves)
To illustrate this example you should made a circuit like bellow and then ls will create the algorithm needed to follow this circuit.

First ls should create their first flowchart so you will help them:

To create a swing rotation using nxt-g put 2 move blocks.
In the first move block you select one portàthe motor witch you want to block or stop
Next of it in the second move block select one port -> the motor witch you want to run

dimanche 19 août 2012

Week 3-2 Move the robot to an exact position

In this class we discussed one of the major problems in the mobile robots field witch is as the title says how to move your robot to an exact distance nothing more and nothing less.

Moving the robot to a known position is crucial in some cases, so in this class ls will learn how to convert wanted distance measured with a measuring tool to an order in the move block.

Every group take a wheel and move the wheel from a start point one rotation. Then move the wheel from the exact start point twice.
ls will know that the number of rotation traveled by the wheel is one responsible for how much the robot will move.
Now try with smaller wheel do one rotation then 2, ls will notice that even the wheel traveled the same unit it doesn't travel the same distance as the bigger wheel so here you introduce to them the principal of calculating the circumference.

Measuring circumference of the taskbot wheel:
Start by measure the circumference of the robot practically using standard measuring tools.
Then write the result for each group.
ls will notice that the results are not the same so there are an incertitude factor during the measuring.
The solution is to calculate the circumference using already knowing informations:

We used the famous formula : ( D = 2.25 inche/5.751 centimeters , Pi = 3.14)
C = Pi * D
C= 17.49 cm

A mission to 59.5 cm:
This is an example to demonstrate this new way for using the move block. 
So our objective is that the robot go exactly 59.5 cm 
We have to calculate the number of rotations needed to put in the move block.
The operation is simple: we divide the desired distance on the circumference of the wheel.
number of rotations needed = 59.5/17.49 = 3.4
So the number of rotations needed is 3.4


samedi 18 août 2012

Week 3-1 The Move block


After you make sure that the ls teams finished their taskbot, you could ask this question to your ls:
Now what should this robot do?
you will definitely hear that robot should MOVE.
Yes !! the robot has two wheels so it has to move.
To start the ls must guess that there is something missing in there robot witch is a program to command this robot--> So we open the NXT-G program (that comes with the lego mindstorm kit)
*ls create a project with there group name
*save the project in a descent place in the hard drive
 The front view
NXT-G is a wonderful environment for developing software and to discover programming. it uses a graphical language witch based on the flowchart concept.
*Ls localize and drag and drop the move blok into the programming area.
After That it's time to configure the move block.

Move block general configuration:

*ls click on the move block a configuration panel opens in the bottom of the windows.
Ports: are the ports where we connected our motor
Direction: a robot can move forward, backward or stop
Steering : give the example of the bicycle , how can a cyclist control the rotation of its bicycle. We will discuss this function later.
Power : explain the direct relation between POWER ENERGY and SPEED.
Duration: this parameter specify how long the robot will execute this block before going to the next block in the flowchart.
Next action: witch is a field that tells what to do after finishing this block. The robot will stop immediately execute breaks plus stopping power or will take it's time while stopping with just stop its power.

Application:
Make the robot move :))))




Week 2-2 The task bot


Hello,
In this class I have strongly insisted on the power of TEAM WORK!
TEAM WORK are not just  a couple of beautiful words. They have a big and a crucial meaning in the robotics engineering because simply no one can progress while working only with him self no helps no suggestions that's totally a big failure in the robotic world and this person simply wont  progress in his technical and social experience.
Robotics engineering must be done in groups of 2 or more even that I have enough kits for each student I chose to divide them into 5 groups of 3. every group has its table, desktop and it's lego mindstorm kit.

There are another essential factor  in robotics witch is competitions. So this groups or teams they will be always competing to each other to create a stressed work climate so the ls will be used to work and find solutions under pressure witch is the usual state of an engineer.

In this class ls teams must build there first robot with the mindstorm kits. The first robot is the fairly famous taskbot.
Taskbot is a 2 wheel drive robot with one guide wheel  an NXT brick and we can easily add sensors to its structure.

This pdf describe the building instructions:
http://www.education.rec.ri.cmu.edu/content/lego/building/build_shows/taskbot.pdf

make sure that all the groups finish there robot on time so you can move to the next course. 

Week 2-1 Parts identifications


In this class we opened for the first time our lego mindstorm kits that you can buy from here and discovered what's in there.
For this session I used this html page : http://www.education.rec.ri.cmu.edu/previews/robot_c_products/teaching_rc_tetrix_preview/fundamentals/nxt_hardware/parts/parts.html
It contains all the parts within a lego mindstorm kit and clearly devised them into sections.
During the class ls with the help of their teacher must identify each part and have a scratch on the surface idea about its functions.
For example in the electronics section start to identify first each of the parts and let the ls guess what can this part do.
At the end of this class
*ls must differ between the two main components of a robot (the mechanical structure and the electronics )
*ls must identify the main electronic component (the NXT) as it's the mind of their future robots?
*ls must know what's a sensor and what's an actuator witch one is an input and witch one is an output (whitch one is for collecting informations and witch one is for executing orders) for the nxt brick.

mercredi 15 août 2012

Week 1-2 The flowchart


Hello,
In our second class this week, we talked about a strong concept in programming nxt based robots witch is the flowchart. So what's the flowchart and why we need to learn it ? And how could this thing help us?

Try to start with an activity and a simple question:
The activity was to stand from one place and go drink a glass of water witch placed on a table three steps away.
The question then was what actions would a person do for making this specific task?

At first kids will try to guess (with the instructor help ) the motions needed to be done by a person and give a general idea about it.
something like this: stand -->walk --> drink the water.
After they all convinced of this task dividing ask this questions:
Can we walk before we stand?
Is it possible for us to drink water while we still walking?
So kids will realize that to get to our goal witch is drinking water we need to follow the exact order of this tasks.
We have already divided our general task to three sub tasks. from go drink water to stand -->walk --> drink the water.
No The second question:
Imagine that this person is a robot what are the other sub tasks needed to be done to "stand" to "walk"  and to "drink water".
Now every ls should start to guess all the little tiny tasks that needed to be done in order to achieve the bigger tasks.
Let them test and think for 30 minutes, then take their trials and evaluate every trial.
examples of trials you could find:
stand : move both legs together
walk: move first leg-->move second leg-->move first leg --> move second leg
drink: put forward right arm--> catch the glass --> move right arm to mouth --> DRINK WATER

some trials would be a little deeper than others, but the deeper the better.
There is no course about flowchart for now, they have to get the idea about ordering and dividing tasks to smaller tasks to achieve their goals.
The design of the flowchart will be studied in parallel with other stuff in the future.

dimanche 12 août 2012

Week 1-1 Introducing the world of robotics


Hello,
In the first week start to talk about robotics in general.
Try to start by asking some questions:

what's a robot?

{The robot is a structure that do something (this is very general) .
You could try this: robots are mechanical and electrical structures that moves.
Or you can just show some robots pictures and/or videos (iRobot, big dog, nao, )
In this specific question the little students (that I will call them "ls" from now) must know that robots are not just humanoids.

what can a robot do ?

Here ls will try to guess how can the robot be useful. The general answer would be helping mom in the kitchen due to Hollywood stuff.
Show some videos, and help them guessing the functions of a robot.
A robot can move, can transport things.
A robot can walk,  can detect obstacles etc...

What they shouldn't do?

Here you must insist that robots can not replace humans in emotional situations.
Ls must realize that robots only do what we order them to do nothing more and nothing less.
Give some examples; can robot replace your mom or dad?
Can robot be happy for you ?
Can we motivate a robot to improve his abilities ?etc...

Where can we find robots?

Home, industry, medicine, military, space, games, etc....

Are we really need robots?

This is the most important questions:
try to listen to your students guessing the answer while giving them some hints.
Robots are made to replace human in dangerous spots (give the example of curiosity robot) , to do a boring work all day. Robots are used to make precise measurements where error is not tolerated and many other stuff.
So the main idea is : Robots exist to help humans and not replace them!