Suraj Pattar

Robotics AI Research Engineer / Ph.D. in AI and Robotics / Data Scientist / 3D Printing Enthusiast

Robot Carrying Spoon With Water Without Spilling

Keywords: myCobot, Robot Control, Simulation, Nvidia Flex


This is a work in progress. The overall goal is to carry a spoon filled with liquid by a robot without spilling any liquid.

Robot Motion Simulation in RoboDK

At first, I simulated the robot motion in RoboDK. The motion is planned such that there are frequent stops so that the liquid settles down.

This is an open loop approach where we’re not tracking the weight of the liquid and the position of spoon is known beforehand.

We could also detect the position of the spoon using object detection for which I’ve generated some synthetic data in the second part of the video. To save on computation, we could have a home position and destination position for which we have pre-computed IK so that we only need to compute IK when moving to the spoon’s origin position.

Fluid Simulation with UE4 Nvidia Flex

Next, I tried to simulate how a fluid would react when under motion. In this video, I’m trying to simulate how a robot would carry a spoon with liquid in it without spilling it. There are three speeds: Normal, Fast, and Slow. You can see how the speed of the robot motion can affect the spilling of the liquid.

Here, the weight of liquid or number of water particles could be used as a penalty for a RL algorithm.

Testing myCobot’s Motion Jerk

Then, I tried to test the motion on myCobot. The robot seems to have some jerk in its motion while moving in a particular direction.

Next, I’ll be trying to build an environment for testing some RL algorithms.