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 classVehicle.IntegrationLevelA vehicle's state of integration into the system.static classVehicle.LayoutContains information regarding the grahical representation of a vehicle.static classVehicle.OrientationThe elements of this enumeration represent the possible orientations of a vehicle.static classVehicle.ProcStateA vehicle's processing state as seen by the dispatcher.static classVehicle.StateThe elements of this enumeration describe the various possible states of a vehicle. -
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPREFERRED_ADAPTERThe key for a property to store the class name of the preferred communication adapter (factory) for this vehicle.static intROUTE_INDEX_DEFAULTDeprecated.UseTransportOrder.ROUTE_STEP_INDEX_DEFAULTinstead. -
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.intgetEnergyLevel()Returns this vehicle's remaining energy (in percent of the maximum).intgetEnergyLevelCritical()Returns this vehicle's critical energy level (in percent of the maximum).intgetEnergyLevelFullyRecharged()Returns this vehicle's energy level for being fully recharged (in percent of the maximum).intgetEnergyLevelGood()Returns this vehicle's good energy level (in percent of the maximum).intgetEnergyLevelSufficientlyRecharged()Returns this vehicle's energy level for being sufficiently recharged (in percent of the maximum).java.lang.StringgetEnvelopeKey()Returns the key for selecting the envelope to be used for resources the vehicle occupies.Vehicle.IntegrationLevelgetIntegrationLevel()Returns this vehicle's integration level.Vehicle.LayoutgetLayout()Returns the information regarding the grahical representation of this vehicle.intgetLength()Returns this vehicle's current length.java.util.List<LoadHandlingDevice>getLoadHandlingDevices()Returns the current (state of the) load handling devices of this vehicle.intgetMaxReverseVelocity()Returns this vehicle's maximum reverse velocity (in mm/s).intgetMaxVelocity()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.doublegetOrientationAngle()Returns the vehicle's current orientation angle (-360..360).TriplegetPrecisePosition()Returns the vehicle's position in world coordinates [mm], independent from logical positions/point names.Vehicle.ProcStategetProcState()Returns this vehicle's current processing state.java.lang.StringgetRechargeOperation()Returns the operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.intgetRouteProgressIndex()Deprecated.UseTransportOrder.getCurrentRouteStepIndex()instead.Vehicle.StategetState()Returns this vehicle's current state.TCSObjectReference<TransportOrder>getTransportOrder()Returns a reference to the transport order this vehicle is currently processing.booleanhasProcState(Vehicle.ProcState otherState)Checks if this vehicle's current processing state is equal to the given one.booleanhasState(Vehicle.State otherState)Checks if this vehicle's current state is equal to the given one.booleanisEnergyLevelCritical()Checks whether the vehicle's energy level is critical.booleanisEnergyLevelDegraded()Checks whether the vehicle's energy level is degraded (not good any more).booleanisEnergyLevelFullyRecharged()Checks whether the vehicle's energy level is fully recharged.booleanisEnergyLevelGood()Checks whether the vehicle's energy level is good.booleanisEnergyLevelSufficientlyRecharged()Checks whether the vehicle's energy level is sufficiently recharged.booleanisPaused()Indicates whether this vehicle is paused.booleanisProcessingOrder()Checks if this vehicle is currently processing any transport order.java.lang.StringtoString()VehiclewithAllocatedResources(java.util.List<java.util.Set<TCSResourceReference<?>>> allocatedResources)Creates a copy of this object, with the given allocated resources.VehiclewithAllowedOrderTypes(java.util.Set<java.lang.String> allowedOrderTypes)Creates a copy of this object, with the given set of allowed order types.VehiclewithClaimedResources(java.util.List<java.util.Set<TCSResourceReference<?>>> claimedResources)Creates a copy of this object, with the given claimed resources.VehiclewithCurrentPosition(TCSObjectReference<Point> currentPosition)Creates a copy of this object, with the given current position.VehiclewithEnergyLevel(int energyLevel)Creates a copy of this object, with the given energy level.VehiclewithEnergyLevelCritical(int energyLevelCritical)Creates a copy of this object, with the given critical energy level.VehiclewithEnergyLevelFullyRecharged(int energyLevelFullyRecharged)Creates a copy of this object, with the given fully recharged energy level.VehiclewithEnergyLevelGood(int energyLevelGood)Creates a copy of this object, with the given good energy level.VehiclewithEnergyLevelSufficientlyRecharged(int energyLevelSufficientlyRecharged)Creates a copy of this object, with the given sufficiently recharged energy level.VehiclewithEnvelopeKey(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.VehiclewithIntegrationLevel(Vehicle.IntegrationLevel integrationLevel)Creates a copy of this object, with the given integration level.VehiclewithLayout(Vehicle.Layout layout)Creates a copy of this object, with the given layout.VehiclewithLength(int length)Creates a copy of this object, with the given length.VehiclewithLoadHandlingDevices(java.util.List<LoadHandlingDevice> loadHandlingDevices)Creates a copy of this object, with the given load handling devices.VehiclewithMaxReverseVelocity(int maxReverseVelocity)Creates a copy of this object, with the given maximum reverse velocity.VehiclewithMaxVelocity(int maxVelocity)Creates a copy of this object, with the given maximum velocity.VehiclewithNextPosition(TCSObjectReference<Point> nextPosition)Creates a copy of this object, with the given next position.VehiclewithOrderSequence(TCSObjectReference<OrderSequence> orderSequence)Creates a copy of this object, with the given order sequence.VehiclewithOrientationAngle(double orientationAngle)Creates a copy of this object, with the given orientation angle.VehiclewithPaused(boolean paused)Creates a copy of this object, with the given paused state.VehiclewithPrecisePosition(Triple precisePosition)Creates a copy of this object, with the given precise position.VehiclewithProcState(Vehicle.ProcState procState)Creates a copy of this object, with the given processing state.VehiclewithProperties(java.util.Map<java.lang.String,java.lang.String> properties)Creates a copy of this object, with the given properties.VehiclewithProperty(java.lang.String key, java.lang.String value)Creates a copy of this object, with the given property integrated.VehiclewithRechargeOperation(java.lang.String rechargeOperation)Creates a copy of this object, with the given recharge operation.VehiclewithRouteProgressIndex(int routeProgressIndex)Deprecated.UseTransportOrder.withCurrentRouteStepIndex(int)instead.VehiclewithState(Vehicle.State state)Creates a copy of this object, with the given state.VehiclewithTransportOrder(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_DEFAULTinstead.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:TCSObjectCreates a copy of this object, with the given property integrated.- Specified by:
withPropertyin 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:TCSObjectCreates a copy of this object, with the given properties.- Specified by:
withPropertiesin classTCSObject<Vehicle>- Parameters:
properties- The properties.- Returns:
- A copy of this object, with the given properties.
-
withHistoryEntry
Description copied from class:TCSObjectCreates a copy of this object, with the given history entry integrated.- Specified by:
withHistoryEntryin 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:TCSObjectCreates a copy of this object, with the given history.- Specified by:
withHistoryin 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:
trueif, 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:
trueif, and only if, the vehicle's energy level is degraded.
-
isEnergyLevelGood
public boolean isEnergyLevelGood()Checks whether the vehicle's energy level is good.- Returns:
trueif, 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:
trueif, 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:
trueif, 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:
trueif, 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:
trueif, 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 benullif 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.NaNif 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:
trueif, and only if, this vehicle is currently processing a transport order.
-
toString
public java.lang.String toString()
-