Skip to content

Airsim ROS2 jerky movement and control when capturing imagery #4428

Open
CodexLabsLLC/Colosseum
#40
@mgodmere

Description

@mgodmere

Bug report

  • AirSim Version: v1.7.0-linux
  • Unreal Version: 4.27.2
  • autopilot version: SimpleFlight
  • OS Version: Ubuntu 20.04

What's the issue you encountered?

The Airsim ROS2 package produces jerky drone movement every time an image is captured while using any movement command such as the vel_cmd_body_frame subscriber. I verified this by slowing the capture rate by setting the roslaunch update_airsim_img_response_every_n_sec to 1Hz. When flying with a constant velocity the drone stops moving for a split second at 1Hz. When using the default rate of 20Hz the drone struggles to move at all since its movement is interrupted by frequent image captures. This jerky movement gets worse the more cameras or higher resolution images are used. I'm guessing this is due to a threading or client issue with the package although the settings make it seem like they run in separate callback threads. The standard airsim client obviously doesn't produce this behavior. I will also mention that the ROS2 package runs just fine with image capture in realtime when using an RC controller.

This is a show stopper for using the new ROS2 interface and I want to avoid rewriting/forking it. I was hoping to run several vehicles with multiple cameras, but this seems like a currently unscalable proposition. Am I using it incorrectly? Can someone verify that this is a current issue? It seem strange to me that this is a bug/issue when moving and capturing is one of the core use cases of airsim.

Settings

{ "SeeDocsAt": "https://microsoft.github.io/AirSim/settings/", "SettingsVersion": 1.2, "SimMode": "Multirotor", "Vehicles": { "vehicle0": { "VehicleType": "SimpleFlight", "AllowAPIAlways": true, "X": 0, "Y": 0, "Z": 0, "Roll": 0, "Pitch": 0, "Yaw" : 0, "Cameras": { "vehicle0_front": { "CaptureSettings": [ { "ImageType": 0, "Width": 800, "Height": 800, "FOV_Degrees": 90 } ], "X": 0.5, "Y": 0.0, "Z": 0.0, "Pitch": 0.0, "Roll": 0.0, "Yaw": 0.0 }, "vehicle0_frontdepth": { "CaptureSettings": [ { "ImageType": 1, "Width": 800, "Height": 800, "FOV_Degrees": 90 } ], "X": 0.5, "Y": 0.0, "Z": 0.0 , "Pitch": 0.0, "Roll": 0.0, "Yaw": 0.0 } } } } }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug-reportfor issues filed as bug reportsros

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions