Skip to content

Conversation

@Michi-Tsubaki
Copy link
Contributor

I use nextage robot in work. Since I need to solve the inverse kinematics (IK) for Nextage in Python and send the joint angles, this PR adds the Nextage Open robot model on the way.

Screenshot from 2025-10-24 00-35-39

@Michi-Tsubaki Michi-Tsubaki marked this pull request as ready for review October 23, 2025 15:48
if osp.exists(path):
return path
_download(
url='https://github.com/Michi-Tsubaki/scikit-robot-models/raw/refs/heads/add-nextage/nextage_description.tar.gz', # NOQA
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iory/scikit-robot-models#1
This PR is merged. Please fix the url.

@Michi-Tsubaki
Copy link
Contributor Author

I fixed the url and resolved ruff linting errors.

@Michi-Tsubaki
Copy link
Contributor Author

Michi-Tsubaki commented Oct 25, 2025

iory added 3 commits October 25, 2025 13:21
- Adjust target poses to match Nextage end effector workspace
- Add base rotation (180deg around y-axis) to match end_coords orientation
- Split long lines to comply with line length limit
@iory iory force-pushed the add-nextage-model branch from 37d496b to b661c14 Compare October 25, 2025 04:30
@Michi-Tsubaki
Copy link
Contributor Author

Michi-Tsubaki commented Oct 25, 2025

The CI failure might be due to 25.3 released today.

Yesterday, Install pytestp results L13-L23 (pass) --> pip was not upgraded in this section

Requirement already satisfied: pip in /opt/hostedtoolcache/Python/3.13.7/x64/lib/python3.13/site-packages (25.2)
Collecting setuptools
  Downloading setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB)
Collecting wheel
  Downloading wheel-0.45.1-py3-none-any.whl.metadata (2.3 kB)
Downloading setuptools-80.9.0-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 17.3 MB/s  0:00:00
Downloading wheel-0.45.1-py3-none-any.whl (72 kB)
Installing collected packages: wheel, setuptools

Successfully installed setuptools-80.9.0 wheel-0.45.1

Today, Install pytestp resutls L13-31 (fail) --> pip was upgraded pip in this section

Collecting pip
  Downloading pip-25.3-py3-none-any.whl.metadata (4.7 kB)
Collecting setuptools
  Downloading setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB)
Collecting wheel
  Downloading wheel-0.45.1-py3-none-any.whl.metadata (2.3 kB)
Downloading pip-25.3-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 94.3 MB/s  0:00:00
Downloading setuptools-80.9.0-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 102.0 MB/s  0:00:00
Downloading wheel-0.45.1-py3-none-any.whl (72 kB)
Installing collected packages: wheel, setuptools, pip
  Attempting uninstall: pip
    Found existing installation: pip 25.2
    Uninstalling pip-25.2:
      Successfully uninstalled pip-25.2

Successfully installed pip-25.3 setuptools-80.9.0 wheel-0.45.1

@Michi-Tsubaki
Copy link
Contributor Author

Michi-Tsubaki commented Oct 25, 2025

The cause is pypa/pip#13602 as I reproduced the failure on my environment.

(test_py313) michi-tsubaki@tsubaki-ThinkPad-P14s-Gen-4:~$ python --version
Python 3.13.9
(test_py313) michi-tsubaki@tsubaki-ThinkPad-P14s-Gen-4:~$ pip --version
pip 25.2 from /home/michi-tsubaki/miniconda3/envs/test_py313/lib/python3.13/site-packages/pip (python 3.13)
(test_py313) michi-tsubaki@tsubaki-ThinkPad-P14s-Gen-4:~$ pip install --upgrade pip
Requirement already satisfied: pip in ./miniconda3/envs/test_py313/lib/python3.13/site-packages (25.2)
Collecting pip
  Downloading pip-25.3-py3-none-any.whl.metadata (4.7 kB)
