1 / 54

Assistant

Robofest 2007 NXT Programming Workshop Jan. 27, 2007 CJ Chung Associate Professor of Computer Science Lawrence Tech University CHUNG@LTU.edu www.Robofest.net. Assistant . Joe Long. Agenda. Intro to NXT Construction of NXT basic model: TriBot

kacia
Download Presentation

Assistant

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robofest 2007NXT Programming WorkshopJan. 27, 2007CJ ChungAssociate Professor of Computer ScienceLawrence Tech UniversityCHUNG@LTU.eduwww.Robofest.net chung

  2. Assistant • Joe Long chung

  3. Agenda • Intro to NXT • Construction of NXT basic model: TriBot • Intro to NXT programming Language: Move, Loop, Sensors, Wait, Display, Switches, and My Blocks • 9 Class Missions (somewhat related to the Robofest Game 2007, Miner Rescue) • Programming Tips chung

  4. chung

  5. Robots to be used: TriBot • Robo Center, Quick Start Vehicle or small booklet in the retail version box • Left motor: A • Right motor: C chung

  6. Alternative guide to build the TriBot (Retail Version) • Launch the software, Mindstorms NXT • Robo Center -> Vehicles Quick Start -> TriBot Go -> Driving Base chung

  7. Software Installation • Usually be positive! Yes, Yes, Yes,… • After the installation you will see the following icon on your desktop chung

  8. Exercise 0 (First NXT program): Go forward for 2 sec. and stop (1/3) • Let’s name the program first • Click on Go >> button • You’ll see a programming palette chung

  9. First NXT program: Go forward for 2 sec. and stop (2/3) • Click on Move button • Drag and drop the move block to the canvas A C chung

  10. First NXT program: Go forward for 2 sec. and stop (3/3) • Change parameters for the Move • Port • Direction • Steering • Power • Duration • Next Action Block Configuration Panel chung

  11. How to run your 1st program (1/2) chung

  12. How to run your 1st program (2/2) • If “Found New Hardware” pops up, just follow the instruction • Click on “Download” button • Recommended to un-plug the cable from the bot • Press the orange button 4 times (Turn on, My files, Software files, Run your program entitled go2stop) chung

  13. How to rerun the program • Check the program name on the LCD • Press the orange button just once again chung

  14. Just watch: Go forward for 2 rotations and come back by reversing motors chung

  15. Ex 1: Go forward 720 degrees and come back by reversing motors chung

  16. NXT motors chung

  17. Embedded Rotation Sensor • Each motor has an embedded rotation sensor • 360 counts per rotation • The counter can be incremented or decremented • Distance traveled for a rotation of a wheel can be calculated: Circumference = 2 x radius x π chung

  18. Find out the distance a rotation of the wheels will travel (metric) • Method 1: Write a program to go for a rotation then measure the distance: almost 17cm • Method 2 • Measure the diameter of the wheels: 5.5 cm • Calculate Circumference: diameter x π • 5.5cm x π = 17.27cm chung

  19. stop Left wheel Right wheel Left wheel Right wheel stop Left wheel Right wheel Making Turns • Turn left: • Spin left: (point turn) • Face left: chung

  20. Spin Right 90 degrees chung

  21. Ex 2: Go forward 1.5 rotations and come back by spinning left • Spinning 180 degrees? chung

  22. Sensors • Light • Touch • Ultrasonic (Distance measurement) • Sound (microphone) • Rotation – embedded in the motors • Timer – Internal sensor • Received Bluetooth messages • NXT buttons chung

  23. Light Sensor • Percent mode • 5% - lowest dark • 100% - very bright • Reflected light mode: shines a red light • The light can be turned off – detecting ambient (surrounding light) • Live updates: See lower left corner, if your robot is connected to the computer via either USB or Bluetooth chung

  24. Light Sensor II • Press View | Select “Reflected Light” | Select input port number • On white area: 55%-65% • On black area: 43%-48% • If Live Update value is quite different from the View value, light sensor calibration was done (using menu Tools). Either use default or update firmware, to reset. • Light value is affected by the gap between the sensor and the floor chung

  25. Light Sensor Readings Source: HighTechKids.org chung

  26. Attach a Light Sensor • Facing down • Gap: around 0.5 cm -1 cm (What will be the problem if too close to the floor to solve the Miner Rescue problem?) • Port No. 1 chung

  27. Ex 3. Stop at Edge of the table chung

  28. Comments • Use balloon text tool • Add the following information • Author, when • Who made changes, when • How to use • Functions • Block descriptions • Assumptions: 1 - light • Expected results • Known bugs • Rooms to improve • Etc. chung

  29. Measure Light Sensor Values on the Miner Rescue field • White: • Black: • Foil: • Outside Edge: • Crack (gap) between home base and ramp: • Approaching down ramp • Approaching up ramp chung

  30. The gap between the Light sensor and the floor!!! • Both Reflected and Ambient light values are affected by the distance between the sensor and the floor! • The light sensor value is in inverse proportion to the gap Light sensor Light sensor chung

  31. Stop when it sees the black line on the Miner Rescue field chung

  32. Ex 4. Stop when it sees the 2nd black line on the Miner Rescue field What is wrong? chung

  33. How about stopping at the 4th line? • Loop (Repeat) Block Count = 4 chung

  34. Touch Sensor • Press View | Select Touch | Select input port number • If released (not pressed): 0 • If pressed: 1 • Is it sensitive? – it seems not • NXT-G can handle “Bumped” - (pressed and released) or (released and pressed) chung

  35. Attach a Touch Sensor • Port No. 2 chung

  36. Ex. 5 Loop until a touch sensor is pressed Display seconds until touch sensor is pressed. chung

  37. Line following - Zigzag methods chung

  38. Ex 6. Follow the black line until a touch sensor is pressed For Robofest field, the power should be less than 40 Switch chung

  39. Ex 7. Follow the line until it detects the foil • Need more power to climb • Use rotation sensor to locate the robot chung

  40. Ex 8. Follow the line until it climbs back to the home base chung

  41. How to improve line following? • Three way branch • … • Use two light sensors • http://home.earthlink.net/~xaos69/NXT/Line_Follower/Line_Follower.html • http://www.teamhassenplug.org/NXT/ - Steve H’s line following block chung

  42. Ex 9. Follow the line until it climbs back to the home base – Use My Blocks chung

  43. My Blocks • Wrap a procedure into a package • To do the same thing from different places; to reuse code; to make code non-redundant • To divide a large task into smaller meaningful modules (provide structure) • To hide complex details chung

  44. How to create MyBlocks • Start with working code • Highlight blocks to include • Click the “Create My Block” button • Name the MyBlock • Describe the MyBlock • Build icon(s) • MyBlock replaces the selected Blocks chung

  45. How to reuse the MyBlock • Select it from the Custom Tab chung

  46. Ultrasonic Sensor • Uses the same scientific principle as bats: it measures distance by caluclating the time it takes for a sound to hit an object and return – just like measuring an echo. • Measures in centimeters and in inches • 0 to 255 cm (or 0 to 100.4 inches, 8.4ft) • Precision of +/- 3cm (1.2 inches) • Press View | Select Ultrasonic cm | Select input port number chung

  47. Ultrasonic Sensor II • Large-sized objects with hard surfaces return the best readings • Objects made of soft fabric or that are curved (like a ball) or are very thin can be difficult for the sensor to detect • Note that two or more Ultrasonic sensors operating in the same room may interfere with each other’s reading • Connect an ultrasonic sensor to port no. 4 chung

  48. Can you guess what the following program is behaving? chung

  49. The same program – event driven chung

  50. Not covered advanced topics • Variables • Multiple tasks & Synchronization of multiple tasks • … chung

More Related