Author: Adarsh Jeewajee Affiliation: MIT EECS, LIS CSAIL
A pybullet simulation that loads the WSG-32 parallel-finger gripper.
The gripper parts are taken from this repo.
We package the gripper parts in a simulation with a flat table, and the possibility of loading any desired object in '.obj' format.
We provide two wrappers that take in the provided simulation and implement abstract functionality.
Several example meshes are available for you to use in the './sample_raw_meshes' directory.
A wrapper that takes in a Simulation object and adds slider controls to the GUI, allowing realtime features such as:
- Moving the gripper
- Opening/closing the gripper
- Manipulating the camera
Example command: python gui_wrapper.py --obj_path ./sample_raw_meshes/elephant.obj
One might want to implement a wrapper that performs a specific routine with the gripper, like grasping an object.
This is an example of such a wrapper that takes in a Simulation object and implements primitive methods that allow controlling the gripper modularly.
We provide primitives for performing the following sub-routines:
- Opening/closing the gripper
- Moving the gripper to a specific point in space
- Shaking the gripper
We combine those primitives into a grasping routine where the gripper starts high above the table, then it is lowered till it reached the surface, closes on the object and goes back up, before shaking to test the grasp goodness.
Note: We also show, in the main section for this wrapper, how to stabilize any loaded object at the center of the table. The strategy used is to load the object, record the pos and orn at which it stabililizes, then re-launch it at the stable pos and orn.
Example command: python dummy_grasp_routine_wrapper.py --obj_path ./sample_raw_meshes/elephant.obj