====== 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 [[https://github.com/cram2/cram/blob/master/ChangeLog.txt|ChangeLog]] for more details. {{tag>}}