Source code for concepts.simulator.pybullet.manipulation_utils.bimanual_contact_samplers

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
# File   : bimanual_contact_samplers.py
# Author : Jiayuan Mao
# Email  : maojiayuan@gmail.com
# Date   : 07/15/2024
#
# This file is part of Project Concepts.
# Distributed under terms of the MIT license.

from dataclasses import dataclass

import numpy as np


[docs] @dataclass class BimanualPickupParameter(object): target_contact_point1: np.ndarray """The first contact point on the target object, in the world frame.""" target_contact_normal1: np.ndarray """The normal of the first contact point on the target object.""" target_contact_point2: np.ndarray """The second contact point on the target object, in the world frame.""" target_contact_normal2: np.ndarray """The normal of the second contact point on the target object.""" contact_pos1: np.ndarray """The pos of the first tool object, in the world frame.""" contact_quat1: np.ndarray """The quat of the first tool object.""" contact_pos2: np.ndarray """The pos of the second tool object, in the world frame.""" contact_quat2: np.ndarray """The quat of the second tool object.""" move_dir: np.ndarray """The direction of the move, on the target object.""" move_distance: float """The distance of the move."""
[docs] def sample_bimanual_pickup_parameter(robot1, robot2, target_object_id): pass