-
Notifications
You must be signed in to change notification settings - Fork 2
Overview
The rcta_manipulation provides several planning-and-execution capabilities for grasping objects. The main modules are:
The reposition planner is a module that computes a policy for choosing good poses to position a robot for grasping an object. For choosing poses, it reasons over the following constraints:
- visibility of the object
- validity of the pose with respect to environmental collisions
- available workspace of the manipulator
- ability of the manipulator to grasp the object.
The reposition planner requires the following submodules:
- A grasp planner for computing candidate grasp poses for the end effector
- A camera frame, used to test visibility of the end effector at grasp poses
- An inverse kinematics solver for the arm, to test reachability of grasp poses
The reposition planner considers poses in a uniformly discretized three-dimensional space. Points in this space are described with the variables:
- r = the distance away from the object
- theta = the rotation around the object
- yaw = The deviation in heading with respect to directly facing the object
To test visibility constraints, first a grasp planner is used to generate candidate grasp poses for the end effector. These poses are tested to determine whether they lie within the field of view of the given camera frame.
The reposition planner assumes a two-dimensional rectangular model of the robot, which is checked for collisions against a two-dimensional occupancy grid to determine collisions.
Additionally, the reposition planner takes in two-dimensional circular models for the base and for the manipulator, to determine collisions and to bias solutions to keep distance away from the base of the robot and the workspace of the manipulator.
The workspace of the manipulator is modeled using the same two-dimensional circular model used for checking collisions. The circular model is described by two radii, an inscribed radius of the workspace, and a circumscribed radius of the workspace. A pose will be considered invalid if any obstacle cell is within the inscribed radius of the down-projected position of the manipulator. Poses for which the down-projected position of the manipulator is between the inscribed and circumscribed radii will be penalized according to their distance to the nearest obstacle cell.
The grasp poses generated by the grasp planner are tested against an inverse kinematics solver for the manipulator to determine whether the object is reachable from a given pose.
TODO: link to reachability constraints diagram