Контроль швидкості шасі є типовою практикою миттєвого управління. Після видачі команди управління робот негайно рухається з заданою швидкістю.
• Спочатку ініціалізуйте об’єкт робота, як описано в розділі Ініціалізація робота.
• Інтерфейс для управління шасі належить до модуля chassis. Тому спочатку отримайте об’єкт chassis, як описано в розділі Отримання об’єктів модуля. У цьому прикладі використовується метод 1 для отримання об’єктів модуля:
ep_chassis= ep_robot.chassis
• Використовуйте метод dirve_speed () в об’єкті chassis, щоб контролювати швидкість шасі. Параметри x, y та z методу представляють швидкість руху вперед, поперек та обертання відповідно. У цьому прикладі швидкість руху вперед x встановлено на 0,5 м/с. Параметр timeout використовується для визначення періоду очікування. Якщо після закінчення цього періоду команда контролю швидкості не надходить, SDK дає вказівку роботу зупинитися. У цьому прикладі час очікування встановлено на 5 секунд, а швидкість – на 0 після того, як робот рухається із заданою швидкістю протягом 3 секунд:
ep_chassis.drive_speed(x=0.5, y=0, z=0, timeout=5) time.sleep(3) ep_chassis.drive_speed(x=0, y=0, z=0, timeout=5)
• Звільніть відповідні ресурси, як описано в розділі Звільнення ресурсів роботів.
Для повного процесу контролю швидкості шасі зверніться до прикладів програми /02_chassis/03_speed.py. У цій програмі швидкість роботи змінюється щоразу, коли робот рухається із зазначеною швидкістю протягом трьох секунд.
import time from robomaster import robot if __name__ == '__main__': ep_robot = robot.Robot() ep_robot.initialize(conn_type="sta") ep_chassis = ep_robot.chassis x_val = 0.5 y_val = 0.3 z_val = 30 # 前进 3秒 ep_chassis.drive_speed(x=x_val, y=0, z=0, timeout=5) time.sleep(3) # 后退 3秒 ep_chassis.drive_speed(x=-x_val, y=0, z=0, timeout=5) time.sleep(3) # 左移 3秒 ep_chassis.drive_speed(x=0, y=-y_val, z=0, timeout=5) time.sleep(3) # 右移 3秒 ep_chassis.drive_speed(x=0, y=y_val, z=0, timeout=5) time.sleep(3) # 左转 3秒 ep_chassis.drive_speed(x=0, y=0, z=-z_val, timeout=5) time.sleep(3) # 右转 3秒 ep_chassis.drive_speed(x=0, y=0, z=z_val, timeout=5) time.sleep(3) # 停止麦轮运动 ep_chassis.drive_speed(x=0, y=0, z=0, timeout=5) ep_robot.close()