device
Class Position2d

java.lang.Object
  extended by device.Device
      extended by device.RobotDevice
          extended by device.Position2d
All Implemented Interfaces:
IDevice, java.lang.Runnable

public class Position2d
extends RobotDevice

2D Position device of a robot.


Field Summary
(package private)  boolean isNewSpeed
           
(package private)  Position pos
           
(package private)  Position setOdometry
           
(package private)  double speed
           
(package private)  double turnrate
           
 
Fields inherited from class device.RobotDevice
device, deviceNode, logger
 
Fields inherited from class device.Device
deviceList, host, id, index, isRunning, isThreaded, port, sleeptime, thread
 
Fields inherited from interface device.external.IDevice
DEVICE_ACTARRAY_CODE, DEVICE_AIO_CODE, DEVICE_AUDIO_CODE, DEVICE_AUDIODSP_CODE, DEVICE_AUDIOMIXER_CODE, DEVICE_BLINKENLIGHT_CODE, DEVICE_BLOBFINDER_CODE, DEVICE_BUMPER_CODE, DEVICE_CAMERA_CODE, DEVICE_DEVICE_CODE, DEVICE_DIO_CODE, DEVICE_ENERGY_CODE, DEVICE_FIDUCIAL_CODE, DEVICE_GPS_CODE, DEVICE_GRAPHICS2D_CODE, DEVICE_GRAPHICS3D_CODE, DEVICE_GRIPPER_CODE, DEVICE_HEALTH_CODE, DEVICE_IMU_CODE, DEVICE_IR_CODE, DEVICE_JOYSTICK_CODE, DEVICE_LASER_CODE, DEVICE_LIMB_CODE, DEVICE_LOCALIZE_CODE, DEVICE_LOG_CODE, DEVICE_MAP_CODE, DEVICE_MCOM_CODE, DEVICE_NOMAD_CODE, DEVICE_NULL_CODE, DEVICE_OPAQUE_CODE, DEVICE_PLANNER_CODE, DEVICE_POINTCLOUD3D_CODE, DEVICE_POSITION1D_CODE, DEVICE_POSITION2D_CODE, DEVICE_POSITION3D_CODE, DEVICE_POWER_CODE, DEVICE_PTZ_CODE, DEVICE_RANGER_CODE, DEVICE_RFID_CODE, DEVICE_SERVICE_ADV_CODE, DEVICE_SIMULATION_CODE, DEVICE_SONAR_CODE, DEVICE_SOUND_CODE, DEVICE_SPEECH_CODE, DEVICE_SPEECH_RECOGNITION_CODE, DEVICE_TRUTH_CODE, DEVICE_WAVEFORM_CODE, DEVICE_WIFI_CODE, DEVICE_WSN_CODE
 
Constructor Summary
Position2d(DeviceNode roboClient, Device device)
          Creates a Position2d object.
 
Method Summary
 void disableMotor()
          Disable the robots motors.
 void enableMotor()
          Enable the robots motors.
 Position getPosition()
           
 double getSpeed()
           
 double getTurnrate()
           
 void setPosition(Position pos)
           
 void setSpeed(double speed)
          Sets the motors planar speed.
(package private)  void setSpeed(double newSpeed, double newTurnrate)
          Sets the speed and turnrate immediately.
 void setTurnrate(double turnrate)
          Sets the motors turnrate.
 void syncSpeed()
          Forces to command the motors immediately.
protected  void update()
          Updates the position device's settings at ~10 Hz Is only called by the run() method!
 
Methods inherited from class device.RobotDevice
getDevice, getDeviceNode, getLogger, toString
 
Methods inherited from class device.Device
equals, getDevice, getDeviceIterator, getDeviceList, getDeviceListArray, getHost, getId, getIndex, getPort, getSleepTime, getThreadName, isInList, isRunning, isSupported, isThreaded, matches, matchesList, run, runThreaded, setDeviceList, setHost, setName, setPort, setSleepTime, shutdown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pos

Position pos

speed

double speed

turnrate

double turnrate

setOdometry

Position setOdometry

isNewSpeed

boolean isNewSpeed
Constructor Detail

Position2d

public Position2d(DeviceNode roboClient,
                  Device device)
Creates a Position2d object.

Parameters:
roboClient - The @see DeviceNode this device belongs to.
device - This device's information.
Method Detail

update

protected void update()
Updates the position device's settings at ~10 Hz Is only called by the run() method!

Overrides:
update in class Device

getPosition

public Position getPosition()
Returns:
Last known robot position.

setPosition

public void setPosition(Position pos)
Parameters:
pos - New robot @see Position for odometry device.

getSpeed

public double getSpeed()
Returns:
Robot speed (m/s).

setSpeed

public void setSpeed(double speed)
Sets the motors planar speed.

Parameters:
speed - New robot speed (m/s).

setSpeed

void setSpeed(double newSpeed,
              double newTurnrate)
Sets the speed and turnrate immediately.

Parameters:
newSpeed - The new speed.
newTurnrate - The new turnrate.

syncSpeed

public void syncSpeed()
Forces to command the motors immediately. I will take the speed and turnrate currently set.


setTurnrate

public void setTurnrate(double turnrate)
Sets the motors turnrate.

Parameters:
turnrate - New robot turnrate (rad/s).

getTurnrate

public double getTurnrate()
Returns:
Last known robot turnrate (rad/s).

enableMotor

public void enableMotor()
Enable the robots motors.


disableMotor

public void disableMotor()
Disable the robots motors.