-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhello_drone.py
48 lines (41 loc) · 1.73 KB
/
hello_drone.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import dronekit_sitl
from dronekit import connect, VehicleMode
# Connection
try:
print("Connecting to vehicle on '/dev/ttyACM0'")
vehicle = connect ('/dev/ttyACM0', wait_ready = True, baud = 57600)
sitl = False
except:
print("Can't connect to physical vehicle.")
print("Starting simulated vehicle.")
sitl = dronekit_sitl.start_default() # Simulator
connection_string = sitl.connection_string()
print("Connecting to vehicle on {}".format(connection_string))
vehicle = connect(connection_string, wait_ready=True)
print("Get some vehicle attributes (state):")
print("Autopilot Firmware version: %s" % vehicle.version)
print("Autopilot capabilities (supports ftp): %s" % vehicle.capabilities.ftp)
print("Global Location: %s" % vehicle.location.global_frame)
print("Global Location (relative altitude): %s" % vehicle.location.global_relative_frame)
print("Local Location: %s" % vehicle.location.local_frame)
print("Attitude: %s" % vehicle.attitude)
print("Velocity: %s" % vehicle.velocity)
print("GPS: %s" % vehicle.gps_0)
print("Groundspeed: %s" % vehicle.groundspeed)
print("Airspeed: %s" % vehicle.airspeed)
print("Gimbal status: %s" % vehicle.gimbal)
print("Battery: %s" % vehicle.battery)
print("EKF OK?: %s" % vehicle.ekf_ok)
print("Last Heartbeat: %s" % vehicle.last_heartbeat)
print("Rangefinder: %s" % vehicle.rangefinder)
print("Rangefinder distance: %s" % vehicle.rangefinder.distance)
print("Rangefinder voltage: %s" % vehicle.rangefinder.voltage)
print("Heading: %s" % vehicle.heading)
print("Is Armable?: %s" % vehicle.is_armable)
print("System status: %s" % vehicle.system_status.state)
print("Mode: %s" % vehicle.mode.name)
print("Armed: %s" % vehicle.armed)
vehicle.close()
if sitl:
sitl.stop()
print("Completed")