Comments (6)
Hi, I specify the density for each YCB model in this file. The simulator will compute the mass on the fly given its collision mesh. You can acquire the mass by env.obj.mass
for PickSingleYCB-v0
. I roughly refer to the official document of YCB: https://people.eecs.berkeley.edu/~pabbeel/papers/2015-RAM-YCB-object-set.pdf. We are considering using the official mass for each object in a later release. Feel free to let us know if you have any suggestions.
from maniskill.
Great, thank you! As a follow up, are there any benefits to or other specific reasons why storing density was preferred over mass?
May I also ask if the collision meshes for models were constructed by the Mani Skill team or acquired from somewhere else?
Thank you!
from maniskill.
The reason is that the simulator usually needs to set mass and inertia for rigid objects (SAPIEN requires to specify both when building actors). I have not found inertia from the official YCB dataset. Besides, in order to guarantee that objects can be grasped by the Panda gripper, we need to scale some objects. Thus, a reasonable density can be more flexible than mass.
We use CoACD, an alternative to VHACD, to generate collision meshes. Collision meshes for all YCB objects are available elsewhere (e.g., AI Habitat), but they are not fully tested to be feasible for grasp.
from maniskill.
Sounds great, Nvidia IsaacGym has the option to calculate inertia directly from geometry. Which seems to work fine in my experience.
However, it weirdly distorts the collision meshes that I get from Mani Skill, and so almost always needs VHACD, which sometimes results in degenerate collision meshes. I believe that's a problem on IsaacGym's side, since it does that with vanilla YCB models too.
Thanks a lot for your input, best!
from maniskill.
Our collision meshes have already been processed to be convex. The possible issue I can come up with is that I use trimesh to export those models and they do not contain the "convex_x" label in the obj, which usually are generated by V-HACD. I am not sure how Isaac Gym deals with it. We would appreciate it if you coult let us know what happens when you figure it out.
from maniskill.
Hello again,
I was able to find out why gym was causing trouble with MS2 assets. According to a response I got from a staff member on the Nvidia forums, IsaacGym doesn't check for convex meshes and defaults to hull unless the asset is convex decomposed inside gym on import (asset_options_obj.vhacd_enabled = True
), strangely not mentioned in the docs.
from maniskill.
Related Issues (20)
- Computing end effector pose of robot HOT 2
- Align evaluation setups for different online RL algorithms
- [Enhancement] Make control_mode pd_ee_pose for target pose control HOT 4
- [Docs] Update google colab quick start with some nicer images in the first cell and new info
- Motionplanning GPU multi-env ? HOT 1
- Improve PPO baselines when there are no partial resets HOT 3
- Question on the effects of `use_target` in a controller config object HOT 3
- [Question]Motion Planning for Articulated Object link! HOT 1
- Support systems without GPUs for cpu sim running only
- [Question]How can I get real-time bbox about object when its position changes in motionplanning? HOT 1
- [Question] Debug Drawing in ManiSkill HOT 4
- [Question] Difficulty Achieving Correct Orientation in 'PickCube-v0' with Pose Control
- ValueError: Unicode strings with encoding declaration are not supported. HOT 1
- Getting specific object pose in mobile manipulation scene HOT 2
- [Question] Inverse Kinematics on GPU HOT 4
- Document how to build controllers in depth
- How to handle unexpected motions? HOT 2
- [Bug] env.get_state fails but env.get_state_dict works for PegInesertionSide HOT 1
- Fails when running RGB based PPO baseline HOT 3
- [Question] `max_episode_steps` for `num_envs>1` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maniskill.