| | |
| | | |
| | | AgvModel agvModel = agvModelService.getByAgvId(agvId); |
| | | Double workDirection = agvModel.getWorkDirection(); |
| | | final double oppWorkDir = (workDirection + 180) % 360; |
| | | boolean backupAction = null != agvModel.getBackupAction() && agvModel.getBackupActionBool(); |
| | | boolean needUndocking = null != agvModel.getNeedUndocking() && agvModel.getNeedUndockingBool(); |
| | | AgvSpeedType agvSpeedType = AgvSpeedType.query(agvModel.getTravelSpeed()); |
| | |
| | | Double nextDirection = mapService.calculateDirection(lastCode, nextCode, angleOffsetVal); |
| | | |
| | | // 反向角 |
| | | final double oppWorkDir = (workDirection + 180) % 360; |
| | | final double oppLastDir = (lastDirection + 180) % 360; |
| | | |
| | | // 如果下一个方向正好是作业方向的相反方向,则重置下一个方向为作业方向,标记 reverse = true |
| | |
| | | } |
| | | |
| | | if (null == codeGap) { |
| | | codeGap = getOne(new LambdaQueryWrapper<CodeGap>().eq(CodeGap::getCode0, code0).eq(CodeGap::getCode1, code1)); |
| | | codeGap = this.getOne(new LambdaQueryWrapper<CodeGap>() |
| | | .eq(CodeGap::getCode0, code0).eq(CodeGap::getCode1, code1).last("limit 1")); |
| | | if (codeGap == null) { |
| | | codeGap = getOne(new LambdaQueryWrapper<CodeGap>().eq(CodeGap::getCode1, code0).eq(CodeGap::getCode0, code1)); |
| | | codeGap = this.getOne(new LambdaQueryWrapper<CodeGap>() |
| | | .eq(CodeGap::getCode1, code0).eq(CodeGap::getCode0, code1).last("limit 1")); |
| | | } |
| | | } |
| | | |
| | | if (null == codeGap) { |
| | | // throw new CoolException("failed to find code of both " + code0 + " and " + code1); |
| | | } |
| | | |
| | | return codeGap; |
| | | } |
| | | |