Presentation is loading. Please wait.

Presentation is loading. Please wait.

EN1002 - Engenharia Unificada I PROGRAMANDO O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas.

Similar presentations


Presentation on theme: "EN1002 - Engenharia Unificada I PROGRAMANDO O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas."— Presentation transcript:

1 EN1002 - Engenharia Unificada I PROGRAMANDO O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas

2 Outline NXT capabilities Software development options Introductory programming projects Advanced programming projects

3 The LEGO Mindstorms® is a robotic building system consisting of: The NXT Intelligent Brick: the brain of the system Sensors and servo motors LEGO TECHNIC Elements Programming software Lego Mindstorms NXT

4 Project Implementation The system: PC with USB Bluetooth adapter, running control LabVIEW software and an NXT sensor- equipped robotic vehicle

5 NXT Brick Features 64K RAM, 256K Flash 32-bit ARM7 microcontroller 100 x 64 pixel LCD graphical display Sound channel with 8-bit resolution Bluetooth radio Stores multiple programs Programs selectable using buttons

6 Sensors and Motors Four sensor ports Sonar Sound Light Touch Three motor ports Each motor includes rotation counter

7 Touch Sensors Education kit includes two sensors Much more robust than old RCX touch sensors

8 Light Sensor Reports light intensity as percentage Two modes Active Passive Practical uses Identify intensity on paper Identify lit objects in dark room Detect shadows

9 Sound Sensor Analogous to light sensor Reports intensity Reputed to identify tones I haven’t experimented with this Practical uses “Clap” to signal robot

10 Ultrasonic (Sonar) Sensor Reports distances Range: about 5 cm to 250 cm In practice: Longer distances result in more missed “pings” Mostly reliable Occasionally gets “stuck” Moving to a new location helps in receiving a sonar “ping”

11 Motors Configured in terms of percentage of available power Built-in rotation sensors 360 counts/rotation

12 Getting Started with NXT LEGO and the LEGO Mindstorms Software

13 Putting Commands in a Program The commands get executed in a row by how far away they are from the beginning of the beam. So, command 1 in this picture happens first, and command 3 happens last. This is the program beam. This is where you put commands for the robot.

14 Using Commands You can pull commands down from the “palette” on the left side of the screen to the program beam. We’ll start with the MOVE command.

15 Move Settings When you put a new command in the program, settings pop up at the bottom that you can change. These are the settings for the MOVE command.

16 Direction 1.Up means forward, down means backward. 2.The “Do Not Enter” sign means “stop.” If you use this setting, nothing will happen to the robot’s movement unless it is already moving when this command is given.

