Open nethtrick opened 4 years ago
Check to see if your drone is physically shaking at higher altitude (>60) It is a known bug with the PID controller. I posted a fix for it here: https://github.com/microsoft/AirSim/issues/1394#issuecomment-629936379
Hello ACLeighner,
Thank you for the post. I looked at your problem and glad you got it fixed. I will test your fix to see if that makes a difference and provide an update, it's possible. I'm not sure it would explain the camera jitter I'm seeing but maybe. I had noticed problems flying at higher altitudes in the Blocks environment and had ascribed it to some sort of "ceiling" on that particular level, and achieved flight at higher altitudes on another (custom) level. Maybe try that as well.
This issue has been automatically marked as stale because it has not had activity from the community in the last year. It will be closed if no further activity occurs within 20 days.
Hello, Could you solve the problem? I have the same problem and want to have a "smooth flying" and "recording" while calling moveByVelocityAsync several times.
@azadhamid We resolved this issue awhile ago by writing our own Position Controller and increasing the update rate to 50 Hz.
Also, AirSim has been shutdown and will be archived soon. We continued the open source project here: Colosseum.
If you are looking for more advanced features including automated data collection, you can checkout our platform: SWARM Developer Platform, which gives you access to our custom controllers, automated data collection and more.
Here is an example: SWARM Developer - House Flythrough
@azadhamid We resolved this issue awhile ago by writing our own Position Controller and increasing the update rate to 50 Hz.
Also, AirSim has been shutdown and will be archived soon. We continued the open source project here: Colosseum.
If you are looking for more advanced features including automated data collection, you can checkout our platform: SWARM Developer Platform, which gives you access to our custom controllers, automated data collection and more.
Here is an example: SWARM Developer - House Flythrough
Thank you for your suggestion. Interesting, I will check the links. Can I have access to the "Position Controller" you mentioned? Thanks
Hello, I am trying to record smooth videos of a drone camera looking in a fixed direction while repeatedly calling moveByVelocityAsync() to follow a path. The captured images show a lot of jitter, even though I am in querying and in theory compensating for the drone's orientation. There is no jitter when the velocity is constant, but by calling moveByVelocityAsync() repeatedly with slightly different velocities, the queried orientation seems to not be in sync with the images.
I have included a simplified Python script below to reproduce the effect along with an example settings.json. I am using Anaconda Python 3.7 with AirSim 1.3.1.
I am trying to capture images at a fixed framerate (simulation time). So I have a main loop which performs the following at each iteration:
The script below shows what happens when random perturbations are added to the mean velocity, but in theory there would be no jitter even with these perturbations since getGroundTruthKinematics() is being called to query the exact orientation at each frame. Also, calling time.sleep(1) does not seem to help between simContinueForTime() and getGroundTruthKinematics().
Please let me know if you have any ideas what is happening or how to fix this. I even bumped up the priority of the rendering thread but to no avail.
Note: this seems to be worse for higher resolution images so maybe there is something changing during the rendering time, even though the game should be paused. I have also tried on a very capable desktop computer (4x Intel Xeon & Nvidia RTX 2080 Ti) but the problem remains.
Python script:
settings.json: