sas
Modularised monitoring, logging, and control of robots.
Loading...
Searching...
No Matches
sas_robot_driver_coppeliasim.simros2_robot_manager.SimROS2RobotManager Class Reference

Public Member Functions

 __init__ (self, str topic_prefix, rclcpp_Node rclcpp_node, sim, int robot_base_handle=None, list[str] joint_names=None)
 sensing_update (self)
 actuation_update (self)

Public Attributes

 robot_base_handle = robot_base_handle
 topic_prefix = topic_prefix
 rclcpp_node = rclcpp_node
 sim = sim
 joint_handles = sim.getObjectsInTree(self.robot_base_handle, sim.sceneobject_joint)
 DOF = len(self.joint_handles)
 rds = RobotDriverServer(rclcpp_node, f"/sas_robot_driver_coppeliasim{self.topic_prefix}")
np.array q = np.zeros(self.DOF)
np.array q_min = np.zeros(self.DOF)
np.array q_max = np.zeros(self.DOF)
np.array q_dot = np.zeros(self.DOF)
np.array q_force = np.zeros(self.DOF)
np.array q_target = None

Detailed Description

Publishes joint states and applies joint commands for a CoppeliaSim robot.

Constructor & Destructor Documentation

◆ __init__()

sas_robot_driver_coppeliasim.simros2_robot_manager.SimROS2RobotManager.__init__ ( self,
str topic_prefix,
rclcpp_Node rclcpp_node,
sim,
int robot_base_handle = None,
list[str] joint_names = None )
Either ``robot_base_handle`` or ``joint_names`` must be provided, but not both.

:param topic_prefix: ROS 2 topic prefix for this robot's driver server.
:param rclcpp_node: C++ rclcpp node used by the RobotDriverServer.
:param sim: CoppeliaSim simulation object provided by the simulator.
:param robot_base_handle: CoppeliaSim handle of the robot base object.
                          All joints in the subtree are used automatically.
:param joint_names: Explicit list of joint names (not yet implemented).

Member Function Documentation

◆ actuation_update()

sas_robot_driver_coppeliasim.simros2_robot_manager.SimROS2RobotManager.actuation_update ( self)
Applies target joint positions from the driver server to the simulator.

◆ sensing_update()

sas_robot_driver_coppeliasim.simros2_robot_manager.SimROS2RobotManager.sensing_update ( self)
Reads joint states from the simulator and publishes them via the driver server.

The documentation for this class was generated from the following file:
  • src/sas_robot_driver_coppeliasim/sas_robot_driver_coppeliasim/simros2_robot_manager.py