In the process we've experienced many difficulties.
The first difficulties that we experienced were the changes in hardware environment. Some of our team members either had some or close to no experience when it comes to handling the UR5, as most of us had only experienced working with the Sawyer manipulator arms. Furthermore, we've also had issues with the software--particularly the environment that we were working with. One of the updates to ROS rendered Ubuntu completely unusable, and we could not listen to the manipulator nor send commands to it; this led to a complete re-download of the operating system.
In conjunction with hardware difficulties, we found that the Axia80 force sensor was severely limited in its capability to measure an object's deformability. Our initial plan was closing the gripper to measure the deformability of an object, but the gripper did not come with a touch force sensor, and the lack of a gripper force sensor solidified our progress in deciding our sensing plan for deformable object. Our probing motion was designed with the Axia80 in mind.
Last but not least, a problem we had was the noisy reading from the force sensor itself. We figured this out when we tried to measure different objects' weights, but every time the UR5 performed the motion of going down and picking up the object to lift it up, the readings were substantially different from all the iterations. Therefore, we resorted to using the method of calculating the average of multiple readings.
This was a very challenging but interesting project to work on, and there are a lot of improvements we would like to make in future iterations:
The first thing we're looking to improve is to implement a way to measure the friction between the object and the table.
Another thing we look forward to doing is using computer vision to recognize the position of the object and the destination rather than having AR tags on the objects and destination.
One more avenue we think that we could improve upon is a larger pool of sample objects with more variety of shapes, such as cone, pyramid, or even a ball.
In addition to more shapes, we also wanted to try more adversarial inputs such as objects that were closer to the weight limit of the robot, which we did not try due to time and safety constraints.
Last but not least, we would like to improve our algorithms so they can react to different setbacks such as noise or friction between the objects and table.