v0.2.0a0
Pre-release
Pre-release
MPlib 0.2.0a0 Release Notes
Functional Changes:
- Sapien world to MPlib planning world. You can now sync up Sapien with the planner without having to explicitly construct a planner. This obviates manually maintaining the planning world, which might be prone to mistakes.
- Ability to set global seed for easier debugging
- Enhanced attach object to avoid collision with links that might be in constant collision with it.
- Exported FCL distance query to python
- Exported FCL shapes Ellipsoid, Halfspace, and TriangleP
- Reworked srdf generations so users do not need to manually run Moveit Setup Assistant to generate an srdf.
- Added support for URDF files that has multiple collision geometries to a single link
API Changes:
+:
- set_global_seed() for easier debugging
- create_from_urdf_string for articulated model, fcl, and planning world
- get_name that returns the name of the articulated model
- set_name that sets the name of the articulated model
- Attached body class that stores where and how an object is attached to an articulation in a more structured manner. In particular, the touch link disables collision between the
- detach_object(name) to remove an attached object
- remove_point_cloud() to remove point cloud from the scene
- get_attached_object(name)
- is_normal_object_attached(name)
- AllowedCollisionMatrix class where pairwise collisions are disable if the entry is set to True
- get_allowed_collision_matrix to return a matrix.
- Added distance calls in PlanningWorld that has the same API as collision calls. They return distance result.
- WorldDistanceResult. Counterpart of WorldCollisionResult for distance.
- has_articulation(name)/has_normal_object(name)
- is_articulation_planned(name) checks if the articulation is the one the planner is planning for. We only plan for a single articulation.
- Ellipsoid, Halfspace, TriangleP collision geometries
- get_adjacent_links() returns all pairs of adjacent links
- SapienPlanningWorld class that takes in a Sapien Scene and constructs the same scene for planning
- SapienPlanner class that takes in a Sapien Scene and turns into a planner you can use directly
- update_from_simulation inside SapienPlanner and SapienPlanningWorld that can resync after the Sapien simulation has changed
modifications:
- Now pymp is not needed when importing a module/class. For example,
from mplib.pymp.collision_detection import fcl
is nowfrom mplib.collision_detection import fcl
- All functions with arguments such as use_point_cloud, use_attach are modified to have these arguments removed. As mentioned in the next section, as long as there is a point cloud or an attach, they will be used
- set_normal_object is now add_normal_object
- get_articulations is replaced by get_articulation(name) as well as get_articulation_names()
- print_attached_body_pose() replaced by print_attached_body_pose()
- update_attached_tool() renamed to update_attached_object()
- FCL collision object is wrapped by FCLObject that can contain multiple collision geometries.
- OMPL.plan has the planner method removed. Argument no_simplication changed to simplify with its value flipped
- CollisionGeometry has all its methods renamed to lower camel case.
- Most if not all arguments with default values are now kw_only
- plan_qpos_to_pose, plan_qpos_to_qpos, plan_screw argument names are modified
- set_transformation -> set_pose for CollisionObject
-:
- set_use_attach removed. Instead, when there is attach, the planner will automatically use it
- set_use_pointcloud removed.
What's Changed
- Update planner.py by @Lexseal in #70
- Merge from kolinguo/MPlib by @KolinGuo in #78
- Srdf generation by @Lexseal in #72
- One link multiple geom by @Lexseal in #77
- Add nonconvex mesh support in SapienPlanningWorld. Add SapienPlanner by @KolinGuo in #79
- Unify pose; Support multi-shape Physx components in SapienPlanningWorld conversion by @KolinGuo in #81
- Update fcl in Dockerfile by @KolinGuo in #82
- Update api. Support PhysxCollisionShapePlane conversion by @KolinGuo in #83
Full Changelog: v0.1.1...v0.2.0a0