Giter Club home page Giter Club logo

robot_descriptions.py's Issues

Allow commit-pinning a robot description

Currently we always clone the latest available description.

For repeatability, it would be nice to enable downstream dependencies to pin a description to the specific commit they are using.

Load scenes rather than robot files for MJCF descriptions

When loading a robot description from MuJoCo Menagerie, it seens it is more common to load the scene.xml files for each description rather than the individual robot files (that have, notably, no ground).

The proposal is then to make all MJCF descriptions loaded via robot_descriptions go for scene.xml by default, with optionally a variant #62 for bare robots.

Git pull to check out newer commits

The following error happens when the repository hasn't pulled the required commit:

git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git checkout e946426aaaa56f59e14ad24ed2c22a3b1a04f124
  stderr: 'fatal: reference is not a tree: e946426aaaa56f59e14ad24ed2c22a3b1a04f124'

Missing dependency package `yourdfpy`

Good Day,

This issue is just to call attention to a missing dependency during package build and install. Specifically, yourdfpy package is missing as a description and throws an error when using the CLI.

I will submit a pull request with the change soon if it is not easily fixed.

PS: THANKS for this package, you save hours of pain in the ass to any newcomer in robotics.

Loading non-specific after specific commit fails

The following test fails with the current code:

load_pinocchio("draco3_description", commit="5afd19733d7b3e9f1135ba93e0aad90ed1a24cc7")
load_pinocchio("baxter_description")

The first calls sets a custom commit environment variable, not cleared when processed by the second one.

This one is a blocker for stephane-caron/pink#80

Broken README links

All links under Examples give me a "Not found" page if I'm on the master branch. This does not occur if I switch to a tag, say, v0.2.0.

Perhaps it is because the repository name ends with .py?

Some descriptions don't load properly in Pinocchio

Some URDF descriptions don't load properly in Pinocchio. At present, the descriptions that don't load properly are:

Description Pinocchio 2.6.4 Pinocchio 2.6.10
cf2_description ✔️
laikago_description ✔️
mini_cheetah_description
minitaur_description
pr2_description

Some of them were because of stack-of-tasks/pinocchio#1741. A fix was proposed by Pinocchio maintainers in stack-of-tasks/pinocchio#1742 which made it to 2.6.10.

This issue is here to keep track, and check that Pinocchio eventually loads all of these descriptions successfully.

Command line usage when no argument

This works:

robot_description show upkie

But calling the command line tool with no argument yields:

TypeError: unsupported operand type(s) for %: 'tuple' and 'dict'

Wheeled robots

The README specifies there's wheeled robots but the hyperlink does not show any. Why is this?

Loading Mini Cheetah description in Pinocchio 2.6.10

The URDF does not load with Pinocchio 2.6.10:

