Presentation is loading. Please wait.

Presentation is loading. Please wait.

1chung Robofest 2007 NXT Programming Workshop Jan. 27, 2007 CJ Chung Associate Professor of Computer Science Lawrence Tech University

Similar presentations


Presentation on theme: "1chung Robofest 2007 NXT Programming Workshop Jan. 27, 2007 CJ Chung Associate Professor of Computer Science Lawrence Tech University"— Presentation transcript:

1 1chung Robofest 2007 NXT Programming Workshop Jan. 27, 2007 CJ Chung Associate Professor of Computer Science Lawrence Tech University

2 2chung Assistant Joe Long

3 3chung 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

4 4chung

5 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

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

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

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

9 9chung 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

10 10chung 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

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

12 12chung How to run your 1 st 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)

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

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

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

16 16chung NXT motors

17 17chung 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 π

18 18chung 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

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

20 20chung Spin Right 90 degrees

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

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

23 23chung 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

24 24chung 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

25 25chung Light Sensor Readings Source: HighTechKids.org

26 26chung 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

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

28 28chung 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.

29 29chung 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

30 30chung 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

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

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

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

34 34chung 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)

35 35chung Attach a Touch Sensor Port No. 2

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

37 37chung Line following - Zigzag methods

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

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

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

41 41chung How to improve line following? Three way branch … Use two light sensors /Line_Follower/Line_Follower.html /Line_Follower/Line_Follower.html - Steve Hs line following block

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

43 43chung 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

44 44chung 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

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

46 46chung 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 inches, 8.4ft) Precision of +/- 3cm (1.2 inches) Press View | Select Ultrasonic cm | Select input port number

47 47chung 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 others reading Connect an ultrasonic sensor to port no. 4

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

49 49chung The same program – event driven

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

51 51chung NXT Programming Tips Out of Memory problem Do not use sound file Do not display graphics Minimize number of programs on NXT Delete unnecessary programs Debugging Gradually, not all at once Display Tone

52 52chung Tips for Robofest 2007 Game Line following is required? Ultrasonic sensor – No. 3 ball May be light sensor for No. 4 ball in the tunnel NXT conversion cable: you can use your existing RCX sensors and motors with the NXT brick! (3 cables for $10)

53 53chung Please go through Getting Started and Software Overview after this workshop

54 54chung Where to get additional Lego blocks? eBay for Legos


Download ppt "1chung Robofest 2007 NXT Programming Workshop Jan. 27, 2007 CJ Chung Associate Professor of Computer Science Lawrence Tech University"

Similar presentations


Ads by Google