n-bz / bybop Goto Github PK
View Code? Open in Web Editor NEWBebop Drone control from python
License: BSD 3-Clause "New" or "Revised" License
Bebop Drone control from python
License: BSD 3-Clause "New" or "Revised" License
Hi,
I am having issue with the last firmware 4.4.0 and a Bebop2. The following command raises error which did not appear under the firmware 4.0.5
drone = Bybop_Device.create_and_connect(device, d2c_port, controller_type, controller_name)
Exception in thread Thread-1:
Traceback (most recent call last):
File "../src/Bybop_Commands.py", line 212, in unpack_command
(i_proj, i_cls, i_cmd) = struct.unpack('<BBH', buf[:4])
struct.error: unpack requires a bytes object of length 4
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "../src/Bybop_NetworkAL.py", line 112, in _read_loop
self._listener.data_received(type, buf, seq, recv_data)
File "../src/Bybop_Network.py", line 179, in data_received
self._process_data(buf, seq, recv_data)
File "../src/Bybop_Network.py", line 185, in _process_data
self._listener.data_received(buf, recv_data)
File "../src/Bybop_Device.py", line 248, in data_received
dico, ok = unpack_command(data)
File "../src/Bybop_Commands.py", line 214, in unpack_command
raise CommandError('Bad input buffer (not an ARCommand)')
Bybop_Commands.CommandError: 'Bad input buffer (not an ARCommand)'
We were getting similar problems with this program
https://github.com/Cubillosxy/MYO-PYTHON-BEBOP/tree/master/core
Strangely the drone still seem to register some commands but not always reliably. Do you know why would the new firmware creates those errors?
Best
Hello, sorry for creating an issue for this, but i couldn't find your e-mail to ask you through there..
I just bought a Parrot Bebop 2, but i have no idea how their SDK works. Is this code also compatible with Bebop 2? If so, i will probably be contributing to this a lot, cause i want to play around with that drone and Python.
Thanks,
Ramon.
When I try to retrieve the device state to find out its speed, there is no SpeedChanged command for PilotingState class. The command is specified in arsdk-xml though:
<cmd name="SpeedChanged" id="2"> Notification sent when JS speed changes. <arg name="speed" type="i8"> Speed command applied to motors in range [-100;100]. </arg> <arg name="realSpeed" type="i16"> Actual real-world speed in cm/s. Value -32768 returned if not available. </arg> </cmd>
and screen shot shows what I am actually getting.
Is it a firmware problem? How can I check this?
Thank you
Hey,
first: thanks for this great project I really like to play round with it and got it running for a gesture control of the jumping night using Microsoft Kinect.
Unfortunately, I didn't get the drone running with the current SDK and firmware version 2.1.77.
After connecting to the drone and starting the interactive skript, I get no response. The drone can not be found.
Do you have any clue why it isn't working and how to fix it?
best regards,
Tala
In the bybop readme, it says: "This project contains a sample code (samples/interactive.py), which uses bybop
to find a drone, and to connect to it, then pops an interactive python shell in which you can play with the drone object. You can run this sample with the following command (run inside the samples directory):
ARSDK_PATH=/path/to/the/ARSDK ./interactive.py
Where ARSDK_PATH
is the path to the folder containing the ARSDKBuildUtils
and the libARCommands
repo (see Prerequisites)."
I am finding this a little confusing. If I run interactive.py from F:\Bebop2\bybop\samples directory and have F:\Bebop2\ARSDKBuildUtils and F:\Bebop2\libARDiscovery directories. What do I set ARSDK to?
I set ARDSK_PATH = F:\Bebop2\ARSDKBuildUtils; F:\Bebop2\libARDiscovery and get this error:
python MyInteractive.py
Traceback (most recent call last):
File "MyInteractive.py", line 19, in
import Bybop_Device
File "../src\Bybop_Device.py", line 10, in
from Bybop_Commands import *
File "../src\Bybop_Commands.py", line 29, in
from ARCommandsParser import *
ModuleNotFoundError: No module named 'ARCommandsParser'
I suspect I did not set ARSDK_PATH correctly. Do you know what I am missing?
Hello everyone! I come to you because I have a project, with an anafi and I have a problem when launching interactive.py. After installing zeroconf with pip install zeroconf I started the script"./interactive.py" but it comes out as an error:
Traceback (most recent call last):
File "interactive.py", line 11, in
from Bybop_Discovery import Discovery, DeviceID, get_name
File "../src/Bybop_Discovery.py", line 4, in
from zeroconf import ServiceBrowser, Zeroconf
ImportError: No module named 'zeroconf'
So I think the script can't join the zeroconf module. I'm on debian 9.8, thanks for your help
@N-Bz
Hi,
We need a new function on bebop2 that we hope it could take a photo and transmit the photo to the controller side through Wi-Fi. However, I found that the bebop2 could only take photo and save it in the storage of the UAV. Is there a solution about this?
THX!
Shiyu
I wish to use PMCD command to move the Bebop2 to a relative point from current position.
I have tried:
drone.send_data('ardrone3.Piloting.PCMD( 1, 1, 0, 0 , 0 )')
but I got error:
Bad command !'Unknown command PCMD( 1, 1, 0, 0 , 0 ) in class Piloting of project ardrone3'
1
The moveTo(lat,lon,alt,0,0.0) function not working, i've update the arsdk to the latest version but drone stay in hovering after moveTo command. PilotingState.moveToChange is "None".
Any ideas?
@N-Bz
Thanks for your help before! Our project is based on the Window platform, so I try to execute the bybop on Windows. However, the get_device() function couldn't found the device in the Wi-Fi connection. Why?
I'm curious about the zeroconf that how it find the device and change the value in self._services. I couldn't get the point in the source code. I search on the Internet for the zeroconf in Python but found nothing. Could you give me some instruction or tutorial about zeroconf?
THX!
I couldn't find the ARCommands XML in the package/ARCommands/. How to deal with this problem?
THX!
Hello, I saw that you got the Absolute heading and you write something on the Parrot forum, is that possible if you can help me how did you get it?
Hi! I add function to Bybop_Device but calling it after take off causes no effect at drone side and not responding on another commands at PC side. That's can be a problem?
(without calling it, I call take_off and land without problems)
def moveBy(self, dx, dy, dz, rotate_rad):
"""
Move the drone to a relative position. The drone will move of the given offsets.
"""
print("moveBy",dx,dy,dz,rotate_rad)
self.send_data('ardrone3.Piloting.moveBy', dx, dy, dz, rotate_rad)
I tried to run interactive.py on python 2.7.
But it had some of error like following.
I finished clone and update "git submodule init; git submodule update"
Please let me know how to solve it.
Thank you.
**>>> ================================ RESTART ================================
Traceback (most recent call last):
File "D:\ParrotDroneSDK\Python\ParrotPythonSDK\bybop\samples\interactive.py", line 7, in
import readline
ImportError: No module named readline
**
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.