Downloading pip-25.3-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 7.1 MB/s  0:00:00
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 25.2
    Uninstalling pip-25.2:
      Successfully uninstalled pip-25.2
Successfully installed pip-25.3
(test_py313) michi-tsubaki@tsubaki-ThinkPad-P14s-Gen-4:~$ pip install pysdfgen==0.2.1
Collecting pysdfgen==0.2.1
  Downloading pysdfgen-0.2.1.tar.gz (23 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [34 lines of output]
      /home/michi-tsubaki/miniconda3/envs/test_py313/bin/python3.13: No module named pip
      Traceback (most recent call last):
        File "/home/michi-tsubaki/miniconda3/envs/test_py313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
          main()
          ~~~~^^
        File "/home/michi-tsubaki/miniconda3/envs/test_py313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main
          json_out["return_val"] = hook(**hook_input["kwargs"])
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/home/michi-tsubaki/miniconda3/envs/test_py313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-zyshwrui/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-zyshwrui/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/tmp/pip-build-env-zyshwrui/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 512, in run_setup
          super().run_setup(setup_script=setup_script)
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-zyshwrui/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 95, in <module>
        File "<string>", line 88, in main
        File "<string>", line 79, in get_or_install_skbuild
        File "/home/michi-tsubaki/miniconda3/envs/test_py313/lib/python3.13/subprocess.py", line 472, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
                 ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                     **kwargs).stdout
                     ^^^^^^^^^
        File "/home/michi-tsubaki/miniconda3/envs/test_py313/lib/python3.13/subprocess.py", line 577, in run
          raise CalledProcessError(retcode, process.args,
                                   output=stdout, stderr=stderr)
      subprocess.CalledProcessError: Command '['/home/michi-tsubaki/miniconda3/envs/test_py313/bin/python3.13', '-m', 'pip', 'list', '--format', 'json', '--disable-pip-version-check']' returned non-zero exit status 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'pysdfgen' when getting requirements to build wheel
(test_py313) michi-tsubaki@tsubaki-ThinkPad-P14s-Gen-4:~$ pip install --no-build-isolation pysdfgen==0.2.1
Collecting pysdfgen==0.2.1
  Using cached pysdfgen-0.2.1.tar.gz (23 kB)
  Preparing metadata (pyproject.toml) ... done
Collecting trimesh>=3.5.20 (from pysdfgen==0.2.1)
  Using cached trimesh-4.9.0-py3-none-any.whl.metadata (18 kB)
Collecting numpy>=1.20 (from trimesh>=3.5.20->pysdfgen==0.2.1)
  Downloading numpy-2.3.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (62 kB)
Using cached trimesh-4.9.0-py3-none-any.whl (736 kB)
Downloading numpy-2.3.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.6/16.6 MB 7.9 MB/s  0:00:02
Building wheels for collected packages: pysdfgen
  Building wheel for pysdfgen (pyproject.toml) ... done
  Created wheel for pysdfgen: filename=pysdfgen-0.2.1-cp313-cp313-linux_x86_64.whl size=28757 sha256=b3fe3fb9bdf5dff21f701cb9ed5f81313478f3021be5683651c872db3601f970
  Stored in directory: /home/michi-tsubaki/.cache/pip/wheels/a4/dc/61/24db52c3baef946d9f7b71a4a462c2ecaa6e9d0400699801e9
Successfully built pysdfgen
Installing collected packages: numpy, trimesh, pysdfgen
Successfully installed numpy-2.3.4 pysdfgen-0.2.1 trimesh-4.9.0

Anyway, I think

  1. using --no-build-isolation,
  2. fixing pip==25.2,
  3. Updating pysdfgen to use proper PEP 517 build configuration.
    are the choices

@iory iory merged commit c7dcb1f into iory:main Oct 25, 2025
71 of 76 checks passed
@iory
Copy link
Owner

iory commented Oct 25, 2025

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants