Lego Robot Construction Project. Adam, Roger, Lu, Riana, Paul.

Slides:



Advertisements
Similar presentations
An Introduction to C Adam Gleitman – IAP 2014.
Advertisements

Graphical RobotC NXT (EV3) Robot Workshop 2015 Instructor: Dr. Fred Brauchler Assistant: Chris Parker 2/7/2015Lawrence Technological University1.
Sensors.
Robot Construction Basics Les Turner Director of Technology, Northern Indiana ESC Head Coach, Bremen Botz!
Group Four Catherine Fahey, Steven Falzerano, Nicollette Fernandez, Eliot M. Fine and Stefan Toubia.
Autonomy using Encoders Intro to Robotics. Goal Our new task is to navigate a labyrinth. But this time we will NOT use motor commands in conjunction with.
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
Group 6 Taylor Gould, Olivia Graffis, Taylor Guidon and Bdho Gdeh.
 Project 1: To build and program a robot that will follow a solid black line, make a U-turn, and follow the line back to the start.  Project 2: To understand.
IR SENSORS AND ENCODERS. LCDs Timothy Friez Class # 2.
1 ©2006 INSciTE Lab Two Task: Make the program from Lab One (Move forward 5 rotations and turn right 90 degrees) into a MyBlock.
Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lab 7P. 1Winter Quarter Stop Light Lab 7.
Final Review Powerpoint
Sensors for use in this class. Sensors 2 Robotics: Bridgewater state college.
Adapted for STLP Camp ‘09 Mobile Robots Why do robots need to move?
Why do robots need to move?
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class 2.
Group 1 Casey Byers Nick Johnson Felix Liu Matt Long.
Members (from left to right): Rachel Bevill, Brae Bower, Samantha Cherbonneau, Professor Ahmadi, Anthony Contreras.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 3.
Available at: Lesson 3.6 – Program Line Follower in Autonomous Mode Program Line Follower in Autonomous Mode.
The Batmobile and Centrifuge November 11, Members (from left to right): Rachel Bevill, Brae Bower, Samantha Cherbonneau, Professor Ahmadi, Anthony.
DRIVE BASE SELECTION AN INTRODUCTION TO DRIVE TRAINS.
Sound, Touch Sensor, and Motors. Wheeled Vehicles Using the Pilot class: –Constructor Pilot(float wheelDiameter, float trackWidth,Motor leftMotor, Motor.
ECE 001 Final Presentation: Escape from Maze and Biomedical Centrifuge Experiment Scott Trocchia The George Washington University Computer Engineering.
David GiandomenicoFeedback Control for your FIRST Robot’s DrivetrainDec 2010 WRRF Workshops #1 David Giandomenico Team mentor for Lynbrook Robotics – Team.
ECE 001: Team Awesome Patel, Hetal Odobasic, Stephen Rajeevan, Sushmitha Noel, Kelli Patel, Hetal Odobasic, Stephen Rajeevan, Sushmitha Noel, Kelli.
Robot sensors MVRT 2010 – 2011 season. Analog versus Digital Analog Goes from 0 to 254 Numerous values Similar to making waves because there are not sudden.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering –Intro to the Robotics –Introducing the IC –Discuss.
The George Washington University Department of ECE ECE 1010 Intro: Electrical & Computer Engineering –Introducing KIPR Link/Interface and Set-up –Continuation.
Available at: Lesson 3.5 – Program Light Sensor in Autonomous Mode Program Light Sensor in Autonomous Mode.
Technical Writing for Robotic Coding!.  du/products/teaching_robotc_cort ex/fundamentals/introtoprogramm ing/thinking/videos/fundamentals.
Wall Encounter By Made easy by Dwayne Abuel.
2008 SBPLI/FIRST Programming Workshop Tom Boehm Patchogue Medford High School, Team 329 Motorola Inc. Mark McLeod Hauppauge High School Team 358 Northrop.
Robotics Challenges. Challenge Slide 2 Have your robot make a left curved turn around your Lego person. Go forward, then reverse. Come to a stop, play.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4.
Erin Halseth, Will Gottschalk, Briana Warschun, and Michaella Gaines
Engineering H193 - Team Project Gateway Engineering Education Coalition Lab 1P. 1Spring Quarter Introduction to Sensors Lab 1.
Lesson 4: Conditional Statements Programming Solutions.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4/Lab3.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
ECE 002 Robots and Sensors Group 14. Objectives Research sensors and their usefulness to analyze data Research sensors and their usefulness to analyze.
Oregon Robotics Tournament and Outreach Program RCX Basics.
Rescue Robot Day 2 Exploring Computer Science Lesson 6-11.
The George Washington University Electrical & Computer Engineering Department Dr. S. Ahmadi Class 3.
Deriving Consistency from LEGOs What we have learned in 6 years of FLL by Austin and Travis Schuh © 2005 Austin and Travis Schuh, all rights reserved.
1 The George Washington University Electrical & Computer Engineering Department ECE 1010 Intro To Electrical and Computer Engineering Dr. S. Ahmadi Class.
Mobile Robots Why do robots need to move?. What defines a robot? Sense – a robot has to take in information about its environment Plan – a robot has to.
Robotics Programming Wall Follow Line tracking for a set amount of time Line tracking for a distance.
ROBOTC for CORTEX Teacher Training © 2011 Project Lead The Way, Inc. Automation and Robotics VEX.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4.
Presentation Outline I. Background Information II. Design Project
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Intro to the Robotics Introducing the IC Discuss.
Deriving Consistency from LEGOs
VEX IQ Mix & Match Curriculum
Friction.
This is the Lego NXT ->
Stop Light Lab 7 Winter Quarter.
Introducing KIPR Link/Interface and Set-up
What is a Robot? A Electro-Mechanical system Plus Artificial intelligence Can do certain tasks that human like Robot Arm Honda Asimo Robot Fish Robot Vacuum.
Automation and Robotics
Current in a Magnetic Field
An Introduction to VEX IQ Programming with Modkit
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 5.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4.
Lesson 3: Sensor Wait-for’s Programming Solutions
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4.
Oregon Robotics Tournament and Outreach Program
Exploring Computer Science Lesson 6-11
Presentation transcript:

Lego Robot Construction Project

Adam, Roger, Lu, Riana, Paul

Learn the basics of the Interactive C program. Learn how processors and sensors work within the Interactive C program. Design a code that would allow the robot perform the following tasks: Follow a path set down by thick black tape. At the end of the path, make a u-turn and return to its starting position.

 1 handyboard  RJ-11 Cable  Serial Port interface  C AdapterSerial Port cable (25 pin to 9 pin)  2 large wheels  2 small wheels  Computer running Interactive C 8.0  Lego pieces  2 motors  2 analog light sensors

void main () { int lap; /* create a counter to count how many times the the robot has completed the course*/ int rightsensor; // creates variable for the right sensor int leftsensor; // creates variable for the left sensor while (start_button ()==0) {} /*while start button is not pushed, do nothing*/ while (1) // one infinite loop { leftsensor=analog(5); // defines left sensor as analog 5 rightsensor=analog(6); // defines right senor as analog 6 if ((leftsensor < 150) && (rightsensor < 150)) /* if neither sensor is touching black lines, the robot moves forward*/ { motor(1,15); motor(3,15); } else if ((leftsensor = 150)) /* if the left sensor reads white and the right sensor reads black, the robot will turn right*/ { motor (1,100); motor (3,-100); } else if ((leftsensor >= 150) && (rightsensor < 150)) /* if the left sensor reads black and the right sensor reads white, the robot will turn left*/ { motor (1,-100); motor (3,100); }

else // if both sensors read black { if (lap <1) /*if the robot has only completed 1 lap, then it will turn around and do follow the track for its second lap*/ { lap = 0; ao (); sleep (2.0); motor (1,-50); motor (3,50); sleep (1.25); lap++; } else // if the robot has completed the course, it will shut off { ao (); break; } ao (); //all motors will shut off }

 Build body  Wheels or tread?  We chose a high starting speed but had to adjust it  We assigned jobs according to talent- worked out well  Order of creation  Body and program created  Test runs made  Corrections made to program for efficiency

 The lack of Gears - without gears there is less torque, therefore turns are harder.  Friction - the friction forced our wheel off.  Program - we had to cover all possibilities that the sensor could read.  Motor Strength - without gears we had to constantly test the speed. If the strength was too weak, the robot did not turn. If it were to strong, it flew off the S curve.  Completed the S curve without gears.  Completed the course with full speed.  Created three successful codes, in which one implemented a break statement.  Built a sturdy robot that had the head of R2D2. ChallengesSuccesses

 Creating a centrifuge to accelerate the separation of oil from water.  How?- Put the substance in circular motion in order for the centrifugal force to separate oil from water more quickly.  Using the skills obtained from this project to apply to real life situations. - The separation of proteins and DNA - Sedimentation of cells and viruses -Separation of certain substances for purification purposes.

 a device that separates liquids based on their density  driven by an electric motor  puts an object in rotation around a fixed axis, applying a force perpendicular to the axis.

 void main()  {  int speed = 0;   float separation_time=4.0 ;  float ramp_time= 0.1   printf ("\nPress start to being?");  while (start_button() == 0) {}   // read value of oil + water mixed up  while (stop_button()==0)  {  printf ("\n mixed up value=%d", analog (20));  sleep(0.2);  } // ramp up motor while (speed < 100) { // turn on motor at ?speed? motor(1, speed); // sleep for ramp_time sleep(ramp_time); // increment speed variable speed = speed + 1; } // full speed ahead! sleep ( separation_time ); // ramp motor down while (speed > 0) { // do the reverse of ramp up loop motor(1, speed); sleep(ramp_time); speed = speed - 1; } ao(); }

Trial # Sensor Reading (before separation) Sensor Reading (after separation) Ramp UP time (s) Time separation (s) Ramp DOWN time (s) oilwater Motor Power (%) t2 t t1 100 Conclusion: With longer ramp up time and separation time, the oil and water will be separated more clearly.

 We tested the sensor for each change in environment so that our robot would remain on the right path.  We used a break statement to end the nearest while loop and to successful complete two laps.  We played with the adjustment of the speeds of the motors to successful turn as smooth as possible.  We wanted to add gears to increase torque and make the turns easier.  We wanted to use a code without a break statement. What we’ve learned… What we wanted to add…