Advertisement
Guest User

Untitled

a guest
Nov 7th, 2012
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.30 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.util.Queue;
  3.  
  4. import lejos.nxt.MotorPort;
  5. import lejos.nxt.NXTRegulatedMotor;
  6.  
  7.  
  8. public class FollowerRobot extends Robot {
  9.     private NXTRegulatedMotor leftMotor;
  10.     private NXTRegulatedMotor rightMotor;
  11.    
  12.     private Queue<int[]> followData = new Queue<int[]>();
  13.    
  14.     public FollowerRobot(MotorPort leftMotorPort, MotorPort rightMotorPort) {
  15.         leftMotor = new NXTRegulatedMotor(leftMotorPort);
  16.         rightMotor = new NXTRegulatedMotor(rightMotorPort);
  17.     }
  18.    
  19.     public void follow() {
  20.         Thread communications = new Thread(new Communicate());
  21.         communications.run();
  22.         while (true) {
  23.             if (!followData.empty()) {
  24.                 int[] distances = followData.pop();
  25.                 leftMotor.setSpeed(distances[0]);
  26.                 rightMotor.setSpeed(distances[1]);
  27.                 leftMotor.rotate(distances[0], true);
  28.                 rightMotor.rotate(distances[1]);
  29.                 leftMotor.waitComplete();
  30.             }
  31.         }
  32.        
  33.     }
  34.    
  35.     public void getTachoCounts() {
  36.         int[] temp = new int[2];
  37.         try {
  38.             if (inputStream.available() != 0) {
  39.                 temp[0] = inputStream.readInt();
  40.                 temp[1] = inputStream.readInt();
  41.                 followData.push(temp);
  42.             }
  43.         } catch (IOException e) {
  44.             e.printStackTrace();
  45.         }
  46.     }
  47.    
  48.     private class Communicate implements Runnable {
  49.         public void run() {
  50.             while (true) {
  51.                 getTachoCounts();
  52.             }
  53.         }
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement