이제 서로 다른 이동 명령을 개별적으로 사용하는 방법을 알았으므로 함께 사용할 때 어떤 일이 발생하는지 살펴봅시다! 첫 번째 통합 프로그램에 대해 아래 단계를 완료하십시오.
- 지금까지 진행한 yaw.py 또는 연습 파일의 복사본을 만드세요 .
- 드론이 20% 파워로 1초간 전진하게 하는 명령어를 입력합니다.
- 드론을 20% 파워로 2초간 왼쪽으로 움직이게 하는 명령어를 입력합니다.
완료되면 코드를 실행하고 어떤 일이 일어나는지 확인하세요! 코드 실행에 문제가 있는 경우 아래에 예제 코드가 있습니다.
from codrone_edu import *
drone = Drone()
drone.pair()
drone.takeoff()
drone.set_pitch(20)
drone.move(1)
drone.set_roll(-20)
drone.move(2)
drone.land()
drone.close()
💡코드를 실행할 때 무엇을 관찰했나요? 드론이 올바르게 앞으로 이동했지만, 그후에 앞과 왼쪽으로 동시에 이동했음을 눈치챘을 것입니다. 이것은 우리가 피치를 다시 0으로 설정하지 않았기 때문입니다. 앞서 기억한다면 이러한 set_movement()
명령이 변수 값을 변경한다는 것을 배웠습니다. 값을 다시 0으로 설정하지 않으면 마지막으로 설정한 값이 그대로 유지됩니다. 이것은 한 번에 두 방향(앞과 오른쪽)으로 움직이고자 할 때 유용할 수 있지만, 이번에는 우리가 원했던 동작이 아니었습니다.
드론이 왼쪽으로만 움직이도록 피치 값을 재설정하는 방법을 생각해 보세요. 이를 위해 드론이 앞으로 이동한 후 피치를 0으로 설정하기만 하면 됩니다.
drone.set_pitch(0)
이 새 코드 줄을 프로그램에 추가하고 다시 실행해보세요. 이번에는 드론이 앞으로 이동한 다음 왼쪽으로만 이동해야 합니다. 다음은 재설정 값이 적용된 코드의 모습입니다.
drone.set_pitch(20) # 20% 출력으로 드론을 앞으로 움직입니다.
drone.move(1) # 1초간 이동
drone.set_pitch(0) # 피치를 다시 0으로 재설정합니다.
drone.set_roll(-20) # 20% 출력으로 드론을 왼쪽으로 이동합니다.
drone.move(2) # 2초간 이동