allenai / allenai/ai2thor

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

オープン
#348 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Agent Navigation
主要言語
C#
スター
1.8k
フォーク
296
PR マージ指標
30日以内にマージされた PR はありません

説明

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: ")

```

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。