crisp-python 3.0.0__tar.gz → 3.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {crisp_python-3.0.0/crisp_python.egg-info → crisp_python-3.1.0}/PKG-INFO +1 -1
- crisp_python-3.1.0/crisp_py/config/robots/panda.yaml +1 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/robot/robot_config.py +38 -1
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/utils/geometry.py +8 -2
- {crisp_python-3.0.0 → crisp_python-3.1.0/crisp_python.egg-info}/PKG-INFO +1 -1
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_python.egg-info/SOURCES.txt +1 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/pyproject.toml +1 -1
- {crisp_python-3.0.0 → crisp_python-3.1.0}/LICENSE.md +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/MANIFEST.in +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/README.md +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/camera/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/camera/camera.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/camera/camera_config.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/cameras/right_wrist_camera.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/cameras/third_person_camera.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/cameras/wrist_camera.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/clipped_cartesian_impedance.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/default_cartesian_impedance.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/default_operational_space_controller.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/gravity_compensation.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/gravity_compensation_on_plane.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/joint_control.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/joint_velocity_control.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/no_friction_cartesian_impedance.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/aloha-gripper.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_franka.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_left.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_left_config.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_right.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_right_config.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_uncalibrated.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_with_trigger.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/trigger_left.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/path.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/robots/fr3.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/robots/fr3_left.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/robots/fr3_right.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/sensors/anyskin_sensor.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/sensors/force_torque_sensor.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/sensors/mock_force_torque_sensor.yaml +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/control/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/control/controller_switcher.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/control/joint_trajectory_controller_client.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/control/parameters_client.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/gripper/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/gripper/gripper.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/gripper/gripper_config.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/robot/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/robot/robot.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/sensors/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/sensors/float32_array_sensor.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/sensors/force_torque_sensor.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/sensors/sensor.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/sensors/sensor_config.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/utils/__init__.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/utils/callback_monitor.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/utils/diagnostics_viewer.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/utils/sliding_buffer.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/utils/tf_pose.py +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_python.egg-info/dependency_links.txt +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_python.egg-info/requires.txt +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_python.egg-info/top_level.txt +0 -0
- {crisp_python-3.0.0 → crisp_python-3.1.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crisp-python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: Simple python interface to control robots that use crisp_controllers and other ROS2 components.
|
|
5
5
|
Project-URL: Homepage, https://utiasDSL.github.io/crisp_controllers/
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
robot_type: panda
|
|
@@ -125,6 +125,41 @@ class FrankaConfig(RobotConfig):
|
|
|
125
125
|
# target_frame: str = "fr3_link8"
|
|
126
126
|
|
|
127
127
|
|
|
128
|
+
@dataclass
|
|
129
|
+
class PandaConfig(RobotConfig):
|
|
130
|
+
"""Configuration specific to Franka Emika Panda robots.
|
|
131
|
+
|
|
132
|
+
Provides default values for frame names, joint names, and home configuration
|
|
133
|
+
specifically for Franka Emika Panda robots.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
joint_names: list = field(
|
|
137
|
+
default_factory=lambda: [
|
|
138
|
+
"panda_joint1",
|
|
139
|
+
"panda_joint2",
|
|
140
|
+
"panda_joint3",
|
|
141
|
+
"panda_joint4",
|
|
142
|
+
"panda_joint5",
|
|
143
|
+
"panda_joint6",
|
|
144
|
+
"panda_joint7",
|
|
145
|
+
]
|
|
146
|
+
)
|
|
147
|
+
home_config: list = field(
|
|
148
|
+
default_factory=lambda: [
|
|
149
|
+
0,
|
|
150
|
+
-np.pi / 4,
|
|
151
|
+
0,
|
|
152
|
+
-3 * np.pi / 4,
|
|
153
|
+
0,
|
|
154
|
+
np.pi / 2,
|
|
155
|
+
np.pi / 4,
|
|
156
|
+
]
|
|
157
|
+
)
|
|
158
|
+
base_frame: str = "base"
|
|
159
|
+
target_frame: str = "panda_hand_tcp"
|
|
160
|
+
# target_frame: str = "panda_link8"
|
|
161
|
+
|
|
162
|
+
|
|
128
163
|
@dataclass
|
|
129
164
|
class KinovaConfig(RobotConfig):
|
|
130
165
|
"""Configuration specific to Kinova robots.
|
|
@@ -240,6 +275,8 @@ def make_robot_config(robot_type: str, **kwargs) -> RobotConfig: # noqa: ANN003
|
|
|
240
275
|
|
|
241
276
|
if robot_type == "franka":
|
|
242
277
|
return FrankaConfig(**kwargs)
|
|
278
|
+
elif robot_type == "panda":
|
|
279
|
+
return PandaConfig(**kwargs)
|
|
243
280
|
elif robot_type == "kinova":
|
|
244
281
|
return KinovaConfig(**kwargs)
|
|
245
282
|
elif robot_type == "iiwa":
|
|
@@ -248,5 +285,5 @@ def make_robot_config(robot_type: str, **kwargs) -> RobotConfig: # noqa: ANN003
|
|
|
248
285
|
return SO101Config(**kwargs)
|
|
249
286
|
else:
|
|
250
287
|
raise ValueError(
|
|
251
|
-
f"Unsupported robot type: {robot_type}. Supported types: franka, kinova, iiwa, so101"
|
|
288
|
+
f"Unsupported robot type: {robot_type}. Supported types: franka, panda, kinova, iiwa, so101"
|
|
252
289
|
)
|
|
@@ -51,7 +51,7 @@ class Pose:
|
|
|
51
51
|
def from_ros_msg(cls, msg: PoseStamped) -> "Pose":
|
|
52
52
|
"""Create Pose from ROS PoseStamped message."""
|
|
53
53
|
position = np.array([msg.pose.position.x, msg.pose.position.y, msg.pose.position.z])
|
|
54
|
-
|
|
54
|
+
quat = np.array(
|
|
55
55
|
[
|
|
56
56
|
msg.pose.orientation.x,
|
|
57
57
|
msg.pose.orientation.y,
|
|
@@ -59,6 +59,9 @@ class Pose:
|
|
|
59
59
|
msg.pose.orientation.w,
|
|
60
60
|
]
|
|
61
61
|
)
|
|
62
|
+
quat_x_sign = np.sign(quat[0]) if quat[0] != 0 else 1.0
|
|
63
|
+
quat *= quat_x_sign # Ensure a consistent quaternion sign
|
|
64
|
+
orientation = Rotation.from_quat(quat)
|
|
62
65
|
return cls(position, orientation)
|
|
63
66
|
|
|
64
67
|
@classmethod
|
|
@@ -67,7 +70,7 @@ class Pose:
|
|
|
67
70
|
position = np.array(
|
|
68
71
|
[msg.transform.translation.x, msg.transform.translation.y, msg.transform.translation.z]
|
|
69
72
|
)
|
|
70
|
-
|
|
73
|
+
quat = np.array(
|
|
71
74
|
[
|
|
72
75
|
msg.transform.rotation.x,
|
|
73
76
|
msg.transform.rotation.y,
|
|
@@ -75,6 +78,9 @@ class Pose:
|
|
|
75
78
|
msg.transform.rotation.w,
|
|
76
79
|
]
|
|
77
80
|
)
|
|
81
|
+
quat_x_sign = np.sign(quat[0]) if quat[0] != 0 else 1.0
|
|
82
|
+
quat *= quat_x_sign # Ensure a consistent quaternion sign
|
|
83
|
+
orientation = Rotation.from_quat(quat)
|
|
78
84
|
return cls(position, orientation)
|
|
79
85
|
|
|
80
86
|
def to_ros_msg(self, frame_id: str, stamp: TimeMsg) -> PoseStamped:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crisp-python
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: Simple python interface to control robots that use crisp_controllers and other ROS2 components.
|
|
5
5
|
Project-URL: Homepage, https://utiasDSL.github.io/crisp_controllers/
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -31,6 +31,7 @@ crisp_py/config/grippers/trigger_left.yaml
|
|
|
31
31
|
crisp_py/config/robots/fr3.yaml
|
|
32
32
|
crisp_py/config/robots/fr3_left.yaml
|
|
33
33
|
crisp_py/config/robots/fr3_right.yaml
|
|
34
|
+
crisp_py/config/robots/panda.yaml
|
|
34
35
|
crisp_py/config/sensors/anyskin_sensor.yaml
|
|
35
36
|
crisp_py/config/sensors/force_torque_sensor.yaml
|
|
36
37
|
crisp_py/config/sensors/mock_force_torque_sensor.yaml
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/clipped_cartesian_impedance.yaml
RENAMED
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/default_cartesian_impedance.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/gravity_compensation_on_plane.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/control/joint_velocity_control.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_right_config.yaml
RENAMED
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_uncalibrated.yaml
RENAMED
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/grippers/gripper_with_trigger.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/config/sensors/mock_force_torque_sensor.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{crisp_python-3.0.0 → crisp_python-3.1.0}/crisp_py/control/joint_trajectory_controller_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|