使用前準備
- 安裝 Swift Playground
- 安裝TELLO SPACE TRAVEL
- 所有TELLO EDU 必須用TELLO App Activate
- 如沒有”TELLO SPACE TRAVEL”, 可用DroneBlocks 團隊開發的 (未完成)
Swift Playground BASIC 基本任務
- TakeOff and Landing
- Ascent and Descent
- Forward and BAckward
- Fly over the Space Station
- Left and Right
- Fly Around the Space Station
- Changing the Course (起飛, 左轉90度, 右轉90度, 降落)
- Patrol Around Space Station (根據圖示,運用for loop, 圍繞基地轉一個圈)
- Inspecting the Space Station (根據圖示,運用for loop, 圍繞基地轉一個圈)
- Fly at Will (自由發輝)
Swift Playground Advance 進階任務
- Height Sensors 取後目前高度
- Adjust Fight Speed 調校飛行速度 - 前進180cm , 轉180度, 以50%速度前進180cm
- Observe the Front - 直線飛flyLine(x,y,z) 到 (x:100, y:100, z:0)
- Observe the Back - 曲線flyCurve(x,y,z)由(x:100,y:100,z:0)飛到 (x:200, y:0, z:0)
- Full Observation - 飛到星球的最高點,以getHeight() 取得高度直線飛到(x:13: y:0,z:50), 曲線到點 (x:100, y:0,z:100), 取得高度, 曲線到點(87,0,-50), 直線到點(100,0,-100)
- Fill at Will (自由發輝)
Swift Playground Mission Pad
- 用Mission Pad, 每塊相距100cm
- TELLO可辨識下面[20-100cm]的mission pad 的數字
- TELLO可辨識平面 60cm x 60cm 的面積
Mission: (1-3只用一塊), 4用兩塊
- Reading the Coordinate起飛, 用getPadID() 取得Mission Pad 編號, 用getPadPos() 取得TELLO處於MissionPad的位置
- Fly to Given Coordinate起飛, 用getPadID() 取得Mission Pad 編號, 直線飛到(x:30, y:0, z:100, pad: padID), Land()
- Fly Around the Planets取得Mission Pad 編號,用flyLine 飛往C1, C2,C3, C4,直線返回 (0,0,100),降落
- Galaxy Jump 把TELLO放於Mission Pad 1getPadID() 取得Mission Pad 編號,transit (100,0,100, pad1, pad2),降落
- Return from the New Galaxy - 來回不同宇宙起飛transit (100,0,100, pad1, pad2),transit (100,0,100, pad2, pad1),降落
- Explorer the New Galaxy 尋找不同宇宙getPadID() 取得Mission Pad 編號,使用transit(x,y,z,pad1, pad2) 在不同宇宙間移動
- Fill at Will (自由發輝)
Swarm 群飛
-需要連接到AP (Router)
-swarm.scan(number:Int) 尋找所有已連接的TELLO, 機號由[0], [1], ...
-swarm.tello[0].takeOff() 飛0號機
- Connect Tellos to an AP 連接第一部TELLOconnectAP(ssid: “______", password: “_______")連接幾部
- Find All Tellos 尋找所有已連接的TELLOswarm.scan()swarm.tellos.takeOff()swarm.tellos.land()
- Control the Flow 指令同步,如一部機指令未完,其他機會先等候-每部TELLO在獨立的Mission Pad, 每塊Mission Pad 1m 距離全部起飛一半機飛高50cm, 一半機飛低50cm飛高了的飛低100cm, 飛低的飛高100cm重覆4次, 最後飛到一樣高,降落
- Form A Guarding Fence使用4塊Mission Pad (按順時針1,2,3,4)
function list:
takeoff and landing
- land()
- takeoff()
- wait(seconds:UInt)
基本前進, 升降, 轉向
- flyBackward(cm:Unit)
- flyDown(cm:UInt)
- flyForward(cm:UInt)
- flyLeft(cm:UInt)
- flyRight(cm:UInt)
- flyUp(cm:UInt)
- turnLeft(degree:Int)
- turnRight(degree:Int)
進階指令 Advanced
- flyCurve(x1:Int, y1:Int, z1:Int, x2:Int, y2:Int, z2:Int) 曲線由(x1,y1,z1)飛到 (x2, y2, z2)
- flyLine(x:Int, y:Int, z:Int) - 直線飛到坐標(x, y, z)
- getHeight()
- setSpeed(cms:UInt)
Mission Pad
- getPadID()
- getPadPos()
- transit(x:Int, y:Int, z:Int, pad1:Int, pad2:Int)
Swarm 群飛
Connect 連接
- 需要連接到AP (Router)
- connectAP(ssid: “______", password: “_______")
- -開機,再長按Power Button 重設至普通模式
控制
- swarm.scan(number:Int) 尋找所有已連接的TELLO, 機號由[0], [1], ...
- swarm.tello[0].takeOff() 飛0號機
- swarm.tellos.takeOff() 全部起飛
- swarm.tellos.land() 全部降落
- swarm.sync(seconds:10)
- swarm.tellos.transit(x,y,z) 指示 TELLO飛到下一塊Mission Pad內的x,y,z位置
func () {
while i { //無限重覆
code
}
}
for i in 1…3 { //重覆3次
code
}
Basic Flow
Connect Tellos to AP
Find all Tellos
Control the Flow
Form A Guarding Fence
沒有留言:
發佈留言