Finished grip steering
This commit is contained in:
@@ -10,6 +10,7 @@ function Slave:initialize(options)
|
||||
self.caster = options.Caster
|
||||
self.ackermann = options.Ackermann
|
||||
self.isLeft = options.IsLeft
|
||||
self.offset = options.Offset
|
||||
end
|
||||
|
||||
function Slave:rotate(ang)
|
||||
@@ -17,9 +18,12 @@ function Slave:rotate(ang)
|
||||
self.entity:setFrozen(1)
|
||||
end
|
||||
|
||||
local angle = Angle(0, ang, 0)
|
||||
local ackermann = math.sin(math.rad(ang)) ^ 2 * self.ackermann * (self.isLeft and -1 or 1)
|
||||
local yaw = self.offset + ang + ackermann
|
||||
local roll = (self.isLeft and 1 or -1) * self.camber - ang / 270 * self.caster
|
||||
|
||||
local angle = Angle(0, yaw, roll)
|
||||
local transformedAngle = self.base:localToWorldAngles(angle)
|
||||
|
||||
self.entity:setAngles(transformedAngle)
|
||||
-- rotate slave here
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user