angleUtil

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AngleStart         int16 = -18000
	AngleEnd           int16 = 18000
	AngleCircle        int32 = 36000
	AngleCircleHalf    int16 = 18000
	AngleCircleQuarter int16 = 9000
	AngleZero          int16 = 0
	RobotNoRotateAngle int16 = 20000
	RobotRotateAngle   int16 = -20000
	RobotLeftMove      int16 = 30000
	RobotRightMove     int16 = -30000
)

Variables

This section is empty.

Functions

func AddInt16

func AddInt16(x ...int16) (r int32)

int16 数字的相加

func CalcCurPalletHeading

func CalcCurPalletHeading(robotHeading int16, palletAngle int16) (palletHeading int16)

计算小车身上托盘相对于地图角度(单位是0.01度) param: robotHeading 小车相对于地图角度 param: palletAngle 托盘相对于小车的角度(俯视图来观察)(范围在-18000~18000) return: palletHeading 托盘相对于地图角度

func CalcCurRackHeading

func CalcCurRackHeading(robotHeading int16, rackAngle int16) (rackHeading int16)

计算货架相对于地图角度(单位是0.01度) param: robotHeading 小车相对于地图角度 param: rackAngle 货架相对于小车的角度(俯视图来观察)(范围在-18000~18000) return: rackHeading 货架相对于地图角度

func CalcMapTwoPointsHeading

func CalcMapTwoPointsHeading(startX int, startY int, endX int, endY int) (heading int16)

计算两点的向量相对于地图的角度(适用于计算路相对于地图角度,车头相对于地图角度) param: startX 起点x坐标 param: startY 起点y坐标 param: endX 终点x坐标 param: endY 终点y坐标 return: pathHeading 路相对于地图的角度

func CalcMinRotateAngle

func CalcMinRotateAngle(targetHeading int16, curHeading int16) (minRotateAngle int16)

计算最小旋转角度 param: targetHeading 目标角度 param: curHeading 当前角度 return: minRotateAngle 最小旋转的角度,范围在[-180~180](为正时,小车逆时针转,为负时,小车顺时针转)

func CalcPalletAngle

func CalcPalletAngle(robotHeading int16, palletHeading int16) (palletAngle int16)

计算托盘相对于小车的角度 公式 : 托盘相对于小车角度 = 圆整(托盘相对于地图角度 - 小车相对于地图角度 + 9000) param: robotHeading 小车相对于地图角度 param: palletHeading 托盘相对于地图角度(俯视图来观察)(范围在-180~180) return : palletAngle 托盘相对于小车角度(俯视图来观察)(范围在-180~180)

func CalcRackHeading

func CalcRackHeading(pathHeading int16, rackPathAngle int16) (rackHeading int16)

计算货架相对于地图的角度 公式: 货架运动时相对于地图角度 = 圆整(路相对于地图角度 + 货架相对于路的角度 - 9000) param: pathHeading 小车相对于地图角度 param: rackPathAngle 货架相对于路的角度(俯视图来观察)(范围在-180~180) return : palletAngle 货架相对于地图的角度(俯视图来观察)(范围在-180~180)

func CalcRobotTargetHeading

func CalcRobotTargetHeading(targetRobotHeading int16, curRobotHeading int16) (targetRobotHeadingR int16)

计算小车目标角度 param: targetRobotHeading 目标小车角度 param: curRobotHeading 当前小车角度 return: targetRobotHeadingR 目标小车角度

func CalcTargetHeading

func CalcTargetHeading(robotHeading int16, palletAngle int16, rackHeading int16, targetRackHeading int16, offsetAngle int16) (targetHeading int16, isNeedChangePod bool)

计算最终下位机需要的换向指令中的targetHeading (最终托盘与小车一起旋转成到角度(单位是0.01度),小车车身与托盘随动) 计算原理:

目标货架角度 - 当前货架角度 = 目标托盘角度(targetHeading)- 当前托盘角度(都相对于地图来说的)

param: robotHeading 小车相对于地图角度 param: palletAngle 托盘相对于小车角度(俯视图来观察)(范围在-180~180) param: rackHeading 货架相对于地图的角度 param: targetRackHeading 最终托盘相对于地图角度 param: offsetAngle 偏差范围 (+-) return: targetHeading,ok 托盘相对于地图的角度(小车在转动时会随着托盘一起转) , 是否需要小车进行换向(false : 不需要换向, true : 需要换向)

func ReversalHeading

func ReversalHeading(heading int16) int16

将给定角度调转180

func RoundAngle

func RoundAngle(angle int32) int16

将角度转换到[-18000,18000] 之间

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL