I'm building an arduino-based robotic arm which is meant to pick some objects with a two-finger-like structure. The problem is I need to detect the servo stress (the moment when the servo really holds the object) to stop the servo and prevent it from squeezing the object. Is there any way to do this with an Arduino Uno?
Force/pressure sensors will be more "real life" accurate, reporting directly the force being applied to the object. Whereas current measurement only gives you one piece of data for extrapolation among many other parameters which may be variable. Precise pressure sensor are pretty expensive. The current "sensors" may be much cheaper and possible smaller.
Many variables must be defined to specify and realize this problem. e.g. max acceleration, max force, max velocity, max displacement, spring constant in grip, range of distance for grip spring, minimum grip force, maximum grip force, maximum actuator time. Come back when you have defined these.
Current is proportional to torque which can be "no load" acceleration or static motion load torque. So some surface spring constant is suggested in the mechanism to detect a rise in contact load, otherwise you would have to move very slow. Then the servo dynamics must model the velocity of overshoot with this and determine a steady state current profile that will maintain an acceptable grip with current translated into torque into contact force or pressure.
Then the servo actuator needs a design for maximum acceleration, maximum velocity for any displacement seek and a maximum contact force with a minimum holding force. Then it may be possible to find open source software to meet these input criteria with input for system constants like; servo current controlled motor force and voltage controlled max velocity constants and current sense feedback.
With the appropriate mechanical design it could be a BLDC or stepper motor both with gear, belt or nylon string pulley reduction.