allenai / allenai/ai2thor

Agent "Stuck" near OVEN after performing a FullTeleport/Rotation near it.

Ouverte
#348 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Agent Navigation
Langage dominant
C#
Étoiles
1.8k
Forks
297
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

In FloorPlan28, I encountered a bug where if the agent performs a rotation near the right edge of the oven it will "snap" into position {'x': -0.75, 'y': 0.900949061, 'z': -2.75}, and from this point onwards I can only go a FullTeleport/Rotation but not actions like moveAhead and etc. I was able to reproduce the results manually.

My rotation angle is 5.0 degrees and moveMagnitude is 0.1.

This is the following command I used for the movements
`wwwwwwwwkwwwkkkkkkkkkkwwwwwwwwkkkkkkkkkkkwwwkwwkwwkwwwkwwwwk`
w is moveAhead and k is rotate counterclockwise by 5.0 degrees.

```
while user_input in command_dict.keys():
if user_input == 'k' or user_input == 'l':
command_dict['rotation'] += (-ROT_ANGLE if user_input == 'k' else ROT_ANGLE)
event = controller.step(dict(action=command_dict[user_input],
rotation=command_dict['rotation'], horizon=0.0,
x=event.metadata['agent']['position']['x'],
y=event.metadata['agent']['position']['y'],
z=event.metadata['agent']['position']['z']))
else:
event = controller.step(dict(action=command_dict[user_input], moveMagnitude=MOVE_MAG))

processSLAM(slam, event, command_dict)
if not event.metadata['lastActionSuccess'] and not MANUAL_CONTROL:
retreatAndTurn(slam, controller, command_dict, ROTATE_AMOUNT)

sleep(1 / 25)

if MANUAL_CONTROL:
user_input = input("Please Enter the Command: ")

```

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.