Hi again, we now have it hovering and being able to control the thrust through the ZMQ interface, however we have encountered another difficulty.
Now we want the drone to roll and pitch to move it in the horisontal plane, but it seems as though we either lack the understanding of the parameters or the code.
Lets sau we want the drone to roll at an angle of 10 degrees
We have the following code :
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Test af vinkelkontrol
import time
try:
import zmq
except ImportError as e:
raise Exception("ZMQ library probably not installed ({})".format(e))
context = zmq.Context()
sender = context.socket(zmq.PUSH)
bind_addr = "tcp://127.0.0.1:{}".format(1024 + 188)
sender.connect(bind_addr)
cmdmess = {
"version": 1,
"ctrl": {
"roll": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"thrust": 99
}
}
print("starting to send control commands!")
# Herfra er det imperativt eksekveret
# Oplåsning af "thrust protection"
cmdmess["ctrl"]["thrust"] = 0
sender.send_json(cmdmess)
print("slut på thrustlock ")
#D
# Dronen flyver opad
cmdmess["ctrl"]["thrust"] = 62
sender.send_json(cmdmess)
time.sleep(1)
#Dronen holder stille i luften i 3 sek (ved fuld opladet batt og 3 viconkugler)
print("lander!!!!!!!!")
cmdmess["ctrl"]["thrust"] = 58.2
sender.send_json(cmdmess)
time.sleep(3)
#Dronen flyver fremad med en vinkel på (forhåbentlig) 3 grader i 1 sekundt.
print("lander!!!!!!!!")
cmdmess["ctrl"]["roll"] = 10
sender.send_json(cmdmess)
time.sleep(1)
#Dronen retter op og gør klar til stilstand
#Dronen flyver fremad med en vinkel på (forhåbentlig) 3 grader i 1 sekundt.
print("lander!!!!!!!!")
cmdmess["ctrl"]["roll"] = 0
sender.send_json(cmdmess)
time.sleep(0.1)
#Dronen holder stille i luften i 2 sek (ved fuld opladet batt og 3 viconkugler)
print("lander!!!!!!!!")
cmdmess["ctrl"]["thrust"] = 58.2
sender.send_json(cmdmess)
time.sleep(2)
#Dronen daler i 4 sekunder
print("Vinkler dronen")
cmdmess["ctrl"]["thrust"] = 56
sender.send_json(cmdmess)
time.sleep(4)
#Dronen slukker motorerne
print("slut for programmet ")
cmdmess["ctrl"]["thrust"] = 0
sender.send_json(cmdmess)
print("motorer slukket")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
However, no matter what i change the "roll" parameter to, it will not move at an angle but merely stands still in the air.
Are we missing osmething

?
Br,
Rasmus