classical¶
Submodules¶
Classes¶
- class brom_drake.stations.classical.ur10e.UR10eStation(time_step: float = 0.002, meshcat_port_number: int = 7001, gripper_type: GripperType = GripperType.Robotiq_2f_85)[source]¶
Description
A template system diagram for controlling a UR10e robot in a simulated environment.
Diagram
The diagram’s inputs and outputs can be represented as:
----------------- | | gripper_target -------------------->| | (Vector, np.array) | UR10e | | | gripper_target_type --------------->| Station | (Abstract, GripperTarget Enum) | | | | desired_joint_positions ----------->| | (Vector, np.array) | | | | -----------------
- Add2f85Gripper()[source]¶
Description
Add the Robotiq 2F-85 gripper to the system. The arm must be added first.
- CreateArmControllerAndConnect() InverseDynamicsController[source]¶
Description¶
This function creates a Cartesian arm controller and connects it to the rest of the system. :return:
- CreateGripperControllerAndConnect()[source]¶
Description
Connects the gripper controller to: - The Gripper Actuators (done via the plant of the station)
and exports some of the gripper controller’s inputs and outputs (so that they become the inputs and outputs of the station).
- ExportArmControllerPorts()[source]¶
Description
This function creates the input and output ports for the diagram that are related to the arm controller.
- ExportArmPositionInputPort()[source]¶
Description
Creates the input port for the arm position (i.e. the joint position) for the station. This requires creating a special connection to the arm controller via a multiplexer.
- ExportGripperStatePort()[source]¶
Description
This function exports the gripper’s state as a port of the diagram.
- Finalize()[source]¶
Description
This finalizes the diagram by:
Finalizing all plants in the diagram
Setting up the visualizer (if desired)
Creating and connecting the arm controller
Creating and connecting the gripper controller (if desired)
Building the diagram
- add_arm_to_plant_with_ee_frame(arm_urdf_path: str, plant: MultibodyPlant, new_frame_name: str = 'end_effector', X_ee: RigidTransform = RigidTransform(R=RotationMatrix([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]), p=[0.0, 0.0, 0.0])) Tuple[ModelInstanceIndex, Frame][source]¶
Description
This function adds the “arm” object at the arm_urdf_path location to the plant.
Parameters
- arm_urdf_pathstr
The path to the URDF file for the arm.
- plantMultibodyPlant
The plant to which the arm will be added.
Returns
- arm: ModelInstanceIndex
The model instance index of the arm and the frame of the end effector.
- end_effector_frame: Frame
The frame of the end effector.
- add_gripper_controller()[source]¶
Description
This function adds a controller for the gripper to the station. It is optional and may not be necessary for all stations.
Functions¶
(None found)
Variables¶
(None found)