コード例 #1
0
def run():
    with open('pid.txt', 'w') as f:
        f.write('NO TERMINE')
    drone1 = drone.drone(HOME)
    drone1.bebop.connect(10)
    logStats = stats.stats(drone1, )
    stateMachine1 = stateMachine(HOME, INIT_POI_POSITION, FOREVER_ALONE,
                                 drone1, logStats)

    connection = threading.Thread(target=main, args=(
        drone1,
        stateMachine1,
    ))

    if not SUPER_MAIN:
        connection2 = threading.Thread(target=interface, args=(drone1, ))
        connection2.start()

    connection.start()

    if SPHINX_SIMULATION and ACTIVATE_GRAPHIC_MAP:
        connection3 = threading.Thread(target=plotMatrix,
                                       args=(
                                           drone1,
                                           stateMachine1,
                                       ))
        connection3.start()
コード例 #2
0
def main():
    drone1 = drone.drone(HOME)
    drone1.bebop.connect(10)
    drone1.bebop.ask_for_state_update()
    drone1.bebop.set_user_sensor_callback(sensorCallback, drone1)
    drone1.bebop.safe_takeoff(10)
    time.sleep(10)
    drone1.bebop.safe_land(10)
コード例 #3
0
def main(drone1):
    drone1 = drone.drone((0, 0))
    my_ip = connections.get_server_ip()

    client_handler = threading.Thread(target=connections.run_server,
                                      args=(
                                          my_ip,
                                          drone1,
                                      ))
    client_handler.start()
    client1 = client.client()
    client1.search_friends(my_ip)

    print('take_off', drone1)
    drone1.take_off()

    #result2= (23,31)
    #drone2.updateSearchMap(result)
    #drone1.updateSearchMap(result2)
    for i in range(4000):
        new_position = drone1.explore()
        drone1.move(new_position)
        message = utils.convertTupleToString(drone1.current_position)
        client1.send_message(message)

        #drone2.updateSearchMap(result)
        #result2 = drone2.explorar(result2)
        #drone1.updateSearchMap(result2)
        if i == 200:
            drone1.battery_status = LOW
            print("es low")
        if i == 230:
            print("es critical")
            drone1.goHome()
        if drone1.current_position == drone1.home:
            drone1.battery_status = NORMAL
コード例 #4
0
from connections import connections
from connections import client
from flightplans import drone, droneTest
from batteryEnum import LOW, CRITICAL, NORMAL
import time
import utils
import threading

drone1 = drone.drone((23, 31))


def main(drone1):
    drone1 = drone.drone((0, 0))
    my_ip = connections.get_server_ip()

    client_handler = threading.Thread(target=connections.run_server,
                                      args=(
                                          my_ip,
                                          drone1,
                                      ))
    client_handler.start()
    client1 = client.client()
    client1.search_friends(my_ip)

    print('take_off', drone1)
    drone1.take_off()

    #result2= (23,31)
    #drone2.updateSearchMap(result)
    #drone1.updateSearchMap(result2)
    for i in range(4000):
コード例 #5
0
from threading import Thread
from flightplans import drone
import math
from properties import HOME

drone1 = drone.drone(HOME)

print("connecting")
success = drone1.bebop.connect(10)
print(success)


def measure(lat1, lon1, lat2, lon2):  # generally used geo measurement function
    R = 6378.137  # Radius of earth in KM
    dLat = lat2 * math.pi / 180 - lat1 * math.pi / 180
    dLon = lon2 * math.pi / 180 - lon1 * math.pi / 180
    a = math.sin(dLat / 2) * math.sin(dLat / 2) + math.cos(
        lat1 * math.pi / 180) * math.cos(lat2 * math.pi / 180) * math.sin(
            dLon / 2) * math.sin(dLon / 2)
    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
    d = R * c
    return d * 1000  # meters


def main(drone):
    print("RUTA 2 STARTING")
    drone.bebop.smart_sleep(1)

    drone.bebop.set_max_altitude(drone.max_altitude)
    drone.bebop.ask_for_state_update()