Agent "Stuck" near OVEN after performing a FullTeleport/Rotation near it.
- 主要言語
- 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 はまだ評価されていません。