def turn_to(self,goal_angular):
rospy.on_shutdown(self.brake) #???????????
current_angular = start_angular = self.robot_state.get_robot_current_w()#??????????
is_arrive_goal = False
r = rospy.Rate(100)
delta_angular = current_angular - start_angular
delta_upper_limit = abs(goal_angular) + 0.02 #????
delta_lower_limit = abs(goal_angular) - 0.02 #????
move_velocity = g_msgs.Twist()
while not rospy.is_shutdown() and not is_arrive_goal:
if abs(delta_angular)<=delta_upper_limit and abs(delta_angular) >= delta_lower_limit: #????
self.brake()
is_arrive_goal = True
break
current_angular = self.robot_state.get_robot_current_w()
if goal_angular > 0:
move_velocity.angular.z = 0.1
else:
move_velocity.angular.z = -0.1
delta_angular += abs(abs(current_angular) - abs(start_angular) )
start_angular = current_angular
self.cmd_move_pub.publish(move_velocity) #???????????
r.sleep()
self.brake()
move_in_robot.py 文件源码
python
阅读 41
收藏 0
点赞 0
评论 0
评论列表
文章目录