2023-10-25 10:34:46 +08:00
|
|
|
import py_trees as ptree
|
|
|
|
from typing import Any
|
2023-11-08 15:28:01 +08:00
|
|
|
from robowaiter.behavior_lib._base.Act import Act
|
2023-11-09 08:47:57 +08:00
|
|
|
from robowaiter.algos.navigate.DstarLite.navigate import Navigator
|
2023-11-09 17:06:34 +08:00
|
|
|
|
2023-11-08 15:28:01 +08:00
|
|
|
class MoveTo(Act):
|
2023-10-25 10:34:46 +08:00
|
|
|
|
2023-11-08 16:20:02 +08:00
|
|
|
def __init__(self, *args):
|
|
|
|
super().__init__(*args)
|
2023-10-25 10:34:46 +08:00
|
|
|
|
2023-10-25 22:12:15 +08:00
|
|
|
def _update(self) -> ptree.common.Status:
|
2023-11-09 17:06:34 +08:00
|
|
|
# self.scene.test_move()
|
|
|
|
|
2023-11-09 08:47:57 +08:00
|
|
|
navigator = Navigator(scene=self.scene, area_range=[-350, 600, -400, 1450], map=self.scene.state["map"]["2d"])
|
|
|
|
goal = self.scene.state['map']['obj_pos'][self.args[0]]
|
|
|
|
navigator.navigate(goal, animation=False)
|
2023-11-09 17:06:34 +08:00
|
|
|
|
2023-11-09 08:47:57 +08:00
|
|
|
self.scene.state['condition_set'].add('At(Robot,Table)')
|
2023-11-09 17:06:34 +08:00
|
|
|
|
|
|
|
|
2023-11-09 08:47:57 +08:00
|
|
|
return ptree.common.Status.RUNNING
|