Skip to content

Commit

Permalink
[update] update readme and action
Browse files Browse the repository at this point in the history
  • Loading branch information
yzqin committed May 16, 2024
1 parent f314596 commit 167b81e
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 6 deletions.
24 changes: 24 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

[*.{py,java,r,R}]
indent_style = space
indent_size = 4

[*.{xml,xsd,urdf}]
max_line_length = off
indent_style = space
indent_size = 2

[*.{md,Rmd,rst}]
trim_trailing_whitespace = false
indent_style = space
indent_size = 2

4 changes: 2 additions & 2 deletions .github/workflows/build_nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: nightly
name: 'dvp_teleop Nightly Release'
name: 'dex_retargeting Nightly Release'
prerelease: true
body: 'Nightly release.'
files: |
./dist/*.whl
./dist/*.whl
15 changes: 14 additions & 1 deletion .github/workflows/build_stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,17 @@ jobs:
path: ./dist/*.whl

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
uses: pypa/gh-action-pypi-publish@release/v1

- name: Create Release
id: create_release
uses: actions/create-release@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
Automatic tagged release
draft: false
prerelease: false
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ imgui.ini
.DS_Store
/.idea
/log
/example/data/output_*.mp4

# Examples
/example/vector_retargeting/data/
!example/vector_retargeting/data/human_hand_video.mp4
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ Dex Retargeting
<a href='https://github.com/dexsuite/dex-retargeting/blob/main/.github/workflows/test.yml'>
<img src='https://github.com/dexsuite/dex-retargeting/actions/workflows/test.yml/badge.svg' alt='Test Status' />
</a>
<!-- issue badge -->
<a href="https://github.com/dexsuite/dex-retargeting/issues">
<img src="https://img.shields.io/github/issues/dexsuite/dex-retargeting.svg" alt="Issues">
</a>
<!-- release badge -->
<a href="https://github.com/dexsuite/dex-retargeting/tags">
<img src="https://img.shields.io/github/v/release/dexsuite/dex-retargeting.svg?include_prereleases&sort=semver" alt="Releases">
</a>
<!-- license badge -->
<a href="https://github.com/dexsuite/dex-retargeting/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/badge/license-MIT-blue">
Expand Down
17 changes: 16 additions & 1 deletion dex_retargeting/optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,17 @@ def set_kinematic_adaptor(self, adaptor: KinematicAdaptor):
new_fixed_id = np.array([x for x in fixed_idx if x not in mimic_idx], dtype=int)
self.idx_pin2fixed = new_fixed_id

def retarget(self, ref_value, fixed_qpos, last_qpos=None):
def retarget(self, ref_value, fixed_qpos, last_qpos):
"""
Compute the retargeting results using non-linear optimization
Args:
ref_value: the reference value in cartesian space as input, different optimizer has different reference
fixed_qpos: the fixed value (not optimized) in retargeting, consistent with self.fixed_joint_names
last_qpos: the last retargeting results or initial value, consistent with function return
Returns: joint position of robot, the joint order and dim is consistent with self.target_joint_names
"""
if len(fixed_qpos) != len(self.idx_pin2fixed):
raise ValueError(
f"Optimizer has {len(self.idx_pin2fixed)} joints but non_target_qpos {fixed_qpos} is given"
Expand All @@ -84,6 +94,11 @@ def retarget(self, ref_value, fixed_qpos, last_qpos=None):
def get_objective_function(self, ref_value: np.ndarray, fixed_qpos: np.ndarray, last_qpos: np.ndarray):
pass

@property
def fixed_joint_names(self):
joint_names = self.robot.dof_joint_names
return [joint_names[i] for i in self.idx_pin2fixed]


class PositionOptimizer(Optimizer):
retargeting_type = "position"
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"mypy",
]

example_requirements = ["tyro", "tqdm", "opencv-python", "mediapipe", "sapien<3.0"]
example_requirements = ["tyro", "tqdm", "opencv-python", "mediapipe", "sapien==3.0.0b0"]

classifiers = [
"Development Status :: 3 - Alpha",
Expand Down

0 comments on commit 167b81e

Please sign in to comment.