update
This commit is contained in:
parent
7ac42a2b80
commit
b870caa0e5
@ -91,6 +91,14 @@ public class VehicleProcessModel {
|
||||
* The vehicle's current bounding box.
|
||||
*/
|
||||
private BoundingBox boundingBox;
|
||||
/**
|
||||
* 当前车辆级别
|
||||
*/
|
||||
private Vehicle.IntegrationLevel integrationLevel;
|
||||
/**
|
||||
* 载货状态
|
||||
*/
|
||||
private Boolean loadState;
|
||||
|
||||
/**
|
||||
* Creates a new instance.
|
||||
@ -661,6 +669,7 @@ public class VehicleProcessModel {
|
||||
@Nonnull
|
||||
Vehicle.IntegrationLevel level
|
||||
) {
|
||||
integrationLevel = level;
|
||||
getPropertyChangeSupport().firePropertyChange(
|
||||
Attribute.INTEGRATION_LEVEL_CHANGE_REQUESTED.name(),
|
||||
null,
|
||||
@ -668,6 +677,14 @@ public class VehicleProcessModel {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取车辆级别
|
||||
* @return 车辆级别
|
||||
*/
|
||||
public Vehicle.IntegrationLevel getIntegrationLevel() {
|
||||
return integrationLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies observers that the vehicle would like to have its current transport order withdrawn.
|
||||
*
|
||||
|
@ -823,8 +823,16 @@ public class LoopbackCommunicationAdapter
|
||||
getProcessModel().setPosition(params.getPoint().toString()); //更新最终经过点
|
||||
}
|
||||
|
||||
Pose oldPose = getProcessModel().getPose();
|
||||
LAST_POSE = new Pose(new Triple(Math.round(params.getX() * 1000), Math.round(params.getY() * 1000), 0), params.getAngle());
|
||||
|
||||
if (oldPose.getPosition() == null) { //姿态为空,更新
|
||||
getProcessModel().setPose(LAST_POSE);
|
||||
} else if (oldPose.getPosition().getX() != Math.round(params.getX() * 1000)
|
||||
|| oldPose.getPosition().getY() != Math.round(params.getY() * 1000)
|
||||
|| oldPose.getOrientationAngle() != params.getAngle()) { //姿态有变化,更新
|
||||
getProcessModel().setPose(LAST_POSE);
|
||||
}
|
||||
} else {
|
||||
//最后经过点为0,应该是车辆丢失定位或重启过。todo 可能需要自动找点
|
||||
}
|
||||
@ -834,13 +842,19 @@ public class LoopbackCommunicationAdapter
|
||||
}
|
||||
|
||||
//更新电量
|
||||
if (getProcessModel().getEnergyLevel() != Math.round(params.getPower() * 100)) {
|
||||
getProcessModel().setEnergyLevel(Math.round(params.getPower() * 100));
|
||||
}
|
||||
|
||||
//更新车辆等级
|
||||
if (!Objects.equals(getProcessModel().getIntegrationLevel(), integrationLevel)) {
|
||||
getProcessModel().integrationLevelChangeRequested(integrationLevel);
|
||||
}
|
||||
|
||||
//更新车辆状态
|
||||
if (!Objects.equals(getProcessModel().getState(), vehicleState)) {
|
||||
getProcessModel().setState(vehicleState);
|
||||
}
|
||||
|
||||
//更新载货状态
|
||||
loadState = params.getCargo_status() == 1 ? LoadState.FULL : LoadState.EMPTY;
|
||||
@ -851,6 +865,10 @@ public class LoopbackCommunicationAdapter
|
||||
return serialNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理车辆动作执行状态
|
||||
* @param agvActionStatus 车辆动作执行状态对象
|
||||
*/
|
||||
private void handleActionStatus(AgvActionStatus agvActionStatus) {
|
||||
if (agvActionStatus.getStatus()) {
|
||||
ACTION_STATUS = false;
|
||||
|
Loading…
Reference in New Issue
Block a user