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