|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object lejos.robotics.proposal.SteeringPilot
public class SteeringPilot
The SteeringPilot uses a similar steering mechanism to a car.
Constructor Summary | |
---|---|
SteeringPilot(float wheelDiameter,
float trackWidth,
TachoMotor driveMotor,
TachoMotor steeringMotor,
float steerRatio,
boolean reverse)
Create a steering pilot |
Method Summary | |
---|---|
void |
addMoveListener(MoveListener p)
Adds a MoveListener that will be notified of all movement events. |
void |
arc(float radius)
Starts the NXT robot moving along an arc with a specified radius. |
Movement |
arc(float radius,
float angle)
Moves the NXT robot along an arc with a specified radius and angle, after which the robot stops moving. |
Movement |
arc(float radius,
float angle,
boolean immediateReturn)
Moves the NXT robot along an arc with a specified radius and angle, after which the robot stops moving. |
void |
backward()
Starts the NXT robot moving backwards. |
void |
forward()
Starts the NXT robot moving forward. |
float |
getMinRadius()
The minimum steering radius this vehicle is capable of when traveling in an arc. |
float |
getMoveMaxSpeed()
|
Movement |
getMovement()
|
float |
getMovementIncrement()
|
float |
getMoveSpeed()
|
float |
getTurnMaxSpeed()
|
float |
getTurnSpeed()
|
boolean |
isMoving()
true if the robot is moving |
void |
setMinRadius(float radius)
Set the radius of the minimum turning circle |
void |
setMoveSpeed(float speed)
|
void |
setTurnSpeed(float speed)
|
Movement |
stop()
Halts the NXT robot |
Movement |
travel(float distance)
Moves the NXT robot a specific distance. |
Movement |
travel(float distance,
boolean immediateReturn)
Moves the NXT robot a specific distance. |
Movement |
travelArc(float radius,
float distance)
Moves the NXT robot a specified distance along an arc mof specified radius, after which the robot stops moving. |
Movement |
travelArc(float radius,
float distance,
boolean immediateReturn)
Moves the NXT robot a specified distance along an arc of specified radius, after which the robot stops moving. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SteeringPilot(float wheelDiameter, float trackWidth, TachoMotor driveMotor, TachoMotor steeringMotor, float steerRatio, boolean reverse)
wheelDiameter
- trackWidth
- driveMotor
- steeringMotor
- steerRatio
- reverse
- Method Detail |
---|
public void addMoveListener(MoveListener p)
MovementProvider
addMoveListener
in interface MovementProvider
p
- the move listenerpublic void arc(float radius)
ArcPilot
If radius
is positive, the robot arcs left, and the center of the turning circle is on the left side of the robot.
If radius
is negative, the robot arcs right, and the center of the turning circle is on the right side of the robot.
If radius
is zero, the robot rotates in place.
Postcondition: Motor speeds are unpredictable.
Note: If you have specified a drift correction in the constructor it will not be applied in this method.
arc
in interface ArcPilot
radius
- of the arc path. If positive, the left side of the robot is on the inside of the turn. If negative, the left
side of the robot is on the outside of the turn.public Movement arc(float radius, float angle)
ArcPilot
angle
degrees along the arc.
If radius
is positive, the robot arcs left, and the center of the turning circle is on the left side of the robot.
If radius
is negative, the robot arcs right, and the center of the turning circle is on the right side of the robot.
If radius
is zero, is zero, the robot rotates in place.
Robot will stop when the degrees it has moved along the arc equals angle
.
If angle
is positive, the robot will move travel forwards.
If angle
is negative, the robot will move travel backwards.
If angle
is zero, the robot will not move and the method returns immediately.
Postcondition: Motor speeds are unpredictable.
Note: If you have specified a drift correction in the constructor it will not be applied in this method.
arc
in interface ArcPilot
radius
- of the arc path. If positive, the left side of the robot is on the inside of the turn. If negative, the left
side of the robot is on the outside of the turn.angle
- The sign of the angle determines the direction of robot motion. Positive drives the robot forward, negative drives it backward.ArcPilot.travelArc(float, float)
public Movement arc(float radius, float angle, boolean immediateReturn)
ArcPilot
immediateReturn
parameter.
If radius
is positive, the robot arcs left, and the center of the turning circle is on the left side of the robot.
If radius
is negative, the robot arcs right, and the center of the turning circle is on the right side of the robot.
If radius
is zero, is zero, the robot rotates in place.
The robot will stop when the degrees it has moved along the arc equals angle
.
If angle
is positive, the robot will move travel forwards.
If angle
is negative, the robot will move travel backwards.
If angle
is zero, the robot will not move and the method returns immediately.
Postcondition: Motor speeds are unpredictable.
Note: If you have specified a drift correction in the constructor it will not be applied in this method.
arc
in interface ArcPilot
radius
- of the arc path. If positive, the left side of the robot is on the inside of the turn. If negative, the left
side of the robot is on the outside of the turn.angle
- The sign of the angle determines the direction of robot motion. Positive drives the robot forward, negative drives it backward.immediateReturn
- If immediateReturn is true then the method returns immediately and your code MUST call
updatePostion() when the robot has stopped. Otherwise, the robot position is lost.ArcPilot.travelArc(float, float, boolean)
public void forward()
BasicPilot
forward
in interface BasicPilot
public float getMoveMaxSpeed()
getMoveMaxSpeed
in interface BasicPilot
public float getMoveSpeed()
getMoveSpeed
in interface BasicPilot
public float getTurnMaxSpeed()
public float getTurnSpeed()
public boolean isMoving()
BasicPilot
isMoving
in interface BasicPilot
public void setMoveSpeed(float speed)
setMoveSpeed
in interface BasicPilot
public void setTurnSpeed(float speed)
public Movement stop()
BasicPilot
stop
in interface BasicPilot
public Movement travel(float distance)
BasicPilot
travel
in interface BasicPilot
distance
- The positive or negative distance to move the robot.public Movement travel(float distance, boolean immediateReturn)
BasicPilot
travel
in interface BasicPilot
distance
- The positive or negative distance to move the robot, in wheel diameter units.immediateReturn
- If immediateReturn is true then the method returns immediately.public Movement travelArc(float radius, float distance)
ArcPilot
distance
along the arc. The units (inches, cm) for distance
must be the same as the units used for radius
.
If radius
is positive, the robot arcs left, and the center of the turning circle is on the left side of the robot.
If radius
is negative, the robot arcs right, and the center of the turning circle is on the right side of the robot.
If radius
is zero, the robot rotates in place
The robot will stop when it has moved along the arc distance
units.
If distance
is positive, the robot will move travel forwards.
If distance
is negative, the robot will move travel backwards.
If distance
is zero, the robot will not move and the method returns immediately.
Postcondition: Motor speeds are unpredictable.
Note: If you have specified a drift correction in the constructor it will not be applied in this method.
travelArc
in interface ArcPilot
radius
- of the arc path. If positive, the left side of the robot is on the inside of the turn. If negative, the left
side of the robot is on the outside of the turn.distance
- to travel, in same units as radius
. The sign of the distance determines the direction of robot motion. Positive drives the robot forward, negative drives it backward.ArcPilot.arc(float, float)
public Movement travelArc(float radius, float distance, boolean immediateReturn)
ArcPilot
immediateReturn
parameter.
The units (inches, cm) for distance
should be the same as the units used for radius
.
Warning: Your code must call updatePostion() when the robot has stopped,
otherwise, the robot position is lost.
If radius
is positive, the robot arcs left, and the center of the turning circle is on the left side of the robot.
If radius
is negative, the robot arcs right, and the center of the turning circle is on the right side of the robot.
If radius
is zero, ...
The robot will stop when it has moved along the arc distance
units.
If distance
is positive, the robot will move travel forwards.
If distance
is negative, the robot will move travel backwards.
If distance
is zero, the robot will not move and the method returns immediately.
Postcondition: Motor speeds are unpredictable.
Note: If you have specified a drift correction in the constructor it will not be applied in this method.
travelArc
in interface ArcPilot
radius
- of the arc path. If positive, the left side of the robot is on the inside of the turn. If negative, the left
side of the robot is on the outside of the turn.distance
- to travel, in same units as radius
. The sign of the distance determines the direction of robot motion. Positive drives the robot forward, negative drives it backward.immediateReturn
- If immediateReturn is true then the method returns immediately and your code MUST call
updatePostion() when the robot has stopped. Otherwise, the robot position is lost.ArcPilot.arc(float, float, boolean)
public void setMinRadius(float radius)
ArcPilot
setMinRadius
in interface ArcPilot
radius
- the radius in degreespublic void backward()
BasicPilot
backward
in interface BasicPilot
public float getMinRadius()
ArcPilot
getMinRadius
in interface ArcPilot
public Movement getMovement()
getMovement
in interface MovementProvider
public float getMovementIncrement()
getMovementIncrement
in interface BasicPilot
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |