Problem:
In OC, unlike the robot, the drone cannot be rotated. And the drone also has no way to make the camera look up/down like robot. Therefore, the camera installed in the drone will always look north.
Suggested solution:
Add a drone-specific function "setCameraRotation(x, y)" or similar. As thought, this function should rotate the camera by x degrees horizontally and by y degrees vertically, and the distance() will show the distance from the surface of the block to the drone taking into account the set angle. Instead of degrees you can use radians. As a result, this feature turns the drone into a flying camera with a 360 degree view on all axes.
However, this solution has a disadvantage - in order to compose the image it will be easier to use setCameraRotation(x, y) and distance() in loop, than to use setCameraRotation(x, y) once and create loop with distance(x,y) already, because the first option will allow to create a single frame with the field of view for all 360 degrees, while the second option will have to use at least 4 iterations to compose the picture of the environment, also the second option will cause perspective distortion. To solve this problem, you can make the delay for camera rotation larger than for distance().
Problem: In OC, unlike the robot, the drone cannot be rotated. And the drone also has no way to make the camera look up/down like robot. Therefore, the camera installed in the drone will always look north. Suggested solution: Add a drone-specific function "setCameraRotation(x, y)" or similar. As thought, this function should rotate the camera by x degrees horizontally and by y degrees vertically, and the distance() will show the distance from the surface of the block to the drone taking into account the set angle. Instead of degrees you can use radians. As a result, this feature turns the drone into a flying camera with a 360 degree view on all axes. However, this solution has a disadvantage - in order to compose the image it will be easier to use setCameraRotation(x, y) and distance() in loop, than to use setCameraRotation(x, y) once and create loop with distance(x,y) already, because the first option will allow to create a single frame with the field of view for all 360 degrees, while the second option will have to use at least 4 iterations to compose the picture of the environment, also the second option will cause perspective distortion. To solve this problem, you can make the delay for camera rotation larger than for distance().