diff --git a/ROS/osr/src/rover.py b/ROS/osr/src/rover.py index 64a6be8..9f514a9 100755 --- a/ROS/osr/src/rover.py +++ b/ROS/osr/src/rover.py @@ -324,7 +324,12 @@ def forward_kinematics(self): drive_angular_velocity = (self.curr_velocities['drive_left_middle'] + self.curr_velocities['drive_right_middle']) / 2. self.curr_twist.twist.linear.x = drive_angular_velocity * self.wheel_radius # now calculate angular velocity from its relation with linear velocity and turning radius - self.curr_twist.twist.angular.z = self.curr_twist.twist.linear.x / self.curr_turning_radius + try: + self.curr_twist.twist.angular.z = self.curr_twist.twist.linear.x / self.curr_turning_radius + except ZeroDivisionError: + rospy.logwarn_throttle(1, "Current turning radius was calculated as zero which" + "is an illegal value. Check your wheel calibration." + self.curr_twist.twist.angular.z = 0. # turning in place is currently unsupported if __name__ == '__main__':