Camera tilt with floating point accuracy


#1

I would like to request to add setting the camera tilt with floating point precision to the ARDroneSDK.
This request is based on my experience with the SDK and somewhat related to this topic: Camera tilt and pan speed

Here is why:
I like the concept of cinematic looking videos produced by the Bebop Drone. In my eyes a lot complaints about the Bebops camera quality are based on the fact that people expect crisp and smooth video from the drone even though they have no experience in flying, have their drone on maximum speed settings, etc.
So they use flight plan to achieve cinematic videos, which look even better since the POI feature was implemented.
What I disliked was the fact that you don’t have direct control over your drone when using flightplan so you have to decide if you want to fly or to film. Based on this concept I wrote an app that gives you direct control over the drone but still enable you to get smooth cinematic video. But here is the down-side: It is not possible to control the camera in a precise way. Slow movements just look better, so of course I used a floating point value to represent the camera angle (in my case tilt only, I don’t care much for pan) internally. But when I send it to the drone the angle will be rounded to full degrees. This is just too much. When I do a flyby of an object the video looks beautiful, but as soon as I touch the camera tilt my smooth motion will be transformed into a staircased mess. And POI of flight plan doesn’t have that problem, so it must be possible for the stabilization algorithms to handle sub-degree camera angles. So please enable us developers to have more granularity on the camera angles. Even if the 4 bytes of a float are too expensive to send to the drone, at least give as 2 bytes and hundredth of degrees or something like that.

I would like to hear from other developers if I’m alone with this problem or if I somehow missed the documentation on how to send sub-degree camera positions.


#2

Hi,

Your needs have been heard, we will try do to it soon.
Thanks for the report.

Your app seems interesting, could you provide us a link to the PlayStore or the AppStore if it is already public?

Best regards,
Djavan


#3

I approve ! I already said here that the camera control is lacking badly some features to let us develop great apps in this area.
In my case, the iOS app I’m developing (BebopPad) has a feature that try to update the tilt of the camera to “look” at the ground following the pilot but the movements are, like derSeddy said earlier, not smooth at all…


#4

Thank you for this positive feedback.

The app is for Android, but it is in early development so it is not public yet. Almost all main features work, but I’m developing this in my sparse free time, so I expect it to reach Beta state in a few weeks. I’m planing to do a public beta outside of the app store then. Consumer release is still a few months away.


#5

Are there any updates on this topic? Can we expect this feature to be available soon?


#6

I was also thinking about this today… The API needs this and some minor upgrades that would change greatly the results we could get from the camera, I mean a camera rotation speed parameter ie the time to reach the asked tilt and yaw and a way to eliminate the little pauses between consecutive movements, perhaps simply let the API move the camera to a new position even if the previous movement is not yet finished.


Follow and Recognition features
#7

Hi,

Thanks for the suggestion @vyskocil.
@derSeddy, we are currently working on it. I can’t tell you when it will be available but we are doing the best to provide it soon.

Best regards,
Djavan


#8

Hi guys, you know I was thinking about this issue and thought it would be cool to have floating point accuracy with the camera. But then I realized I don’t think that’s what I would want. Maybe your use case is different @derSeddy than mine.

For me, going from Tilt of -83 to -50.5 would not be any smoother than going from -83 to -50. I’ll just throw this out there @Djavan since you guys are working on this currently. What I think would be cool is a parameter to tell the drone the interpolation speed between current camera orientation and the orientation that you tell it to go to. Something like this

deviceController->aRDrone3->setCameraOrientation(deviceController->aRDrone3, tilt, pan, speed (100 milliseconds, 1 second, etc));

Then you could have really smooth camera movements and adjust according to how far away the desired orientation is from the current orientation and stuff like that. Just a suggestion. Thanks!

Steve


#9

Haha sorry @vyskocil I just saw that you said the same thing. Nevermind


#10

Hi, any update on this???


#11

Yes… Any update?? We looking for using this new features!


#12

Hi, any update on this?


#13

Floating point accuracy camera orientation is available on both the SDK and the drones.

In your app, you can safely use
on iOS or Unix:

deviceController->aRDrone3->setCameraOrientationV2(deviceController->aRDrone3, (float)tilt, (float)pan);

on Android:

deviceController.getFeatureARDrone3().setCameraOrientationV2((float)tilt, (float)pan);

The SDK will automatically send the floating point values if the drone is supporting it, otherwise it will fallback sending integer values.


#14

That is nice to hear. What’s the minimum firmware I have to install on my Bebop 2 to get this feature?


#15

The SDK will automatically send values as floating point on Bebop 2 that have at least the 4.2.0 firmware if you’re using the setCameraOrientationV2 command.