1 / 18

Parallelism Day 12

Parallelism Day 12. Computer Programming through Robotics CPST 410 Summer 2009. Course organization. Course home page (http://robolab.tulane.edu/CPST410/) Lab (Newcomb 442) will be open for practice with 3-4 Macs, but you can bring your own laptop and all robots. Parallelism.

ramona-may
Download Presentation

Parallelism Day 12

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. ParallelismDay 12 Computer Programming through Robotics CPST 410 Summer 2009

  2. Course organization • Course home page • (http://robolab.tulane.edu/CPST410/) • Lab (Newcomb 442) will be open for practice with 3-4 Macs, but you can bring your own laptop and all robots. Harry Howard, CPST 410, Tulane University

  3. Parallelism Beams vs. tasks

  4. Multiple beams in NXT-G Open the Mindstorms app.

  5. Parking • Tribot, • drive straight forward for 1 rotations, • then drive forward turning to the right for 1 rotations, • then back up for 2 seconds. • When you are finished, display a locked lock for 3 seconds and reset the screen. • While you are backing up, • play a warning sound (! hydraulic 03). Harry Howard, CPST 410, Tulane University

  6. ParkBot.rbt, part 1

  7. The second part • How do you make Tribot play a sound while it backs up? • You need to pull out a new sequence beam. • Hold down shift key to pull out new beam. • Also, Tribot must play the sound continuously. • The next program is a good first try.

  8. ParkBot.rbt, Part 2, first try Harry Howard, CPST 410, Tulane University

  9. A problem • The problem is that the sound does not necessarily stop when Tribot stops backing up. • To do so, you have to ensure that the loop breaks when the backup motion has finished. • This can only be done with a logical variable.

  10. ParkBot.rbt, Part 2, final try

  11. Parallel beams = tasks in NXC Close the Mindstorms app, and open BricxCC.

  12. Task overview • An NXC program consists of at most 256 tasks, each of which must have a unique name. • There must always be a task named main, since this is the first task to be executed. • Another task will be executed • when a running task tells it to be executed; • if it is explicitly scheduled in main. • Tasks run simultaneously unless otherwise specified by scheduling statements. Harry Howard, CPST 410, Tulane University

  13. Task syntax and usage task name() { “statements” } • Start a task by means of the function: • StartTask(task) • Example • StartTask(sound); // start the sound task Harry Howard, CPST 410, Tulane University

  14. Parallelism • Even though tasks run simultaneously, the action performed by the task has to be programmed to run continuously. • So always put the action within an endless while loop: my_task() { while(true) { // do something } } Harry Howard, CPST 410, Tulane University

  15. Now translate the parking program to NXC Harry Howard, CPST 410, Tulane University

  16. Scheduling tasksp. 159 • Since tasks execute simultaneously, it takes special functions to schedule them: • Precedes(task1, task2, …, taskN); • Follows(task1, task2, …, taskN); • ExitTo(task); • Usage • Precedes and Follows should only be used once within a task, preferably at its beginning. • If multiple tasks declare that they precede or follow the same task, then they execute simultaneously. Harry Howard, CPST 410, Tulane University

  17. Halting the programp. 159 • Halt the program by stopping all tasks: • Stop(condition); • StopAllTasks; • Usage • The program halts after either command, so everything following them is ignored. Harry Howard, CPST 410, Tulane University

  18. Next time • E-mail me your final project • ideally, by the end of class on Monday; • or by Tuesday evening. • Drop off your robot at Newcomb 302, • between 9am and 5 pm, or • e-mail me to make an appointment for some other time. Harry Howard, CPST 410, Tulane University

More Related