feat(positionmap): 增加车头朝向的种类并优化路径规划逻辑
- 在 PositionMapLineDO 和 PositionMapLineDTO 中扩展了车头朝向的种类,增加了随意朝向和反向行走时的朝向变化 - 修改了 PathPlanningServiceImpl 中的路径规划逻辑,以适应新的车头朝向种类 - 更新了相关控制器和 API 接口中的车头朝向描述
This commit is contained in:
parent
fd814aad58
commit
1fef888488
@ -102,16 +102,18 @@ public class PositionMapLineDTO {
|
||||
@Schema(description = "终点高")
|
||||
private Double endHigh;
|
||||
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随) 如果是单向的话 0代表正 1代表反 2代表随意", example = "15890")
|
||||
private Integer toward;
|
||||
|
||||
@Schema(description = "发送给路径规划 车头朝向(0正 1反)", example = "15890")
|
||||
@Schema(description = "发送给路径规划 车头朝向(0正 1反 2随)", example = "15890")
|
||||
private Integer ppToward;
|
||||
|
||||
|
||||
/**
|
||||
* 双向车道 反向行走变更车头朝向
|
||||
*
|
||||
* 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随
|
||||
*
|
||||
* @param toward
|
||||
* @return
|
||||
*/
|
||||
@ -124,6 +126,48 @@ public class PositionMapLineDTO {
|
||||
return 0;
|
||||
} else if (toward == 3) {
|
||||
return 1;
|
||||
} else if (toward == 4) {
|
||||
return 2;
|
||||
} else if (toward == 5) {
|
||||
return 0;
|
||||
} else if (toward == 6) {
|
||||
return 1;
|
||||
} else if (toward == 7) {
|
||||
return 2;
|
||||
} else if (toward == 8) {
|
||||
return 2;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 双向车道 反向行走变更车头朝向
|
||||
*
|
||||
* 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随
|
||||
*
|
||||
* @param toward
|
||||
* @return
|
||||
*/
|
||||
public Integer changeTowardFirst(Integer toward) {
|
||||
if (toward == 0) {
|
||||
return 0;
|
||||
} else if (toward == 1) {
|
||||
return 0;
|
||||
} else if (toward == 2) {
|
||||
return 1;
|
||||
} else if (toward == 3) {
|
||||
return 1;
|
||||
} else if (toward == 4) {
|
||||
return 0;
|
||||
} else if (toward == 5) {
|
||||
return 2;
|
||||
} else if (toward == 6) {
|
||||
return 2;
|
||||
} else if (toward == 7) {
|
||||
return 1;
|
||||
} else if (toward == 8) {
|
||||
return 2;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
@ -102,6 +102,6 @@ public class PositionMapLineDTO {
|
||||
@Schema(description = "终点高")
|
||||
private BigDecimal endHigh;
|
||||
|
||||
@Schema(description = "车头朝向( 0:正正 1:正反 2:反正 3:反反)")
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随")
|
||||
private Integer toward;
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ public class PositionMapLinePageReqVO extends PageParam {
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
|
||||
@Schema(description = "车头朝向( 0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随", example = "15890")
|
||||
private Integer toward;
|
||||
|
||||
}
|
||||
|
@ -130,8 +130,8 @@ public class PositionMapLineRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "车头朝向( 0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||
@ExcelProperty("车头朝向( 0:正正 1:正反 2:反正 3:反反)")
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随", example = "15890")
|
||||
@ExcelProperty("车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随")
|
||||
private Integer toward;
|
||||
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class PositionMapLineSaveReqVO {
|
||||
private BigDecimal reverseSpeedLimit;
|
||||
|
||||
|
||||
@Schema(description = "车头朝向( 0:正正 1:正反 2:反正 3:反反)", example = "15890")
|
||||
@Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随 如果是单向的话 0代表正 1代表反 2代表随意", example = "15890")
|
||||
private Integer toward;
|
||||
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ public class PositionMapLineDO extends BaseDO {
|
||||
private BigDecimal reverseSpeedLimit;
|
||||
|
||||
/**
|
||||
* 车头朝向(0:正正 1:正反 2:反正 3:反反)
|
||||
* 车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随 如果是单向的话 0代表正 1代表反 2代表随意
|
||||
*/
|
||||
private Integer toward;
|
||||
}
|
||||
|
@ -205,10 +205,12 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
|
||||
List<PositionMapLineDTO> list = new ArrayList<>();
|
||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||
list.add(positionMapLineDO);
|
||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.getToward());
|
||||
list.add(positionMapLineDO);
|
||||
} else {
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeTowardFirst(positionMapLineDO.getToward()));
|
||||
list.add(positionMapLineDO);
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
}
|
||||
@ -280,10 +282,12 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
|
||||
List<PositionMapLineDTO> list = new ArrayList<>();
|
||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||
list.add(positionMapLineDO);
|
||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.getToward());
|
||||
list.add(positionMapLineDO);
|
||||
} else {
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeTowardFirst(positionMapLineDO.getToward()));
|
||||
list.add(positionMapLineDO);
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
}
|
||||
@ -533,7 +537,7 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
.expansionZoneAfter(positionMapLineDO.getExpansionZoneFront())
|
||||
.expansionZoneLeft(positionMapLineDO.getExpansionZoneRight())
|
||||
.expansionZoneRight(positionMapLineDO.getExpansionZoneLeft())
|
||||
.toward(positionMapLineDO.changeToward(positionMapLineDO.getToward()))
|
||||
.ppToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()))
|
||||
.build();
|
||||
return build;
|
||||
}
|
||||
@ -548,10 +552,12 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
|
||||
List<PositionMapLineDTO> list = new ArrayList<>();
|
||||
for (PositionMapLineDTO positionMapLineDO : positionMapLineDOS) {
|
||||
list.add(positionMapLineDO);
|
||||
if (DirectionEnum.ONE_WAY.getType().equals(positionMapLineDO.getDirection())) {
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeToward(positionMapLineDO.getToward()));
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.getToward());
|
||||
list.add(positionMapLineDO);
|
||||
} else {
|
||||
positionMapLineDO.setPpToward(positionMapLineDO.changeTowardFirst(positionMapLineDO.getToward()));
|
||||
list.add(positionMapLineDO);
|
||||
list.add(setPositionMapLineDTOData(positionMapLineDO));
|
||||
}
|
||||
}
|
||||
|
@ -301,8 +301,7 @@ public class PositionMapServiceImpl extends ServiceImpl<PositionMapMapper, Posit
|
||||
|
||||
@Override
|
||||
public void emergencyStopOrRecovery(Long id) {
|
||||
// 先获取当前地图上的所有AGV信息
|
||||
|
||||
// todo 先获取当前地图上的所有AGV信息
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user