이유진

테스크 코드 추가

1 +# 앞으로 이동하고 거리를 일치시키는 테스트 (해당 X 초 동안)
2 +import CoDrone
3 +from CoDrone import Direction
4 +import time
5 +
6 +
7 +def main():
8 + # 드론 셋팅
9 + master = CoDrone.CoDrone()
10 + master.connect("None", "COM5", False)
11 + slave = CoDrone.CoDrone()
12 + slave.connect("None", "COM6", False)
13 +
14 + while True:
15 + # master
16 + mPosition = master.get_opt_flow_position() # 상대좌표 (시작 0,0)
17 + mHeight = master.get_height() # 고도
18 + # slave
19 + sPosition = slave.get_opt_flow_position()
20 + sHeight = slave.get_height()
21 + print("master [x={} y={} z={}] slave [x={} y={} z={}]"
22 + .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight)) # 좌표출력/단위(mm)
23 + if mHeight > 20: # 높이 제약
24 + slave.takeoff()
25 + slave.go(Direction.FORWARD, mPosition.X) # power를 10만주니까 약한 것 같아서 뺐음
26 +
27 + # 종료조건
28 + elif mHeight < -20:
29 + slave.land()
30 + # 연결끊기
31 + master.disconnect()
32 + slave.disconnect()
33 + return
34 +
35 +
36 +if __name__ == '__main__':
37 + main()
1 +# 앞으로 이동하고 거리를 일치시키는 테스트 (duration 없이, 일치하면 stop)
2 +import CoDrone
3 +from CoDrone import Direction
4 +import time
5 +
6 +
7 +def main():
8 + # 드론 셋팅
9 + master = CoDrone.CoDrone()
10 + master.connect("None", "COM5", False)
11 + slave = CoDrone.CoDrone()
12 + slave.connect("None", "COM6", False)
13 +
14 + while True:
15 + # master
16 + mPosition = master.get_opt_flow_position() # 상대좌표 (시작 0,0)
17 + mHeight = master.get_height() # 고도
18 + # slave
19 + sPosition = slave.get_opt_flow_position()
20 + sHeight = slave.get_height()
21 + print("master [x={} y={} z={}] slave [x={} y={} z={}]"
22 + .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight)) # 좌표출력/단위(mm)
23 + if mHeight > 20: # 높이 제약
24 + slave.takeoff()
25 + while sPosition.X <= mPosition.X: # slave의 x좌표가 master의 x보다 작을 때까지!
26 + # 약간... 양수로만 움직인다고 가정
27 + slave.go(Direction.FORWARD)
28 +
29 + # 종료조건
30 + elif mHeight < -20:
31 + slave.land()
32 + # 연결끊기
33 + master.disconnect()
34 + slave.disconnect()
35 + return
36 +
37 +
38 +if __name__ == '__main__':
39 + main()
1 +# 앞으로 이동하고 거리를 일치시키는 테스트 (duration 없이, 일치하면 stop)
2 +# 이번에는 takeoff 하고 시작!!!!!
3 +import CoDrone
4 +from CoDrone import Direction
5 +import time
6 +
7 +
8 +def main():
9 + # 드론 셋팅
10 + master = CoDrone.CoDrone()
11 + master.connect("None", "COM5", False)
12 + slave = CoDrone.CoDrone()
13 + slave.connect("None", "COM6", False)
14 + slave.takeoff() # slave를 띄워놓고 시작. 혹시 이거때문에 제대로 움직이지 않나 싶어서
15 +
16 + while True:
17 + # master
18 + mPosition = master.get_opt_flow_position() # 상대좌표 (시작 0,0)
19 + mHeight = master.get_height() # 고도
20 + # slave
21 + sPosition = slave.get_opt_flow_position()
22 + sHeight = slave.get_height()
23 + print("master [x={} y={} z={}] slave [x={} y={} z={}]"
24 + .format(mPosition.X, mPosition.Y, mHeight, sPosition.X, sPosition.Y, sHeight)) # 좌표출력/단위(mm)
25 + if 40 > mHeight > 20: # 높이 제약
26 + while sPosition.X <= mPosition.X: # slave의 x좌표가 master의 x보다 작을 때까지!
27 + # 약간... 양수로만 움직인다고 가정
28 + slave.go(Direction.FORWARD)
29 +
30 + # 종료조건
31 + elif mHeight < -20:
32 + slave.land()
33 + # 연결끊기
34 + master.disconnect()
35 + slave.disconnect()
36 + return
37 +
38 +
39 +if __name__ == '__main__':
40 + main()