17 Steering 1.The STEERING setting can be used to tell the robot to turn to the left or to the right. 2.The arrow in the middle will change to give you an idea of how the robot will move. 3.If the slider is moved all the way to the left or right, the robot will spin in place. 4.However, if the slider is moved to just before the extreme left or right, the left or right wheel (respectively), will not rotate during movement. (In other words, the robot will pivot.

18 Power 1.The POWER setting tells the robot how fast to move. 2.Think of it as a percentage, with 0 being no power and 100 being full power. 3.Also keep in mind that this is not necessarily a measure of speed. A heavy robot moving at 100 power can still go slower than a very light robot moving at 50 power.

19 Duration 1.With the DURATION setting, you can tell the robot how long or how far to move. 2.There are four options for the duration: Unlimited: The robot will continue to move with these settings until it is given a new movement command. Rotations: For each rotation, the wheels turn through 360 degrees. So, going forward 2.5 rotations would make the wheels rotate 2.5 x 360 = 900 degrees. Degrees: Same as rotations, but specified in degrees of rotation. Seconds: Amount of time for wheels to rotate at the given speed.

20 Putting the Settings Together The actual movement of the robot is a combination of all of the settings. Some examples: You tell the robot to turn to the left using STEERING and set the DURATION to three rotations. Both wheels can’t do three rotations, because if they did, the robot would move straight. So, the robot’s computer figures out how far to turn each wheel to make the robot drive to the left on a path that is equivalent to three rotations of the wheels. If you set the POWER to 75, then setting different DURATIONS in seconds will make the robot move different distances. When making the robot turn, it usually makes the most sense to pull the STEERING slider all the way to the left or right. When you do this, each wheel will rotate the same amount (which can be set with DURATION in rotations mode), but in opposite directions.

21 Issues for First-Timers There are a lot of small issues that can put off new users to the NXT robots and software. Hopefully these pointers can help you get started! When the NXT software is first loaded on the computer, in order to create a program, you need to give it a name and hit GO as shown in this picture.

22 Issues for First-Timers As shown in the picture on the right, there are tabs at the bottom that bring you to different palettes of programming tools. The “Common Palette” (shown as the green circle) has most of the tools a beginning student should need. Also, If you have a lot of commands on the screen at once, you might want to move around the programming area so that you can have more room or see commands that are off the screen. You can move around the programming area with the arrow keys on the keyboard.

23 Issues for First-Timers “Where did my settings go?” If you hear this, this usually means that the student has clicked away from the command for which they want to change the settings. If you put the mouse cursor over the command you want to change, it will have a blue highlight and the settings will reappear below the programming window. Click

24 Issues for First-Timers When you have finished building the program for the robot, it’s time to download it to the robot’s NXT brain. First, make sure that the USB cable that came with the NXT kit is plugged into the back of the computer and into the top of the NXT robot. Then, turn on the robot with the orange button on the NXT brain. (It doesn’t really matter whether you plug the robot in or turn it on first.)

25 Issues for First-Timers When you plug in the robot for the first time, the computer has to figure out how to talk to the robot before you can put the program on it. (For the computer savvy, the operation system installs the NXT drivers.) You don’t have to do anything for this, but it’s a good idea to wait about one minute after you have turned the robot on and plugged it into the computer. If you don’t, you might get an error message. Once the robot is on and plugged in, you can hit the “download” button (pointed out in the picture below). You should get a “Complete!” message on the computer screen if it downloaded correctly.

26 Issues for First-Timers Once the program is downloaded on the NXT brain, you use the buttons on the front of the brain to run the program. You use the orange button to select items on the screen, and the dark gray button to back up in the menus. (They’re a little like the green and red buttons on a cell phone.) The arrow buttons move left and right in the menus. To run the program you downloaded, you first need to find it. From the main menu, programs you download are located in My Files->Software Files. The program you downloaded should be called by the same title you gave it at the beginning. If you press the orange button when you find your program, you will be given the option to Run or Delete the program. Choose Run to see if the program did what you wanted!

27 Issues for First-Timers If you are finished with the robot, you can turn it off by hitting the dark gray button from the main menu on the NXT brain. You will be asked if you want to turn the robot off. Select the checkmark to say OK. The NXT brain only has a limited amount of space to store programs. It’s not a bad idea to go into the My Files->Software Files folder and delete old programs from time to time so that you won’t run out of space. If you are running the Mindstorms software at a school, you probably have a tech specialist that installs software for you. You will probably need to ask the tech specialist to install the software for the first time. Make sure he or she knows that the students in your class are going to need to be able to run the program. Also for the tech specialist: The LEGO Mindstorms software is not compatible with display resolutions below 1024 by 768 pixels. Make sure before you need to use the software in your class that all of the computers you will use are set to this resolution or higher.

28 The Problem-solving Process What is the robot’s task? What behaviors are needed to accomplish it? Create the program – debug then download. Run the program. Is the NXT behaving badly (doesn’t do task)? Check the robot first. If there’s a problem, can you fix it? Next, check the program. Problem? Can you fix it? Last, go back to the beginning and reread the task. Does your program really tell the robot what it’s supposed to do?

29 Challenge 1: Line Program Create and test a program to make the robot go forward in a straight line for exactly 1 second Save your program as your first name and Line (e.g., File  Save as Maria Line  Enter)

30 Challenge 2: Square Program Create and test a program to make the robot go in a square Save your program as your first name and Square

31 Challenge 3: Light Dark Program Create and test a program to make the robot: Go forward until it finds a dark line Stop for 1 second Go forward until it finds light Stop for 1 second Reverse for 4 seconds Save your program as your first name and Light Dark

32 Challenge 4: Tracker Program Create a program to make the robot: Go forward until it finds a dark line Move forward along the edge of the line Save your program as your first name and Tracker Hints: You need a loop, and it’s easier if the robot starts at less than a 90  angle

33 Challenge 5 – Bump Program Create a program to make the robot: Go forward until it finds a wall Turn moving backward for 2 seconds Repeat these behaviors for 5 “wall bumps” Save your program as your first name and Bump Hint: You’ll need to use wait until Touch in for the first step.

34 Bonus Beep Challenge Create a program to make the robot: Go forward until it finds a line Stop for 1 second and beep Repeat for 5 lines For fun, end with a different sound Save your program as your first name and Beep

35 Sample ROBOLAB Programs

36 Sample NXT Programs Challenge 2 – Square with a sound Challenge 1 – Forward for 1 second Challenge 3 – Detecting Light/Dark

37 NXT Programming Details Select a motor icon (you’ll see a blue border around it) to open its control panel - displayed at the bottom of the screen Additional control panels for sensors and wait for icons have similar displays

38 Due to the limited amount of memory available for the NXT, all currently installed sound files should be deleted Sound files take up a lot of space and should be used selectively Use the same sound file repeatedly in stored programs to cut down on memory usage NXT Programming Details (cont’d)

39 ROBOLAB Basics Go to RCX settings in Administrator to unlock programs 1 and 2. Single-click the silver Programmer button Double-click the Inventor 4 button. Maximize the lower Block Diagram window. Drag the Function bar to move the Functions palette to the lower right of the window. If the Block Diagram window is accidentally closed, open it by hitting Window -> Show Block Diagram. Hit Tab key to switch from hand to cursor tool.

40 ROBOLAB Basics (cont’d) Hit spacebar to toggle between cursor and wiring tool. Hit Esc to escape sticky wires. Click on a wire or icon and hit Del to remove it. Drag an icon within a cm of another, then with the mouse still down, tap the spacebar to shoot a wire between the icons. Ctrl + B removes broken or partially deleted wires. Right-click an icon to replace it with another using a new popup Functions Palette.

41 ROBOLAB Basics (cont’d) Always break a wire instead of placing a new icon on top of the wire; otherwise, the icon looks wired when it isn’t. Click on Help-Show context help, then on the icon itself in the block diagram to learn more about a ROBOLAB icon, including seeing what modifiers each icon requires and where to attach them and to see the icon in a sample program. If the white download arrow under Edit is broken, click on the broken arrow for information about where the program is miswired.


Download ppt "EN1002 - Engenharia Unificada I PROGRAMANDO O LEGO MINDSTORMS Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas."

Similar presentations


Ads by Google