-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove workaround for empty struct in RPC #2812
Conversation
/azp run microsoft.AirSim |
Azure Pipelines successfully started running 1 pipeline(s). |
Thanks for this. Does this PR affect the client side behavior when empty image is returned. |
The client-side behaviour which would change is that it'll be possible to check if the image is empty with |
Well, it's surprisingly difficult to get empty images, fetched hundreds of images, even cranked up the res to 4k but still no empty images. Great that it happens so rarely but makes it that much harder to reproduce. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Tested this locally with the Lidar scenario and it worked for me. I'm also unsure of how to test this with images. I tried configuring a camera to have 0 width and 0 height, but that generates an exception in the camera setup logic. |
@zimmy87 Thanks for testing! I haven't tested more than my previous comment indicated, but feel that the idea mentioned there to add a piece of code which randomly does not put the image in should work. Will try to test it out soon |
I hard-coded the ImageResponse to have empty image data and the simGetImages API still worked for me, so I think this is a safe enough fix to merge. |
Great, thanks a lot for testing! |
Hi Rajat! Will do. I think the Azure pipelines are working. We didn't call it here because Zimmy compiled in his local machine. |
rpclib/rpclib#152 has been fixed
Testing was with #2810 where empty Lidar data was produced sometimes, no crash, and can be checked easily in Python e.g.
if not lidar_data.point_cloud: