Parrot Drone Mambo - Optical Flow - Vicon

Hi there,
I am trying to disable the optical flow functionality in the Parrot Drone Mambo Flight Simulation full implementation design. I was wondering if there is a quick way to disable the optical flow feature and/or instead feed the X,Y,Z position via the Vicon ROS Subscribe block?
A second issue is feeding the parrot drone with X,Y,Z position via the Vicon ROS Subscribe block. It turns out in order for the ROS Subscribe block to work the external target has to be set to ROS instead of Mambo Parrot Drone. So I'm not sure how I can send the Vicon data from my computer to the drone.
Could you please advise how I may address any of the issues above?
Thank you.
Sincerely,
Ben

3 Comments

Yes, I have the exact same question, Were you able to solve it? I am trying to use UDP but it is communicating slowly and I am unable to get real time pose data.
I tried UDP but it didn't work at all. How did you make it work?
I ran two models. One for parrot mambo in normal mode, and one for the vicon measurements on normal mode. I used the UDP send and received blocks. When I run both models I can see vicon data is fed to the parrot model (in normal mode). But I believe running parrot in normal mode doesn't send the data to the drone, does it?
I tried running the parrot on external mode, but no UDP data is received in parrot's model.
How did you make yours work despite the slow rate problem?
Hi Ben,
Thanks for the reply. I am not able to work with the UDP as well due to slow rate issue. I am doing the same as you said. I run 2 models: one which gets data from vicon across wifi to my laptop and then I send this data to drone on bluetooth.
It is sending the data. You can log the data and check it. Just download the mat log file and see. Currently, I am directly using the x,y,z coordinates sent by vicon to update x,y,z position of drone. I can share the model with you.
I thought about another way as well. We could directly send the data from vicon to drone if we are able to successfully upload the simulink model that vicon has given on their website on the drone. However, after trying that, my drone did not start. Can you try that way and check?
You must be using these models:
I uploaded the udp one on the drone. It uploaded successfully but when I pressed the start button on the flight control interface, it did not run and it said there is bluetooth connection error. I tried uploading the second model which receives data using Vicon SDK. That does not complie successfully and it shows some error. Please could you try these 2 ways and get back to me. My email is jvirdi2@illinois.edu
Thanks
Jasvir

Sign in to comment.

Answers (3)

Hi Jasvir, I also thought of uploading the Vicon model directly to the parrot mambo but it gave the same errors. Now I’m using the Simulink model that Vicon provides to get the data from Vicon to my PC then I’m sending it using udp send block ( from parrot library) and on the parrot side I’m using udp receive (also from parrot library). I can get the data successfully but there’s a big delay. So do still have that delay problem or you could fix it ? Thanks,
Also what’s the sampling rate you set in the udp receive block ( in the parrot side) ? I set it to 0.005 and the set the Vicon model to 0.005 as well but still there’s a big delay.

1 Comment

I hope you are not using any filters to remove noise when sending data to your drone. That is one reason why delay comes in. You should place all your filters on the drone and just send the raw data directly without doing anything to it. The udp receive is set at 0.005 seconds since it is on the drone side.

Sign in to comment.

Hi Jasvir,
I tried what your suggested and removed all the filters to the parrot model. Now, the delay is quite acceptable, however, the drone oscillates in both X and Y direction and diverges at the end. I'm still using the controller parameters provided for "asbQuadcopterStart". I also attached a grapg that shows the Y position and the Y reference (in hovering mode) and it shows the drone oscillating in the Y direction. Did you face this problem or it worked well in your case ?
Thanks, y.jpg

3 Comments

Jasvir Virdi
Jasvir Virdi on 14 May 2019
Edited: Jasvir Virdi on 14 May 2019
You will have to change the observer model as well as the optical flow might now work well in vicon arena. That might be the reason as to why the oscillation is happening in x and y direction
I didn’t get what you mean by changing the observer model. Also for optical flow data I disabled it from the parrot model and getting X and Y positions and their derivatives from Vicon.
Thanks for your reply.
Do you mean this part of the position Controller ? (in the picture attached). Also I didnt get how will the optical flow have an effect on this if it's disabled already ?

Sign in to comment.

Categories

Products

Release

R2018b

Asked:

on 22 Mar 2019

Commented:

on 15 May 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!