kinematic

Submodules

Classes

class brom_drake.stations.kinematic.ur10e_station.UR10eStation(time_step: float = 0.002, gripper_type: GripperType = GripperType.NoGripper, force_conversion_of_original_urdf: bool = False, meshcat_port_number: int = None, end_effector_frame_name: str = 'tool0')[source]

Description

A template system diagram for controlling a UR10e robot in a simulated environment.

Diagram

Add2f85Gripper()[source]

Add the Robotiq 2F-85 gripper to the system. The arm must be added first.

AddArm()[source]

Add the UR10e arm to the system.

ConnectToMeshcatVisualizer(port: int = None)[source]

Description

This function connects the station to a Meshcat visualizer.

Parameters

port: int, optional

The port number for the Meshcat server. If None, the default port will be used.

CreateArmPorts()[source]

Description

This function creates a Cartesian arm controller and connects it to the rest of the system. :return:

CreateJointArmControllerAndExportIO() IdealJointPositionController[source]

Description

Creates an ideal joint position controller and exports the necessary inputs + outputs.

Returns

joint_controller: IdealJointPositionController

The created joint position controller.

Finalize()[source]

Description

This finalizes the diagram by: - Finalizing all plants in the diagram - Setting up the scene graph connections - Connecting to Meshcat (if desired) - Creating the arm and gripper controllers - Building the diagram

UpdateInternalContexts(context: Context)[source]

Description

This function updates the internal contexts of the plant and the controller.

TODO(Kwesi): Clean up this method of unused variables.

Parameters

context: pydrake.systems.framework.Context

The context from which to update the internal contexts.

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.

new_frame_namestr, optional

The name of the new end-effector frame to be added, by default “end_effector”.

X_eeRigidTransform, optional

The transform from the arm’s end-effector frame to the new end-effector frame, by default RigidTransform().

Returns

armModelInstanceIndex

The model instance index of the added arm.

new_frameFrame

The newly added end-effector frame.

add_gripper_controller()[source]

Description

This funciton adds a controller for the gripper to the station. It is optional and may not be necessary for all stations.

connect_gripper_controller()[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).

create_plants_and_scene_graph()[source]

Description

This function creates the plant for the UR10e station, if needed.

use_meshcat() bool[source]

Description

This function returns whether or not Meshcat visualization is being used.

Returns

meshcat_should_be_used: bool

True if Meshcat visualization is being used, False otherwise.

Functions

(None found)

Variables

(None found)