$ python examples/load_in_pinocchio.py mini_cheetah_description
Traceback (most recent call last):
  File "examples/load_in_pinocchio.py", line 35, in <module>
    robot = load_robot_description(args.name)
  File "~/.local/lib/python3.8/site-packages/robot_descriptions/loaders/pinocchio.py", line 69, in load_robot_description
    robot = pin.RobotWrapper.BuildFromURDF(
  File "~/.local/lib/python3.8/site-packages/cmeel.prefix/lib/python3.8/site-packages/pinocchio/robot_wrapper.py", line 17, in BuildFromURDF
    robot.initFromURDF(filename, package_dirs, root_joint, verbose, meshLoader)
  File "~/.local/lib/python3.8/site-packages/cmeel.prefix/lib/python3.8/site-packages/pinocchio/robot_wrapper.py", line 21, in initFromURDF
    model, collision_model, visual_model = buildModelsFromUrdf(filename, package_dirs, root_joint, verbose, meshLoader)
  File "~/.local/lib/python3.8/site-packages/cmeel.prefix/lib/python3.8/site-packages/pinocchio/shortcuts.py", line 45, in buildModelsFromUrdf
    geom_model = pin.buildGeomFromUrdf(model, filename, geometry_type, package_dirs = package_dirs)
ValueError: Mesh meshes/mini_body.obj could not be found.

This seems related to stack-of-tasks/pinocchio#1747. Perhaps "meshes/mini_body.obj" is not considered a relative path in parsers/utils.hpp?

Checks:

  • I've checked that package_dirs[0] + "meshes/mini_body.obj exists on my filesystem
  • Manually replacing all instances of meshes/ by ./meshes/ in the URDF, the description loads properly

Stretch description error not caught by unit tests

A previous commit of the Stretch description failed:

ValueError: Could not load resource ./meshes/base_link.STL
Unable to open file "./meshes/base_link.STL".
Hint: the mesh directory may be wrong.

This error was not caught by the CI 🤔

KUKA iiwa disambiguation

There's an iiwa7 and an iiwa14 so we should ideally have separate description files for each.

Loading Solo and Bolt in Pinocchio 2.6.4

From @Danfoa at #6 (comment):

STL: ASCII file is empty or invalid; no data loaded
Hint: the mesh directory may be wrong.
...
  File ".../envs/robotics/lib/python3.7/site-packages/pinocchio/robot_wrapper.py", line 21, in initFromURDF
    model, collision_model, visual_model = buildModelsFromUrdf(filename, package_dirs, root_joint, verbose, meshLoader)
  File ".../envs/robotics/lib/python3.7/site-packages/pinocchio/shortcuts.py", line 45, in buildModelsFromUrdf
    geom_model = pin.buildGeomFromUrdf(model, filename, geometry_type, package_dirs)
ValueError: Argument geometry_model should be a GeometryModel

Bumping version of example-robot-data repository

First of all, thank you so much for maintaining this valuable repository!

It would be possible to bump the version of example-robot-data in

"example-robot-data": Repository(
url="https://github.com/Gepetto/example-robot-data.git",
commit="9ba565ca1491efa92ebac38cdd499e5b1c256bf1", # v4.0.3
cache_path="example-robot-data",
),

to release 4.0.9 (commit d0d9098d752014aec3725b07766962acf06c5418)?

Unfortunately, the version v4.0.3 does not include the inertial parameters in the Franka panda robot, limiting the usage of the URDF file for some applications.

Add variant keyword to `load_robot_description`

Some descriptions have variants (like the "left" and "right" versions of the Allegro hand) that are currently only available when importing submodules. We could add a variant keyword argument to load_robot_description so that users can access it from there as well.

XML error with lxml 5.0.0

An XML error has appeared in the yourdfpy CI workflow:

2024-01-02T10:08:46.0517945Z   File "/home/runner/work/robot_descriptions.py/robot_descriptions.py/.tox/loader-yourdfpy/lib/python3.8/site-packages/collada/__init__.py", line 210, in __init__
2024-01-02T10:08:46.0519697Z     self.xmlnode = ElementTree.ElementTree(element=None,
2024-01-02T10:08:46.0520666Z   File "src/lxml/etree.pyx", line 3183, in lxml.etree.ElementTree
2024-01-02T10:08:46.0521806Z   File "src/lxml/parser.pxi", line 1955, in lxml.etree._parseDocument
2024-01-02T10:08:46.0522961Z   File "src/lxml/parser.pxi", line 1975, in lxml.etree._parseMemoryDocument
2024-01-02T10:08:46.0524057Z   File "src/lxml/parser.pxi", line 1862, in lxml.etree._parseDoc
2024-01-02T10:08:46.0525564Z   File "src/lxml/parser.pxi", line 1145, in lxml.etree._BaseParser._parseDoc
2024-01-02T10:08:46.0526850Z   File "src/lxml/parser.pxi", line 618, in lxml.etree._ParserContext._handleParseResultDoc
2024-01-02T10:08:46.0528089Z   File "src/lxml/parser.pxi", line 728, in lxml.etree._handleParseResult
2024-01-02T10:08:46.0529191Z   File "src/lxml/parser.pxi", line 657, in lxml.etree._raiseParseError
2024-01-02T10:08:46.0529995Z   File "<string>", line 83
2024-01-02T10:08:46.0530832Z lxml.etree.XMLSyntaxError: xmlSAX2Characters: huge text node, line 83, column 10000427

This error coincides with the release of lxml 5.0.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.