fix wp.index error and minor bugfixes

This commit is contained in:
Balakumar Sundaralingam
2024-01-24 23:15:30 -08:00
parent c09d94908d
commit ec99bfba75
5 changed files with 17 additions and 14 deletions

View File

@@ -9,6 +9,11 @@ without an express license agreement from NVIDIA CORPORATION or
its affiliates is strictly prohibited. its affiliates is strictly prohibited.
--> -->
# Changelog # Changelog
## Latest Commit
### BugFixes
- refactored wp.index() instances to `[]` to avoid errors in using with warp-lang>=0.11.
- Fix bug in gaussian transformation to ensure values are not -1 or +1.
- Fixed bug in transforming link visual mesh offset when reading from urdf.
## Version 0.6.2 ## Version 0.6.2
### New Features ### New Features
@@ -30,7 +35,6 @@ Run `benchmark/ik_benchmark.py` to get the latest results.
- Added `external_asset_path` to robot configuration to help in loading urdf and meshes from an - Added `external_asset_path` to robot configuration to help in loading urdf and meshes from an
external directory. external directory.
### BugFixes & Misc. ### BugFixes & Misc.
- Update nvblox wrappers to work with v0.0.5 without segfaults. Significantly improves stability. - Update nvblox wrappers to work with v0.0.5 without segfaults. Significantly improves stability.
- Remove mimic joints in franka panda to maintain compatibility with Isaac Sim 2023.1.0 and 2022.2.1 - Remove mimic joints in franka panda to maintain compatibility with Isaac Sim 2023.1.0 and 2022.2.1
@@ -56,7 +60,6 @@ planning time, 20ms slower on 4090 and 40ms on ORIN MAXN. We will address this s
release. One way to avoid this regression is to set `finetune_dt_scale=1.05` in release. One way to avoid this regression is to set `finetune_dt_scale=1.05` in
`MotionGenConfig.load_from_robot_config()`. `MotionGenConfig.load_from_robot_config()`.
## Version 0.6.1 ## Version 0.6.1
- Added changes to `examples/isaac_sim` to support Isaac Sim 2023.1.0 - Added changes to `examples/isaac_sim` to support Isaac Sim 2023.1.0

View File

@@ -264,7 +264,7 @@ class CudaRobotModel(CudaRobotModelConfig):
pose = self.get_link_poses(q, self.kinematics_config.mesh_link_names) pose = self.get_link_poses(q, self.kinematics_config.mesh_link_names)
for li, l in enumerate(self.kinematics_config.mesh_link_names): for li, l in enumerate(self.kinematics_config.mesh_link_names):
m_list[li].pose = ( m_list[li].pose = (
Pose.from_list(m_list[li].pose).multiply(pose.get_index(0, li)).tolist() pose.get_index(0, li).multiply(Pose.from_list(m_list[li].pose)).tolist()
) )
return m_list return m_list

View File

@@ -353,10 +353,10 @@ def compute_pose_inverse(
out_q = wp.transform_get_rotation(t_3) out_q = wp.transform_get_rotation(t_3)
out_v = wp.vec4() out_v = wp.vec4()
out_v[0] = wp.index(out_q, 3) out_v[0] = out_q[3]
out_v[1] = wp.index(out_q, 0) out_v[1] = out_q[0]
out_v[2] = wp.index(out_q, 1) out_v[2] = out_q[1]
out_v[3] = wp.index(out_q, 2) out_v[3] = out_q[2]
out_position[b_idx] = wp.transform_get_translation(t_3) out_position[b_idx] = wp.transform_get_translation(t_3)
out_quat[b_idx] = out_v out_quat[b_idx] = out_v
@@ -398,10 +398,10 @@ def compute_matrix_to_quat(
out_q = wp.quat_from_matrix(in_m) out_q = wp.quat_from_matrix(in_m)
out_v = wp.vec4() out_v = wp.vec4()
out_v[0] = wp.index(out_q, 3) out_v[0] = out_q[3]
out_v[1] = wp.index(out_q, 0) out_v[1] = out_q[0]
out_v[2] = wp.index(out_q, 1) out_v[2] = out_q[1]
out_v[3] = wp.index(out_q, 2) out_v[3] = out_q[2]
# write pt: # write pt:
out_quat[b_idx] = out_v out_quat[b_idx] = out_v

View File

@@ -23,7 +23,7 @@ import torch
# CuRobo # CuRobo
from curobo.types.base import TensorDeviceType from curobo.types.base import TensorDeviceType
from curobo.types.math import Pose from curobo.types.math import Pose
from curobo.types.robot import CSpaceConfig, State from curobo.types.robot import CSpaceConfig, State, JointState
from curobo.types.tensor import ( from curobo.types.tensor import (
T_BDOF, T_BDOF,
T_DOF, T_DOF,
@@ -456,7 +456,7 @@ class RolloutBase:
return out_metrics return out_metrics
def get_metrics_cuda_graph(self, state: State): def get_metrics_cuda_graph(self, state: State):
return get_metrics(state) return self.get_metrics(state)
def rollout_fn(self, act): def rollout_fn(self, act):
pass pass

View File

@@ -182,7 +182,7 @@ class JointState(State):
if velocity is None: if velocity is None:
velocity = self.position * 0.0 velocity = self.position * 0.0
if acceleration is None: if acceleration is None:
acceleration = self.positoin * 0.0 acceleration = self.position * 0.0
if jerk is None: if jerk is None:
jerk = self.position * 0.0 jerk = self.position * 0.0
state_tensor = torch.cat((self.position, velocity, acceleration, jerk), dim=-1) state_tensor = torch.cat((self.position, velocity, acceleration, jerk), dim=-1)