pyrcf.utils.sim_utils.pybullet_debug_robot ========================================== .. py:module:: pyrcf.utils.sim_utils.pybullet_debug_robot Attributes ---------- .. autoapisummary:: pyrcf.utils.sim_utils.pybullet_debug_robot.QuatType pyrcf.utils.sim_utils.pybullet_debug_robot.Vector3D Classes ------- .. autoapisummary:: pyrcf.utils.sim_utils.pybullet_debug_robot.PybulletDebugRobot pyrcf.utils.sim_utils.pybullet_debug_robot.PbDebugRobotWithJointCallback Module Contents --------------- .. py:data:: QuatType :type: TypeAlias :value: np.ndarray Numpy array representating quaternion in format [x,y,z,w] .. py:data:: Vector3D :type: TypeAlias :value: np.ndarray Numpy array representating 3D cartesian vector in format [x,y,z] .. py:class:: PybulletDebugRobot(urdf_path: str, cid: int = 0, base_position: numpy.ndarray = np.zeros(3), base_orientation: numpy.array = np.array([0, 0, 0, 1]), rgba: Tuple[float, float, float, float] | None = (0, 0, 0, 0.3)) A debugger robot visualiser for bullet robots. These robots are meant to be used for visualising ideal motion plans etc. for debugging (e.g. as a control loop debugger, implemented in `utils.ctrl_loop_debuggers.BulletRobotPlanDebugger`). .. py:attribute:: _cid :value: 0 .. py:attribute:: _viz_robot_id .. py:attribute:: _link_ids .. py:attribute:: _visible :value: True .. py:attribute:: _actuated_joint_names :value: [] .. py:attribute:: _joint_name_to_index .. py:method:: disable_visualisation() .. py:method:: set_visual_rgba(rgba: Tuple[float, float, float, float]) .. py:method:: enable_visualisation() .. py:method:: toggle_visualisation() .. py:method:: set_base_pose(position: numpy.ndarray, orientation: numpy.ndarray) .. py:method:: set_joint_positions(joint_positions: numpy.ndarray, joint_names: List[str] = None) .. py:method:: close() .. py:class:: PbDebugRobotWithJointCallback(urdf_path: str, cid: int, joint_names: List[str], get_joint_positions_callback: Callable[[], numpy.ndarray], get_base_pose_callback: Callable[[], Tuple[Vector3D, QuatType]] = lambda: None, base_position: numpy.ndarray = np.zeros(3), base_orientation: numpy.array = np.array([0, 0, 0, 1]), rgba: Tuple[float, float, float, float] | None = (0, 0, 0, 0.3)) Bases: :py:obj:`pyrcf.components.callback_handlers.base_callbacks.CustomCallbackBase` Abstract base class for defining custom callbacks to be executed in the control loop. .. py:attribute:: _viz_robot .. py:attribute:: _joint_names .. py:attribute:: _js_callback .. py:attribute:: _bpose_callback .. py:method:: run_once() This method has to be called for setting the joint positions. This will run the callback method to get the desired joint positions. .. py:method:: cleanup() Override if custom cleaning up/shutting down is required.