allenai / allenai/ai2thor

Drone Collision Detection Support

Open
#1,303 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
1.8k
Forks
296
PR merge metrics
No merged PRs in 30d

Description

Hi there!

Thanks for your excellent work! I came across the previous discussion about drone collision behavior in issue #952, including this commet:
> The movement mechanics behind the drone are fundamentally different from either the `default` or the `robot` agents. The `default/robot` agent does a predictive movement where if it attempts to move in some direction, it will first perform a physics based cast to see if the agent's geometry can fit in the projected final position given some direction it is moving. When this cast fails due to hitting something like a wall, it will report back the `lastActionSuccess` as false due to colliding with some object and the agent will not move. It doesn't move and then check if it collided, it checks if there will be a collision and then moves based on the success of that collision check.
>
>
>
> The `drone` agent instead moves by applying force in some direction, and the force is then resolved over the next few steps of time. The `drone` does not use predictive physics casts because we allow varying force vectors to be input in subsequent action steps, allowing for the sort of floating/hovering behavior of a real drone by doing something like fly forward with magnitude 2, then fly backward with magnitude 1 on the next step in order to start slowing down. The `drone` is in a sort of continuous state of movement based on any previous actions that might have changed its active momentum. Because of this, we innately do not support the same sort of `lastActionSuccess` reporting for a successful or failed move, because the `drone` agent's movement paradigm just isn't compatible with that same pass or fail state.
>
>
>
> If you did want to detect whenever the drone agent collides with something, you would need to do something completely different and make some custom code as well as some potential edits to the drone agent prefab within Unity itself in order to utilize things like trigger colliders to detect physics collision events.

_Originally posted by @winthos in [#952](https://github.com/allenai/ai2thor/issues/952#issuecomment-988528710)_

I would like to check the current status: does the latest version of AI2-THOR now support proper collision detection for the drone agent, and has any related documentation or guidance been updated or added? I would appreciate any clarification on whether drone collisions are officially supported and how they should be handled in the current API.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.