All Downloads are FREE. Search and download functionalities are using the official Maven repository.

lejos.robotics.navigation.RotateMoveController Maven / Gradle / Ivy

Go to download

leJOS (pronounced like the Spanish word "lejos" for "far") is a tiny Java Virtual Machine. In 2013 it was ported to the LEGO EV3 brick.

The newest version!
package lejos.robotics.navigation;

public interface RotateMoveController extends MoveController {
  /**
   * Rotates the NXT robot the specified number of degrees; direction determined by the sign of the parameter.
   * Method returns when rotation is done.
   * 
   * @param angle The angle to rotate in degrees. A positive value rotates left, a negative value right (clockwise).
   */
  public void rotate(double angle);  
  /**
   * Rotates the NXT robot the specified number of degrees; direction determined by the sign of the parameter.
   * Method returns immediately if immediateReturn flag is true,  otherwise returns when rotation is done.
   * @param angle The angle to rotate in degrees. A positive value rotates left, a negative value right (clockwise).
   * @param immediateReturn  If true, method returns immediately,  otherwise blocks until rotation is complete.
   */
  public void rotate(double angle, boolean immediateReturn);
  /**
   * sets the rotation speed of the robot (the angular velocity of the rotate()
   * methods)
   * @param speed in degrees per second
   */
  public void setAngularSpeed(double speed);
  
  /**
   * Returns the value of the rotation speed
   * @return the rotate speed in degrees per second
   */
  public double getAngularSpeed();

  /**
   * returns the maximum value of the rotation speed;
   * @return max rotation speed
   */
  public double getMaxAngularSpeed();
  
  /**
   * Sets the acceleration at which the robot will accelerate at the start of a move and decelerate at the end of a move.
   * Acceleration is measured in units/second^2. e.g. If wheel diameter is cm, then acceleration is cm/sec^2. 

* If acceleration is set during a move it will not be in used for the current move, it will be in effect with the next move. * @param acceleration in chosen units/second^2 */ public void setAngularAcceleration(double acceleration); /** Returns the acceleration at which the robot accelerates at the start of a move and decelerates at the end of a move. * @return acceleration in chosen units/second^2 */ public double getAngularAcceleration(); public void rotateRight(); public void rotateLeft(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy