Alles verbessert
This commit is contained in:
@@ -24,6 +24,7 @@ class Rover():
|
||||
self.wheel_ry = 20.3
|
||||
self.wheel_fx = 16.0
|
||||
self.wheel_fy = 20.3
|
||||
self.point_turn_max_angle = 45
|
||||
|
||||
max_steering_angle = 45
|
||||
self.ackermann_r_max = 250
|
||||
@@ -152,10 +153,14 @@ class Rover():
|
||||
return steering_angles
|
||||
|
||||
if(self.locomotion_mode == LocomotionMode.POINT_TURN.value):
|
||||
point_turn_angle = int(math.degrees(
|
||||
math.atan((self.wheel_rx + self.wheel_fx) / self.wheel_ry)))
|
||||
point_turn_angle_center = int(math.degrees(
|
||||
math.atan((((self.wheel_rx + self.wheel_fx) / 2) - self.wheel_fx) / (self.wheel_ry / 2))))
|
||||
raw_point_turn_angle = math.degrees(
|
||||
math.atan((self.wheel_rx + self.wheel_fx) / self.wheel_ry))
|
||||
raw_point_turn_angle_center = math.degrees(
|
||||
math.atan((((self.wheel_rx + self.wheel_fx) / 2) - self.wheel_fx) / (self.wheel_ry / 2)))
|
||||
|
||||
point_turn_angle = int(min(self.point_turn_max_angle, raw_point_turn_angle))
|
||||
center_scale = 0.0 if raw_point_turn_angle == 0 else abs(raw_point_turn_angle_center / raw_point_turn_angle)
|
||||
point_turn_angle_center = int(point_turn_angle * center_scale)
|
||||
|
||||
steering_angles[self.FL] = point_turn_angle
|
||||
steering_angles[self.FR] = -point_turn_angle
|
||||
|
||||
Reference in New Issue
Block a user