Parallelism day 12
Download
1 / 18

Parallelism Day 12 - PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Parallelism Day 12' - ramona-may


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Parallelism day 12

ParallelismDay 12

Computer Programming through Robotics

CPST 410

Summer 2009


Course organization
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


Parallelism

Parallelism

Beams vs. tasks


Multiple beams in nxt g

Multiple beams in NXT-G

Open the Mindstorms app.


Parking
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



The second part
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.


Parkbot rbt part 2 first try
ParkBot.rbt, Part 2, first try

Harry Howard, CPST 410, Tulane University


A problem
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.



Parallel beams tasks in nxc

Parallel beams = tasks in NXC

Close the Mindstorms app,

and open BricxCC.


Task overview
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


Task syntax and usage
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


Parallelism1
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


Now translate the parking program to nxc
Now translate the parking program to NXC

Harry Howard, CPST 410, Tulane University


Scheduling tasks p 159
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


Halting the program p 159
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


Next time
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


ad