pick_and_place

Submodules

Classes

class brom_drake.productions.pick_and_place.chem_lab3.ChemLab3(time_step=0.0005, meshcat_port_number: int = 7001, plan_execution_speed: float = 0.2, shelf_pose: RigidTransform = None, gripper_type: GripperType = GripperType.Robotiq_2f_85, table_length: float = 0.9, table_width: float = 2.0, table_height: float = 0.1, **kwargs)[source]
Description:

This production is the first in the chemistry lab series. It is used to test the motion planning capabilities of the robot in a chemistry lab setting with minimal constraints.

add_cast_and_build(cast: Tuple[Role, LeafSystem | Diagram] = [], with_watcher: bool = False) Tuple[Diagram, Context][source]

Description

Modifies the normal add_cast_and_build, so that we share the context of the plant with the appropriate parts of the system. :param cast: :param with_watcher: A Boolean that determines whether to add a watcher to the diagram. :return:

add_dummy_gripper_components()[source]

Description

Add more components to the production that are used to hold the gripper in place.

add_erlenmeyer_flask()[source]

Description

Adds the 500ml Erlenmeyer flask to the production.

add_motion_planning_components()[source]

Add the motion planning components to the builder. :return:

add_shelf()[source]

Add the shelf to the production. :return:

add_supporting_cast()[source]

Description

This method adds all secondary cast members to the builder. The secondary cast members in the production are the: - Table, where the robot exists - Test Tube Holders - Component which share’s the robot model reference - Motion Planning components (e.g., dispensers, etc.) - Start and Goal sources :return:

add_table()[source]

Description

This method adds the table to the production. The table will be “L-shaped”, and we will define it with 2 box shapes. :return:

build_production(with_watcher: bool = True) Tuple[Diagram, Context][source]

Description

This method builds the production. It assumes that all components have been added to the builder.

Arguments

with_watcher: bool

A Boolean that determines whether to add a watcher to the diagram.

configure_collision_filter(scene_graph_context: Context)[source]

Description

This method configures the collision filter for the production. :param scene_graph_context: :return:

define_pose_ik_problem(pose_WorldTarget: RigidTransform, target_frame_name: str, eps0: float = 0.025, orientation_cost_scaling: float = 0.25) InverseKinematics[source]

Description

Sets up the inverse kinematics problem for the start pose input to theis function. :return:

easy_cast_and_build(planning_algorithm: Callable[[ndarray, ndarray, Callable[[ndarray], bool]], Tuple[DiGraph | ndarray, bool]], with_watcher: bool = False) Tuple[Diagram, Context][source]

Description

This function is used to easily cast and build the production. :param planning_algorithm: The algorithm that we will use to plan the motion. :param with_watcher: A Boolean that determines whether to add a watcher to the diagram. :return:

property goal_configuration

Get the goal pose. This should be defined by the subclass. :return:

property goal_pose: RigidTransform

Description

Get the goal pose of the end effector frame.

property id: ProductionID

Description

The unique identifier for the production.

If not defined, returns ProductionID.kNotDefined.

Returns

ProductionID

The unique identifier for the production.

solve_forward_kinematics_problem_for_arm(robot_joint_positions: ndarray) RigidTransform[source]

Description

This method solves the forward kinematics problem for the UR10e arm by itself.

property start_configuration

Get the start configuration of the robot. In other words, the positions of the robots joints. This should be defined by the subclass. :return:

property start_pose: RigidTransform

Get the start pose. This should be defined by the subclass. :return:

Functions

(None found)

Variables

brom_drake.productions.pick_and_place.chem_lab3.DEFAULT_BROM_MODELS_DIR = './brom/models'

str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to sys.getdefaultencoding(). errors defaults to ‘strict’.