mirror of
https://github.com/moveit/moveit_task_constructor.git
synced 2025-11-04 14:49:57 +08:00
Generator::spawn()
This commit is contained in:
parent
a03ea5a4a9
commit
7d0b6da04f
@ -132,6 +132,8 @@ void export_core(pybind11::module& m) {
|
|||||||
;
|
;
|
||||||
|
|
||||||
py::class_<InterfaceState>(m, "InterfaceState")
|
py::class_<InterfaceState>(m, "InterfaceState")
|
||||||
|
.def(py::init<const planning_scene::PlanningScenePtr&>(), py::arg("scene"))
|
||||||
|
.def_property_readonly("properties", py::overload_cast<>(&InterfaceState::properties), py::return_value_policy::reference_internal)
|
||||||
;
|
;
|
||||||
|
|
||||||
auto stage = properties::class_<Stage, PyStage<>>(m, "Stage")
|
auto stage = properties::class_<Stage, PyStage<>>(m, "Stage")
|
||||||
@ -178,6 +180,7 @@ void export_core(pybind11::module& m) {
|
|||||||
.def(py::init<const std::string&>(), py::arg("name") = std::string("generator"))
|
.def(py::init<const std::string&>(), py::arg("name") = std::string("generator"))
|
||||||
.def("canCompute", &Generator::canCompute)
|
.def("canCompute", &Generator::canCompute)
|
||||||
.def("compute", &Generator::compute)
|
.def("compute", &Generator::compute)
|
||||||
|
.def("spawn", [](Generator& self, InterfaceState& state, double cost) { self.spawn(std::move(state), cost); })
|
||||||
;
|
;
|
||||||
|
|
||||||
properties::class_<MonitoringGenerator, Generator, PyMonitoringGenerator<>>(m, "MonitoringGenerator")
|
properties::class_<MonitoringGenerator, Generator, PyMonitoringGenerator<>>(m, "MonitoringGenerator")
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import unittest
|
|||||||
import rostest
|
import rostest
|
||||||
from moveit.python_tools import roscpp_init
|
from moveit.python_tools import roscpp_init
|
||||||
from moveit.task_constructor import core, stages
|
from moveit.task_constructor import core, stages
|
||||||
|
from moveit.core.planning_scene import PlanningScene
|
||||||
from geometry_msgs.msg import Vector3Stamped, Vector3
|
from geometry_msgs.msg import Vector3Stamped, Vector3
|
||||||
from std_msgs.msg import Header
|
from std_msgs.msg import Header
|
||||||
|
|
||||||
@ -20,6 +21,9 @@ class PyGenerator(core.Generator):
|
|||||||
core.Generator.__init__(self, name)
|
core.Generator.__init__(self, name)
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
|
def init(self, robot_model):
|
||||||
|
self.ps = PlanningScene(robot_model)
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
core.Generator.reset(self)
|
core.Generator.reset(self)
|
||||||
self.num = self.max_calls
|
self.num = self.max_calls
|
||||||
@ -29,6 +33,7 @@ class PyGenerator(core.Generator):
|
|||||||
|
|
||||||
def compute(self):
|
def compute(self):
|
||||||
self.num = self.num - 1
|
self.num = self.num - 1
|
||||||
|
self.spawn(core.InterfaceState(self.ps), self.num)
|
||||||
|
|
||||||
|
|
||||||
class PyMonitoringGenerator(core.MonitoringGenerator):
|
class PyMonitoringGenerator(core.MonitoringGenerator):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user