Skip to main content

Posts

OpenMV

We used OpenMV camera to detect the two type of evacuation zones , green and red , when our robot detects the Evacuation Zone  , it goes backward a little so it can raise its arm so its OpenMV can see a good amount of the evacuation zones color.  For recognizing colors we made four color ranges and named them "LAB", two for green and two for red. one of them is for shadow light environment , and the other is for normal light environment, so it can detect the color correctly in any conditions. When our robot detects the Evacuation Zone  it try's all of the four color ranges to understand witch Evacuation Zone  it is. also we set them in a way that in any light environment they work. As we said in the OpenMV Electronic Blog  our connector witch we used to connect OpenMV to our Sensor Board has three digital pins , so it will have eight different modes (2³) but we only used three of them , Red , Green , and nothing.

Line Following

 We used some coefficients in this function that we get from putting our sensors on the green color, using this coefficients in our program, robot will follow the line perfectly , this coefficients are different in our sensors.  We put our center IR Sensor in third priority because if we wrote it in main priority it wouldn't be able to do next conditions. We made a function named "Time No Act" it works when robot follows a line and it 45 angel goes below degrees, in this function robot only goes forward until the tiles with under 45 degrees.

Rescuing Victims

IR Sensor's are on the side of our robots arm to detect victims , when it caught the victims , it should understand that the victim is dead or alive , as the alive victims are conductive , we covered our grippers in alumimium foil and connected one of them to data and the other one to GND this will act like a key. To Separate our victims our separator and gripper moves. And for finding the red and green evacuation zone we used three OpenMV cameras to detect them. when our robots two front microswitches hits , it would detect a wall or evacuation zone and we should separate them using its ultrasonic , if its distance was more than a certain amount it will detect the evacuation zone. When it detected the evacuation zone now it should know that witch evacuation zone is that , red or green. For detecting them it raises its arm so it can detect the type of evacuation zone, because the OpenMV camera is under its arm. Our robot holds the victims witch it shouldn't drop using its se

Green Detection

we made easier to detect the hardest colors with some coefficient, this coefficient are divide green by red , green by blue and blue by red. With placing two color detection sensor on our Sensor Board  and seeing the numbers of this coefficients and also setting them on our robot menu using our TFT Display  we can make sure of our robots green detection. As we have two states for the robots rotation on the green color 90 and 45 degrees we should separate this two states. when the robot reaches intersection it goes forward a bit , after that if the facing tile is white , robot will rotate 45 degrees and follow the line. If the facing tile is a black line robot will rotate 90 degrees and follow the line.

Ramp

 We used some functions and variables for ramp detection such as: Two line following function on the uphill and downhill with a important variable named "time slow". Robot will detect the ramp using gyroscope , if its angel is above or equal 25 degrees it will detect the ramp and it will lower it arms and boosts itself and also it will speed up, after going trough the ramp when its angel is zero degrees it will lower its speed and goes back to the normal mode. and because after any uphill ramp a downhill ramp exists with using time slow variable it will lower its line following speed so it can go down form a downward ramp correctly. Also our wheels helps our robot to go up the ramp using double friction.

Obstacle

we recognize the obstacle with the distance meter (ultrasonic) or the microswitch that is in front of the robot, after the detection: If the robot detects the obstacle with the distance meter it will: 1-goes backward , 2-turns 90 degrees , 3-goes straight for a bit , 4-turns 45 degrees If the robot detects the obstacle with its microswitch's it will: 1- if the left microswitch hits the obstacle it will goes leftward until the distance meter sensor detects the obstacle.   2- if the right microswitch hits the obstacle it will goes rightward until the distance meter sensor detects the obstacle.