Grasping & Manipulation
After a resource or resource station has been detected and the base has moved into position, the robot must be able to command the arm and gripper to complete a pick or place task. This functionality is implemented through MoveIt using the Move Group Python Interface. The Pyhton Interface contains wrappers that allows for a simple implementation of needed functionality such as creating motion plans, commanding joint positions, and setting pose goals for the arm and gripper.
While there were many setbacks on the physical robot, simulation allowed for successful testing of the robot's pick and place functionality. In simulation, the robot is able to identify a colored block and set a base position goal using its RGB depth camera and a transformation into the robot's base frame. The robot is capable of navigating to the desired goal where upon achieving that goal another snapshot is taken with the RGBD camera. Using the new snapshot, the position of the target block is determined in relation to the base of the robot. The target block's position is input as a pose goal into a function that uses MoveIt commander to move the arm down to grasp, close the gripper, and then raise the arm. The process was similar for placing a block however in that scenario the RGBD camera is used for identifying AprilTags. It should be noted that MoveIt commander can be used to set the gripper position in simulation.
While there were many setbacks on the physical robot, simulation allowed for successful testing of the robot's pick and place functionality. In simulation, the robot is able to identify a colored block and set a base position goal using its RGB depth camera and a transformation into the robot's base frame. The robot is capable of navigating to the desired goal where upon achieving that goal another snapshot is taken with the RGBD camera. Using the new snapshot, the position of the target block is determined in relation to the base of the robot. The target block's position is input as a pose goal into a function that uses MoveIt commander to move the arm down to grasp, close the gripper, and then raise the arm. The process was similar for placing a block however in that scenario the RGBD camera is used for identifying AprilTags. It should be noted that MoveIt commander can be used to set the gripper position in simulation.
Advice for Future Teams
|
Video of the arm moving on the physical robot.