Download presentation
Presentation is loading. Please wait.
1
Robofest 2007 NXT Programming Workshop Jan
Robofest NXT Programming Workshop Jan. 27, 2007 CJ Chung Associate Professor of Computer Science Lawrence Tech University 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 π Or diameter x phi 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
Making Turns Turn left: Spin left: (point turn) Face left: Left wheel
Right wheel stop 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 Reflected light mode: shines a red light
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 stopAtBlackLine.rbt 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
Need to skip the black line 0.1 rotation is OK 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
File name: DisplaySec No event; Same as do while 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 - 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 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?
utraTst2.rbt Data driven chung
49
The same program – event driven
chung
50
Not covered advanced topics
Variables Multiple tasks & Synchronization of multiple tasks … chung
51
NXT Programming Tips “Out of Memory” problem Debugging
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 chung
52
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) chung
53
Please go through Getting Started and Software Overview after this workshop
chung
54
Where to get additional Lego blocks?
eBay for Legos chung
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.