DigiMetrix

cancel
Showing results for 
Search instead for 
Did you mean: 

Force control

Is it possible to do force control instead of motion control with ImagingLab? Where can I find some related readings, or instructions, etc? 

Sorry for asking so many questions... but thanks! 

0 Kudos
Message 1 of 7
(10,838 Views)

Hello,

Could you give a little more insight into what you mean by force control?  Are you wanting to measure force at the end effector and vary the speed/position based upon the force feedback?  If so, then you would need to either have a sensor at the end effector in order to read the force back into LabVIEW and adjust the position accordingly, or write a DENSO PAC program to do this and control the execution of that PAC program from LabVIEW.  Movement commands built-in to the ImagingLab's Library are position based (absolute, relative, etc).

Carlton
CLA
0 Kudos
Message 2 of 7
(10,818 Views)

Pehaps you can clarify.  The Denso is capable of what is called 'current limiting' functions; this equates to compliance control (sometimes called soft servo, or force control).  This allows the Denso to set, as a numeric value, a maximum allowable force applied on any combination of axies.  The result is the robot will use only xx% of its power to insert a part (or whatever the operation is), and the arm becomes 'pliable' at its joints.  However, there is no direct translation to tell the robot that, 1kgF is the desired max force for a move; we can only use a % of the max current draw per axis.  These are libraries built into the Denso. 

 

See the referenced libraries in my Denso code below.

 

forcectrl.JPG

 

 

To my knowledge, they are not currently directly accessiable via LabVIEW.  However, you can have LabVIEW run a program resident in the Denso controller, and that program can contain all force/compliance control related moves; then end and return programming control back to the primary LabVIEW program.  Also, some of the compliance control/force control is accomplished simply be setting parameters in the Denso, which I belive there is already a VI in place to get/set those parameter values.

 

Hope this helps!

Denso Robot Sales and Support Specialists
We are a Denso authorized Integrator Partner.
Certified service, repair, training, and warranty center.
Denso LabVIEW knowledge and support center.
sdoyle@roboticsystemsgroup.com
(513) 260 7931
0 Kudos
Message 3 of 7
(10,810 Views)
say I want the end of denso arm to apply a time dependent force on a contact surface. I guess that I need some toolkits like PID control, etc. 
0 Kudos
Message 4 of 7
(10,795 Views)

Hello!

I have the same problem: I'm trying to vary the z position in order to apply a constant normal force at the end effector.

So I'm using an ATI load cell, I read the normal force into Labview and with a PID controller I adjust the z position. This method works very well if I'm not moving the arm along x-y. The problem is that I would like, for example, to move the end effector of 100 mm along x and in the meanwhile adjust the z position to keep the force constant; but if I give as command a displacement along x or y, in the meanwhile I'm not able to update the z value and so I can't control the force. Is there a way to update the z value when the robot is performing a movement along x and y? 

I tried to give some small displacements, like giving increments of 0,1 mm to perform the whole movements, and this can solve the problem, but then I can't control the speed so well.. 

I'm wondering if there is a smarter way to do it. Do you have any suggestion?

Thank you very much,

Carmine

 

0 Kudos
Message 5 of 7
(10,475 Views)

Hallo Carmine,

 

if I understand correctly you need to feedback the sensor values into the motion planning,

i.e. a "closed loop". There is a function in the DENSO controller which is referred to as

"compliance control". It lets you configure parameters to have a limited force on joints

and basically on x-y-z axis as well. But as the function uses the current values of the

servos its precesion is quite limited. For the scara z-axis it works well, for the 5/6 axis

models it is much harder to use.

But there is a new function called "Slave Move" which is available since May 2010. This

function allows you to send position data every 8 ms and practically overriding the motion

planning of the controller. If you have access to a robot kinematics and motion planning

library you can thus setup a closed loop by feeding back the sensor data into the motion

planning. In my understanding this function is not yet implemented in the current version

of the ImagingLab library but please check with ImagingLab to clarify.

If you are interested in the "Slave Move" function I can make it available for you.

 

Cheeers,

 

Alexander

 

0 Kudos
Message 6 of 7
(10,470 Views)

Hi Alexander,

I knew about the "compliance control" but for our applications we need an high precision, so we are using an external load cell. Anyway, the feedback closed loop works very well if I'm not moving the robot along x-y; for example, if I have a compliant material on top, I can reach the right z position in order to have the force that I required. I have a problem when I perform a movement: for example, I need to perform an x displacement of 100 mm, with constant force of 0,5 N. So, when I start the force closed loop, at the beginning the z position is the right one necessary to have 0,5 N at the end effector; when the x movement start, I can't update the z position anymore in order to keep the force constant: the z position remains the same until the movement is complete. 

In my opinion the problem is that when I perform a movement, when the movement is not complete I can't come back inside the loop and update the z position; I have to wait until I reach the final position.

If with the "Slave Mode" function, I can override the motion before the motion is complete (so I can update the z position also if the robot is still performing his movement along x or y axis) I'm really interested to it!

Thank you very much,

Best Wishes,

Carmine

0 Kudos
Message 7 of 7
(10,467 Views)