Я написал код, чтобы черепаха развернулась. Код рабочий. Я хочу знать, насколько быстро работает turtlebot и как я могу его контролировать. Например, как я могу обеспечить поворот turtlebot на 5 градусов за одну минуту? Последняя часть вопроса. После нажатия Ctrl- C turtlebot останавливается, но скрипт продолжает работать. Зачем? и как я могу это остановить?
этот пост действительно не помогает.
прошел через этот пост . Означает ли это, что в то время как l oop ниже запускается 5 раз в секунду независимо от значений, которые я ввел в для циклов? Или это означает, что ROS изо всех сил старается, чтобы l oop работал 5 раз в секунду в меру своих возможностей? Большое спасибо.
# 5 HZ
angle = 5
r = rospy.Rate(5);
while not rospy.is_shutdown():
# code to turn
for x in range(0,100):
rospy.loginfo("turn")
turn_cmd.angular.z = radians(angle)
new_angle = (angle + new_angle) % 360
self.cmd_vel.publish(turn_cmd)
r.sleep()
# code to pause
for x in range(0,100):
rospy.loginfo("stop")
turn_cmd.angular.z = radians(0)
self.cmd_vel.publish(turn_cmd)
r.sleep()
def shutdown(self):
# stop turtlebot
rospy.loginfo("Stop turning")
self.cmd_vel.publish(Twist())
rospy.sleep(1)