diff --git a/CHANGELOG.md b/CHANGELOG.md index 67bca16a7..5daf8823f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Changed the behavior of Duration class when accepting both seconds (float) and nanoseconds (int) where the decimal point of seconds and the nanoseconds add up to more than 1 second. * Changed GH Component `ConstraintsFromPlane` to `FrameTargetFromPlane`. * Changed GH Component `ConstraintsFromTargetConfiguration` to `ConfigurationTarget`. +* Changed `RosClient` constructor to take a type for planner backend instead of a string. This also changes the name of the argument from `planner_backend` to `planner_backend_type`. ### Removed diff --git a/src/compas_fab/backends/ros/client.py b/src/compas_fab/backends/ros/client.py index fe98a4305..7a7d85a30 100644 --- a/src/compas_fab/backends/ros/client.py +++ b/src/compas_fab/backends/ros/client.py @@ -33,8 +33,6 @@ "RosClient", ] -PLANNER_BACKENDS = {"moveit": MoveItPlanner} - class CancellableRosActionResult(CancellableFutureResult): def __init__(self, goal): @@ -116,10 +114,10 @@ class RosClient(Ros, ClientInterface): Port of the ROS Bridge. Defaults to ``9090``. is_secure : :obj:`bool` ``True`` to indicate it should use a secure web socket, otherwise ``False``. - planner_backend: str - Name of the planner backend plugin to use. The plugin must be a sub-class of - :class:`compas_fab.backends.PlannerInterface`. Defaults to ``"moveit"``, - making use of :class:`compas_fab.backends.MoveItPlanner`. + planner_backend_type: type + Type the planner backend plugin to use. The plugin must be a sub-class of + :class:`compas_fab.backends.PlannerInterface`. + Defaults to :class:`~compas_fab.backends.MoveItPlanner`. Examples -------- @@ -132,10 +130,8 @@ class RosClient(Ros, ClientInterface): For more examples, check out the :ref:`ROS examples page `. """ - def __init__(self, host="localhost", port=9090, is_secure=False, planner_backend="moveit"): + def __init__(self, host="localhost", port=9090, is_secure=False, planner_backend_type=MoveItPlanner): super(RosClient, self).__init__(host, port, is_secure) - - planner_backend_type = PLANNER_BACKENDS[planner_backend] self.planner = planner_backend_type(self) self._ros_distro = None