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