Come faccio a decidere la dimensione dei passi temporali tra rilevamento e attuazione del controllo?


9

Il mio background:

La mia esperienza è nella meccanica solida e FEA. Quindi non ho esperienza in robotica / controlli.

Descrizione del problema

Sto sviluppando una strategia di controllo per stabilizzare un complicato sistema dinamico a 6 zampe. Le coppie di serraggio Ti provenienti dalle articolazioni di ciascuna gamba verranno utilizzate per creare un momento netto M sul corpo, stabilizzando il sistema. Questo momento M è noto dalla strategia di controllo predeterminata. (Nota a margine: il risolutore dinamico è di tipo computazionale non lineare)

A causa della mia mancanza di background, ho una confusione fondamentale con il sistema dinamico. Voglio usare le coppie articolari Ti per creare questo noto momento netto M sul corpo. Questo momento M è una funzione di

  1. posizioni / angoli correnti di tutti i segmenti delle gambe
  2. forze e momenti di reazione (che non possono essere controllati) di ciascuna gamba
  3. coppie articolari controllabili Ti di ciascuna gamba
  4. tempo

() In un dato momento t:(n1)Δ

--Dalla strategia di controllo, il momento netto desiderato M viene calcolato / noto

--Si può leggere / rilevare le posizioni delle gambe, gli angoli, le forze di reazione e i momenti di reazione (diciamo, da sensori ben posizionati), in questo momento t. t=(n1)Δ

- Da queste informazioni, l'algebra vettoriale produce facilmente le coppie di giunti desiderate Ti richieste per creare il momento netto M

() At the time (n)Δt:

--one applies the previously determined joint torques Ti (determined at t=(n1)Δt) to create the desired moment M

--of course these torques Ti are applied at the immediate proceeding time step because they cannot be applied instantaneously

So this is exactly where my fundamental confusion exists. The torques Ti were calculated in (), based on data of angles/positions/reactions in (), with the objective to create moment M. However, these torques Ti are applied in (), where the data (angles/positions/reactions) are now different - thus the desired net moment M can never be created (unless you an magically apply actuation at the instantaneous time of sensing). Am I understanding the controls problem correctly?

Questions

  1. Am I understanding the robotics problem correctly? What are the terms and strategies around this dilemma?
  2. Of course I could create the time steps between the sensing and the actuation to be infinitely small, but this would be unrealistic/dishonest. What is the balance between a realistic time step, but also performs the task well?

Risposte:


4

Regarding point 1, yes you are understanding the problem correctly.

Regarding points 1 and 2, I believe what you are looking for is the Nyquist-Shannon sampling theory. This theory says that your sampling frequency should be greater than 2x your "highest frequency of interest". This is to prevent aliasing, where you can incorrectly measure a high-frequency signal as low frequency.

From Wikipedia on Aliasing

The image above is from Wikipedia. So, you have your robot with all its joints and limbs and such - how fast can those limbs move? Your moments and torques will all cause accelerations at the joints; what is the top rotational speed at a joint? Or, put another way, what's the peak moment you would expect and how long would it be applied? You can calculate a speed from that as well.

You want to sample your joints fast enough that you can capture the full dynamics of the system. That's the sampling threshold (minimum!) I would set for my own robotics project for sensing. For control, most , reputable , sources , say 5-10 times the frequency of interest.

Your peak accelerations, from your peak torques and moments, are going to be limited by the mass (moment of inertia) of your limbs. The limbs that limit your accelerations are also going to act as a low-pass filter to keep the system relatively constant between samples such that the fact that you're off by one sample shouldn't matter too much.

Hope this helps!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.