Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Closed-loop dead-time control of contact force of an end-effector 1

Status
Not open for further replies.

dgel

Bioengineer
Jun 9, 2017
5
Hello,

I am trying control the contact-force of an end-effecter on a moving surface in 1 direction. The force sensor on the end effector is sampled at 20 Hz with an inherent dead-time of 50-80 ms. The time constant of my modeled plant (acquired using Simulink modeling input-output data from an open-loop step-response) is ~30 ms.

I implemented a PI controller and it is unable to reject output disturbances caused by the moving surface. The moving surface has frequency components upto 1.8 Hz.

Since the dead-time is greater than then the time constant, I implemented a Smith predictor, however I still have poor disturbance rejection.

What suggestions does the community have? I developed the mechatronics system and it is powered by an Arduino.

Regards,
 
Replies continue below

Recommended for you

You don't have a chance with the current setup. I/we have done many "grabbing" or "cushioning" applications were one side moves and the other side controls force.
We close the loop in the 1Kz range or faster and this may not be fast enough.
First, do you have position feed back from the moving surface? This will help "anticipate". We usually gear the force actuator to the moving actuator.
Second, does the surface in end effector have any "give". Is it compliant?
Third, how fast is the moving surface moving?

50-80 ms of dead time is a control disaster.

In most cases we control the position of the two actuators that are grabbing an object. One is in position control and the other in force control.
The force control actuator adds the position control actuators control output to the force control's output as a bias or feed forward. There is NO WAY a PI loop will respond fast fast enough on its own.
The dead time is the application killer. The force control applications require very fast feedback too. Usually in the 4-8 Khz range.

What is the application?



Peter Nachtwey
Delta Computer Systems
 
Let me go into more context, perhaps it will help find a solution.

I am robotically controlling the contact force at the end of a surgical tool with an embedded force sensor sampled at 20Hz. The surface motion is inherent tissue motion (with a fair amount of compliance). I do not have the ability to track the motion of the tissue, unfortunately - I presume you were hinting to feedfoward control.

I was given the surgical tool and using an ideal force sensor (sampled at 1Khz), I used an auto-correlation technique to identify the inherent delay in the force sensor of the tool. I have been working all day and I repeated this experiment several times and noticed the delay can fall anywhere between 0-60 ms (I suspect the great disparity would be due to the poor sampling on the force sensor of the tool).

By robotically displacing the end effect into and out of the tissue, I now have input/output data that I used to model a linear transfer. The plant acts as a 2-order stable, however to keep it simple - I modeled it as a first-order plus dead-time model (FOPDT) in order to implement the Smith predictor.

The Smith predictor had similar disturbance rejection performance as a ZN-tuned PID controller.

@PNachtwey, I have been looking into anticipative controllers. I actually modified the Smith predictor to handle periodic disturbances (since most tissue motion is periodic). It performs extremely well but has several limitations that I would like to stay away from.

@Bi Volt, The plant is acting as a 2nd-order response, however modelling it as a FOPDT, the "transient period" is approximately 300 ms.

A few questions:
1 - Using the autocorrelation technique I described. Is the delay I am getting due to poor sampling on the force sensor? or is it actual inhere delay in the system? or is it both?
2 - Are there any tools to help extrapolate the feedback loop in real-time to increase my "sampling"?
3 - Adaptive PID controllers? How to they stack up to undersampled/dead-time systems?
4 - Can Kalman filters be used anywhere in my application? I have no experience with them.

Thank you both,
 
The main problem is that the force will rise or fall quickly if there are tracking error between the moving surface and the end effector. The force will rise or fall way too fast for control method stated by dgel.

Putting a big air bag between the moving surface and end effector will reduce the rate of force changes due to tracking errors. This will probably not be practical. In other words, the compliance of the system must be known. The mechanical engineer should know this if he is any good.
If contact is metal on metal then one should look up Young's modulus.

I have done enough of these applications to know what questions to ask. I am waiting for answers.
My first impressions is the dgel is wasting his time trying to make this work.


Peter Nachtwey
Delta Computer Systems
 
@PNachtwey

Just to address the rest of your questions:

1 - Maximum tissue motion is ~80 cm/s, and displacement is 10 mm
2 - Frequency components in the disturbance: ~0.3Hz & ~1.25Hz
3 - The surgical tool with force sensor is rigid (metal) and the tissue has a report Youngs modulus between 50 - 200 kPa.

I would like to think I am not just wasting my time. I am able to achieve great results using an anticipative controller. I am on this forum to see what methods exist other than such a control technique. I want to stay away from anticipative controllers, so your insight is valuable.

Thank you,
 
I would like to think I am not just wasting my time. I am able to achieve great results using an anticipative controller.
You are wasting your time until you get a faster force feed back. Do you know how the force is going to change as a function of velocity error between the tissue and knife? If you need to do the math.
Your loop time is too slow

ZN is awful. The fact you would suggest this for a surgical device makes me cringe. ZN results in overshoot and that can't be good for a medical device.

My approach would be to stay in position control mode and use a much faster force feed back to limit the rate of change in velocity.

It is clear you don't understand how difficult it is to do what you want to do. You have along learning curve ahead of you.


Peter Nachtwey
Delta Computer Systems
 
PNachtwey,

PNachtwey said:
You have along learning curve ahead of you.

There is a reason I am on this forum. I been working on this for quite some time now and I understand that the problem I was given is extremely difficult. I completely understand that standard PID systems will not work, so resorting to anticipative controllers was the only way to get good results - in of itself took me a while to understand on a low level.

I was hoping to have some productive dialogue. I asked some simple questions, regarding Kalman filters, adaptive PID systems, and finding where the source of the delay is coming from in my application. I was hoping to get some direction.
 
How can you anticipate if you don't have a model of the system?
How can you anticipate how the tissue is going to move?
What if the tissue changes speed? You won't know until the dead time has passed and then it will be to late.

I was hoping to have some productive dialogue.
If often save my customers a lot of money telling them that they want to do is impossible or not economically feasible.

Peter Nachtwey
Delta Computer Systems
 
PNachtwey said:
I don't like it when people don't answer my questions or heed my advice.

Again, I thought I answered all your questions - I don't know what else I am missing that I haven't told you.

PNachtwey said:
The balloon can't really anticipate/predict in the way dgel wants to do.

You are right, but in my application for the most part, I can predict what is coming since the disturbance is periodic (of 2 frequency components). The Smith predictor I implemented, is modified to handle periodic disturbances. Over a few cycles, the motor eventually synchronizes with the tissue motion and the contact-force curve flattens. Btw, the end-effector is not a knife, rather a dull flat instrument - so having poor disturbance rejection in the beginning is okay, as long as the controller doesn't become unstable.

As I mentioned before, there are 2 frequencies present in the disturbance (~0.3 Hz, ~1.25 Hz). I am particularly interested in knocking out the slower frequency. I ran a simulation I developed in Simulink, and I am certain that (given the challenges of poor sampling) that a PI-controller can reject it. I suspect implementing a low-pass filter (to filter out the higher periodic disturbance) in the feedback loop is a horrible idea, is there any other way to compensate for only the slower frequency?

Also, PNachtwey - you are right I am a novice, everyone is at one point. Other than ZN, do you favour other tuning techniques that I can take a look into?





 
Status
Not open for further replies.

Part and Inventory Search

Sponsor