Package org.opentcs.data.model
Class Vehicle
java.lang.Object
- All Implemented Interfaces:
java.io.Serializable
public class Vehicle extends TCSObject<Vehicle> implements java.io.Serializable
Describes a vehicle's current state.
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Vehicle.IntegrationLevel
A vehicle's state of integration into the system.static class
Vehicle.Layout
Contains information regarding the grahical representation of a vehicle.static class
Vehicle.Orientation
The elements of this enumeration represent the possible orientations of a vehicle.static class
Vehicle.ProcState
A vehicle's processing state as seen by the dispatcher.static class
Vehicle.State
The elements of this enumeration describe the various possible states of a vehicle. -
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PREFERRED_ADAPTER
The key for a property to store the class name of the preferred communication adapter (factory) for this vehicle.static int
ROUTE_INDEX_DEFAULT
Deprecated.UseTransportOrder.ROUTE_STEP_INDEX_DEFAULT
instead. -
Constructor Summary
Constructors Constructor Description Vehicle(java.lang.String name)
Creates a new vehicle. -
Method Summary
Modifier and Type Method Description java.util.List<java.util.Set<TCSResourceReference<?>>>
getAllocatedResources()
Returns the resources this vehicle has allocated.java.util.Set<java.lang.String>
getAllowedOrderTypes()
Returns the set of order types this vehicle is allowed to process.java.util.List<java.util.Set<TCSResourceReference<?>>>
getClaimedResources()
Returns the resources this vehicle has claimed for future allocation.TCSObjectReference<Point>
getCurrentPosition()
Returns a reference to the point this vehicle currently occupies.int
getEnergyLevel()
Returns this vehicle's remaining energy (in percent of the maximum).int
getEnergyLevelCritical()
Returns this vehicle's critical energy level (in percent of the maximum).int
getEnergyLevelFullyRecharged()
Returns this vehicle's energy level for being fully recharged (in percent of the maximum).int
getEnergyLevelGood()
Returns this vehicle's good energy level (in percent of the maximum).int
getEnergyLevelSufficientlyRecharged()
Returns this vehicle's energy level for being sufficiently recharged (in percent of the maximum).java.lang.String
getEnvelopeKey()
Returns the key for selecting the envelope to be used for resources the vehicle occupies.Vehicle.IntegrationLevel
getIntegrationLevel()
Returns this vehicle's integration level.Vehicle.Layout
getLayout()
Returns the information regarding the grahical representation of this vehicle.int
getLength()
Returns this vehicle's current length.java.util.List<LoadHandlingDevice>
getLoadHandlingDevices()
Returns the current (state of the) load handling devices of this vehicle.int
getMaxReverseVelocity()
Returns this vehicle's maximum reverse velocity (in mm/s).int
getMaxVelocity()
Returns this vehicle's maximum velocity (in mm/s).TCSObjectReference<Point>
getNextPosition()
Returns a reference to the point this vehicle is expected to be seen at next.TCSObjectReference<OrderSequence>
getOrderSequence()
Returns a reference to the order sequence this vehicle is currently processing.double
getOrientationAngle()
Returns the vehicle's current orientation angle (-360..360).Triple
getPrecisePosition()
Returns the vehicle's position in world coordinates [mm], independent from logical positions/point names.Vehicle.ProcState
getProcState()
Returns this vehicle's current processing state.java.lang.String
getRechargeOperation()
Returns the operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.int
getRouteProgressIndex()
Deprecated.UseTransportOrder.getCurrentRouteStepIndex()
instead.Vehicle.State
getState()
Returns this vehicle's current state.TCSObjectReference<TransportOrder>
getTransportOrder()
Returns a reference to the transport order this vehicle is currently processing.boolean
hasProcState(Vehicle.ProcState otherState)
Checks if this vehicle's current processing state is equal to the given one.boolean
hasState(Vehicle.State otherState)
Checks if this vehicle's current state is equal to the given one.boolean
isEnergyLevelCritical()
Checks whether the vehicle's energy level is critical.boolean
isEnergyLevelDegraded()
Checks whether the vehicle's energy level is degraded (not good any more).boolean
isEnergyLevelFullyRecharged()
Checks whether the vehicle's energy level is fully recharged.boolean
isEnergyLevelGood()
Checks whether the vehicle's energy level is good.boolean
isEnergyLevelSufficientlyRecharged()
Checks whether the vehicle's energy level is sufficiently recharged.boolean
isPaused()
Indicates whether this vehicle is paused.boolean
isProcessingOrder()
Checks if this vehicle is currently processing any transport order.java.lang.String
toString()
Vehicle
withAllocatedResources(java.util.List<java.util.Set<TCSResourceReference<?>>> allocatedResources)
Creates a copy of this object, with the given allocated resources.Vehicle
withAllowedOrderTypes(java.util.Set<java.lang.String> allowedOrderTypes)
Creates a copy of this object, with the given set of allowed order types.Vehicle
withClaimedResources(java.util.List<java.util.Set<TCSResourceReference<?>>> claimedResources)
Creates a copy of this object, with the given claimed resources.Vehicle
withCurrentPosition(TCSObjectReference<Point> currentPosition)
Creates a copy of this object, with the given current position.Vehicle
withEnergyLevel(int energyLevel)
Creates a copy of this object, with the given energy level.Vehicle
withEnergyLevelCritical(int energyLevelCritical)
Creates a copy of this object, with the given critical energy level.Vehicle
withEnergyLevelFullyRecharged(int energyLevelFullyRecharged)
Creates a copy of this object, with the given fully recharged energy level.Vehicle
withEnergyLevelGood(int energyLevelGood)
Creates a copy of this object, with the given good energy level.Vehicle
withEnergyLevelSufficientlyRecharged(int energyLevelSufficientlyRecharged)
Creates a copy of this object, with the given sufficiently recharged energy level.Vehicle
withEnvelopeKey(java.lang.String envelopeKey)
Creates a copy of this object, with the given envelope key.TCSObject<Vehicle>
withHistory(ObjectHistory history)
Creates a copy of this object, with the given history.TCSObject<Vehicle>
withHistoryEntry(ObjectHistory.Entry entry)
Creates a copy of this object, with the given history entry integrated.Vehicle
withIntegrationLevel(Vehicle.IntegrationLevel integrationLevel)
Creates a copy of this object, with the given integration level.Vehicle
withLayout(Vehicle.Layout layout)
Creates a copy of this object, with the given layout.Vehicle
withLength(int length)
Creates a copy of this object, with the given length.Vehicle
withLoadHandlingDevices(java.util.List<LoadHandlingDevice> loadHandlingDevices)
Creates a copy of this object, with the given load handling devices.Vehicle
withMaxReverseVelocity(int maxReverseVelocity)
Creates a copy of this object, with the given maximum reverse velocity.Vehicle
withMaxVelocity(int maxVelocity)
Creates a copy of this object, with the given maximum velocity.Vehicle
withNextPosition(TCSObjectReference<Point> nextPosition)
Creates a copy of this object, with the given next position.Vehicle
withOrderSequence(TCSObjectReference<OrderSequence> orderSequence)
Creates a copy of this object, with the given order sequence.Vehicle
withOrientationAngle(double orientationAngle)
Creates a copy of this object, with the given orientation angle.Vehicle
withPaused(boolean paused)
Creates a copy of this object, with the given paused state.Vehicle
withPrecisePosition(Triple precisePosition)
Creates a copy of this object, with the given precise position.Vehicle
withProcState(Vehicle.ProcState procState)
Creates a copy of this object, with the given processing state.Vehicle
withProperties(java.util.Map<java.lang.String,java.lang.String> properties)
Creates a copy of this object, with the given properties.Vehicle
withProperty(java.lang.String key, java.lang.String value)
Creates a copy of this object, with the given property integrated.Vehicle
withRechargeOperation(java.lang.String rechargeOperation)
Creates a copy of this object, with the given recharge operation.Vehicle
withRouteProgressIndex(int routeProgressIndex)
Deprecated.UseTransportOrder.withCurrentRouteStepIndex(int)
instead.Vehicle
withState(Vehicle.State state)
Creates a copy of this object, with the given state.Vehicle
withTransportOrder(TCSObjectReference<TransportOrder> transportOrder)
Creates a copy of this object, with the given transport order.Methods inherited from class org.opentcs.data.TCSObject
equals, getHistory, getName, getProperties, getProperty, getReference, hashCode, listWithoutNullValues, mapWithoutNullValues, propertiesWith, setWithoutNullValues
-
Field Details
-
ROUTE_INDEX_DEFAULT
@Deprecated @ScheduledApiChange(when="6.0", details="Will be removed.") public static final int ROUTE_INDEX_DEFAULTDeprecated.UseTransportOrder.ROUTE_STEP_INDEX_DEFAULT
instead.A value indicating that no route steps have been travelled for the current drive order, yet.- See Also:
- Constant Field Values
-
PREFERRED_ADAPTER
public static final java.lang.String PREFERRED_ADAPTERThe key for a property to store the class name of the preferred communication adapter (factory) for this vehicle.- See Also:
- Constant Field Values
-
-
Constructor Details
-
Vehicle
public Vehicle(java.lang.String name)Creates a new vehicle.- Parameters:
name
- The new vehicle's name.
-
-
Method Details
-
withProperty
Description copied from class:TCSObject
Creates a copy of this object, with the given property integrated.- Specified by:
withProperty
in classTCSObject<Vehicle>
- Parameters:
key
- The key of the property to be changed.value
- The new value of the property, ornull
, if the property is to be removed.- Returns:
- A copy of this object, with the given property integrated.
-
withProperties
Description copied from class:TCSObject
Creates a copy of this object, with the given properties.- Specified by:
withProperties
in classTCSObject<Vehicle>
- Parameters:
properties
- The properties.- Returns:
- A copy of this object, with the given properties.
-
withHistoryEntry
Description copied from class:TCSObject
Creates a copy of this object, with the given history entry integrated.- Specified by:
withHistoryEntry
in classTCSObject<Vehicle>
- Parameters:
entry
- The history entry to be integrated.- Returns:
- A copy of this object, with the given history entry integrated.
-
withHistory
Description copied from class:TCSObject
Creates a copy of this object, with the given history.- Specified by:
withHistory
in classTCSObject<Vehicle>
- Parameters:
history
- The history.- Returns:
- A copy of this object, with the given history.
-
getEnergyLevel
public int getEnergyLevel()Returns this vehicle's remaining energy (in percent of the maximum).- Returns:
- This vehicle's remaining energy.
-
withEnergyLevel
Creates a copy of this object, with the given energy level.- Parameters:
energyLevel
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
isEnergyLevelCritical
public boolean isEnergyLevelCritical()Checks whether the vehicle's energy level is critical.- Returns:
true
if, and only if, the vehicle's energy level is critical.
-
isEnergyLevelDegraded
public boolean isEnergyLevelDegraded()Checks whether the vehicle's energy level is degraded (not good any more).- Returns:
true
if, and only if, the vehicle's energy level is degraded.
-
isEnergyLevelGood
public boolean isEnergyLevelGood()Checks whether the vehicle's energy level is good.- Returns:
true
if, and only if, the vehicle's energy level is good.
-
isEnergyLevelFullyRecharged
public boolean isEnergyLevelFullyRecharged()Checks whether the vehicle's energy level is fully recharged.- Returns:
true
if, and only if, the vehicle's energy level is fully recharged.
-
isEnergyLevelSufficientlyRecharged
public boolean isEnergyLevelSufficientlyRecharged()Checks whether the vehicle's energy level is sufficiently recharged.- Returns:
true
if, and only if, the vehicle's energy level is sufficiently recharged.
-
getEnergyLevelCritical
public int getEnergyLevelCritical()Returns this vehicle's critical energy level (in percent of the maximum). The critical energy level is the one at/below which the vehicle should be recharged.- Returns:
- This vehicle's critical energy level.
-
withEnergyLevelCritical
Creates a copy of this object, with the given critical energy level.- Parameters:
energyLevelCritical
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getEnergyLevelGood
public int getEnergyLevelGood()Returns this vehicle's good energy level (in percent of the maximum). The good energy level is the one at/above which the vehicle can be dispatched again when charging.- Returns:
- This vehicle's good energy level.
-
withEnergyLevelGood
Creates a copy of this object, with the given good energy level.- Parameters:
energyLevelGood
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getEnergyLevelFullyRecharged
public int getEnergyLevelFullyRecharged()Returns this vehicle's energy level for being fully recharged (in percent of the maximum).- Returns:
- This vehicle's fully recharged treshold.
-
withEnergyLevelFullyRecharged
Creates a copy of this object, with the given fully recharged energy level.- Parameters:
energyLevelFullyRecharged
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getEnergyLevelSufficientlyRecharged
public int getEnergyLevelSufficientlyRecharged()Returns this vehicle's energy level for being sufficiently recharged (in percent of the maximum).- Returns:
- This vehicle's sufficiently recharged energy level.
-
withEnergyLevelSufficientlyRecharged
Creates a copy of this object, with the given sufficiently recharged energy level.- Parameters:
energyLevelSufficientlyRecharged
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getRechargeOperation
public java.lang.String getRechargeOperation()Returns the operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.- Returns:
- The operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.
-
withRechargeOperation
Creates a copy of this object, with the given recharge operation.- Parameters:
rechargeOperation
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getLoadHandlingDevices
Returns the current (state of the) load handling devices of this vehicle.- Returns:
- The current (state of the) load handling devices of this vehicle.
-
withLoadHandlingDevices
Creates a copy of this object, with the given load handling devices.- Parameters:
loadHandlingDevices
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getMaxVelocity
public int getMaxVelocity()Returns this vehicle's maximum velocity (in mm/s).- Returns:
- This vehicle's maximum velocity (in mm/s).
-
withMaxVelocity
Creates a copy of this object, with the given maximum velocity.- Parameters:
maxVelocity
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getMaxReverseVelocity
public int getMaxReverseVelocity()Returns this vehicle's maximum reverse velocity (in mm/s).- Returns:
- This vehicle's maximum reverse velocity (in mm/s).
-
withMaxReverseVelocity
Creates a copy of this object, with the given maximum reverse velocity.- Parameters:
maxReverseVelocity
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getState
Returns this vehicle's current state.- Returns:
- This vehicle's current state.
-
hasState
Checks if this vehicle's current state is equal to the given one.- Parameters:
otherState
- The state to compare to this vehicle's one.- Returns:
true
if, and only if, the given state is equal to this vehicle's one.
-
withState
Creates a copy of this object, with the given state.- Parameters:
state
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getProcState
Returns this vehicle's current processing state.- Returns:
- This vehicle's current processing state.
-
getIntegrationLevel
Returns this vehicle's integration level.- Returns:
- This vehicle's integration level.
-
withIntegrationLevel
Creates a copy of this object, with the given integration level.- Parameters:
integrationLevel
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
isPaused
public boolean isPaused()Indicates whether this vehicle is paused.- Returns:
- Whether this vehicle is paused.
-
withPaused
Creates a copy of this object, with the given paused state.- Parameters:
paused
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
hasProcState
Checks if this vehicle's current processing state is equal to the given one.- Parameters:
otherState
- The state to compare to this vehicle's one.- Returns:
true
if, and only if, the given state is equal to this vehicle's one.
-
withProcState
Creates a copy of this object, with the given processing state.- Parameters:
procState
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getLength
public int getLength()Returns this vehicle's current length.- Returns:
- this vehicle's current length.
-
withLength
Creates a copy of this object, with the given length.- Parameters:
length
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getTransportOrder
Returns a reference to the transport order this vehicle is currently processing.- Returns:
- A reference to the transport order this vehicle is currently
processing, or
null
, if it is not processing any transport order at the moment.
-
withTransportOrder
Creates a copy of this object, with the given transport order.- Parameters:
transportOrder
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getOrderSequence
Returns a reference to the order sequence this vehicle is currently processing.- Returns:
- A reference to the order sequence this vehicle is currently
processing, or
null
, if it is not processing any order sequence at the moment.
-
withOrderSequence
Creates a copy of this object, with the given order sequence.- Parameters:
orderSequence
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getAllowedOrderTypes
public java.util.Set<java.lang.String> getAllowedOrderTypes()Returns the set of order types this vehicle is allowed to process.- Returns:
- The set of order types this vehicle is allowed to process.
-
withAllowedOrderTypes
Creates a copy of this object, with the given set of allowed order types.- Parameters:
allowedOrderTypes
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getRouteProgressIndex
@Deprecated @ScheduledApiChange(when="6.0", details="Will be removed.") public int getRouteProgressIndex()Deprecated.UseTransportOrder.getCurrentRouteStepIndex()
instead.Returns the index of the last route step travelled for the current drive order of the current transport order.- Returns:
- The index of the last route step travelled for the current drive order of the current transport order.
-
withRouteProgressIndex
@Deprecated @ScheduledApiChange(when="6.0", details="Will be removed.") public Vehicle withRouteProgressIndex(int routeProgressIndex)Deprecated.UseTransportOrder.withCurrentRouteStepIndex(int)
instead.Creates a copy of this object, with the given route progress index.- Parameters:
routeProgressIndex
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getClaimedResources
Returns the resources this vehicle has claimed for future allocation.- Returns:
- The resources this vehicle has claimed for future allocation.
-
withClaimedResources
public Vehicle withClaimedResources(java.util.List<java.util.Set<TCSResourceReference<?>>> claimedResources)Creates a copy of this object, with the given claimed resources.- Parameters:
claimedResources
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getAllocatedResources
Returns the resources this vehicle has allocated.- Returns:
- The resources this vehicle has allocated.
-
withAllocatedResources
public Vehicle withAllocatedResources(java.util.List<java.util.Set<TCSResourceReference<?>>> allocatedResources)Creates a copy of this object, with the given allocated resources.- Parameters:
allocatedResources
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getCurrentPosition
Returns a reference to the point this vehicle currently occupies.- Returns:
- A reference to the point this vehicle currently occupies, or
null
, if this vehicle's position is unknown or the vehicle is currently not in the system.
-
withCurrentPosition
Creates a copy of this object, with the given current position.- Parameters:
currentPosition
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getNextPosition
Returns a reference to the point this vehicle is expected to be seen at next.- Returns:
- A reference to the point this vehicle is expected to be seen at
next, or
null
, if this vehicle's next position is unknown.
-
withNextPosition
Creates a copy of this object, with the given next position.- Parameters:
nextPosition
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getPrecisePosition
Returns the vehicle's position in world coordinates [mm], independent from logical positions/point names. May benull
if the vehicle hasn't provided a precise position.- Returns:
- The vehicle's precise position in mm.
-
withPrecisePosition
Creates a copy of this object, with the given precise position.- Parameters:
precisePosition
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getOrientationAngle
public double getOrientationAngle()Returns the vehicle's current orientation angle (-360..360). May beDouble.NaN
if the vehicle hasn't provided an orientation angle.- Returns:
- The vehicle's current orientation angle.
-
withOrientationAngle
Creates a copy of this object, with the given orientation angle.- Parameters:
orientationAngle
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getEnvelopeKey
@Nullable public java.lang.String getEnvelopeKey()Returns the key for selecting the envelope to be used for resources the vehicle occupies.- Returns:
- The key for selecting the envelope to be used for resources the vehicle occupies.
-
withEnvelopeKey
Creates a copy of this object, with the given envelope key.- Parameters:
envelopeKey
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
getLayout
Returns the information regarding the grahical representation of this vehicle.- Returns:
- The information regarding the grahical representation of this vehicle.
-
withLayout
Creates a copy of this object, with the given layout.- Parameters:
layout
- The value to be set in the copy.- Returns:
- A copy of this object, differing in the given value.
-
isProcessingOrder
public boolean isProcessingOrder()Checks if this vehicle is currently processing any transport order.- Returns:
true
if, and only if, this vehicle is currently processing a transport order.
-
toString
public java.lang.String toString()
-