CRAM v0.5.0
New features:
- Created new package CRAM-PR2-FETCH-DELIVER-PLANS with FETCHING and DELIVERING plans that fetch an object from a surface in the environment and deliver it at the specified location on a surface.
- Created new types of plan failures, mostly high-level ones, such as OBJECT-UNFETCHABLE.
- Created new package CRAM-PR2-PROJ-REASONING where projection-based reasoning is done, etc. reasoning about collisions.
- Created new package CRAM-PR2-PICK-PLACE-DEMO with a pick and place scenario in the kitchen.
- Manipulation configuration calculations have been majorly improved:
- Pregrasp and postgrasp are now transforms and not poses to enable easy multiplication
- The gripper coordinate frame of different robots does not influence object grasping configuration anymore
- Pregrasp configuration is now calculated w.r.t the object, such that the gripper approaches the object without tipping it over.
- Grasping actions can now also accept a list like “'(left right)”
- Some new objects have been added, such as cereal, etc.
- Old offsets have been fixed to work better on the real robot.
- Basic logging for pick and place actions has been implemented, see “cram_cloud_logger” package:
- Object designators can be logged.
- Poses can be logged.
- Location designators can be logged.
- Fetch and deliver action designators can be logged with their parameters but without action hierarchy.
- Success or failure boolean of an action can be logged.
- When picking action asks for IK solutions, now a torso angle sampling is also done to increase the robot's reachability area.
- Implemented a caching mechanism for IK solver as it seemed to have a problem with configurations that have already been processed.
- A pretty printer for DESIGNATOR class has been implemented.
- TF utilities from “cram_pr2_cloud” package were moved into “cram_tf” package, they're quite useful (multiplying transform-stamped-s etc.), check them out.
- Perceived object events are now handled correctly by the belief state, such that perceived objects get spawned in the bullet world etc.
- Object attachment and detachment events are now handled correctly, including Bullet world attachments.
- (a location (of (an object (pose … ) now returns the pose of the object.
- Added ROBOT-CARRYING-POSES to go together with ROBOT-PARKING-POSES.
- Implemented WITH-PROJECTED-ROBOT & WITH-SIMULATED-ROBOT & WITH-REAL-ROBOT macros for running plans accordingly.
- Renamed:
- cram_pr2_pick_place_plans → cram_mobile_pick_place_plans
- cram_pr2_plans → cram_pr2_plans_deprecated
- Rearranged and cleaned up a lot of code, especially the pick and place plans.
- An initial version of a script for checking ASDF dependencies and configuring workspaces with CATKIN_IGNORES was implemented.
See ChangeLog for more details.