Look Up Table for position solver
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dear all,
I am trying to build a look up table to solve the position. It is basically a voltage-position conversion problem.
I will define the position in cartesian coordinates (x,y,z)
Each point of the position will have 3 volatge measured.
For example, at (0,0,0) the voltage is [5,1,2]
and at (1,0,0) the voltage is [3,2,4]
i will have 1000 points data.
How can i generate a look up table that when the input is [?,?,?] voltage, the output is [x,y,z] coordinate.
For example if the input voltage is [3,2,4] then the output will be (1,0,0)
It is also okay to use simulink or matlab
Could anyone help me? Please~
Thank you ver much
16 Commenti
Torsten
il 27 Gen 2022
Say you are to interpolate the position for the voltage vector that is half the voltage vector in position 1,0,0 plus half the voltage vector in position 1,0,1. Would it be acceptable to assume that the reverse interpolated position is 1,0,1/2 ?
Risposta accettata
Torsten
il 28 Gen 2022
Modificato: Torsten
il 28 Gen 2022
Use fmincon (or maybe better ga, since the objective function doesn't look differentiable) to solve the following problem:
min:( interp3(xdata,ydata,zdata,v1data,x,y,z) -v1q)^2 + (interp3(xdata,ydata,zdata,v2data,x,y,z)-v2q)^2 + ...
(interp3(xdata,ydata,zdata,v3data,x,y,z)-v3q)^2
for x,y,z under the constraints
0<=x,y,z<=10
Here, v1data,v2data and v3data are your voltages at (xdata,ydata,zdata) and (v1q,v2q,v3q) is the voltage combination for which you want to find the coordinates (x,y,z).
11 Commenti
Torsten
il 24 Feb 2022
Modificato: Torsten
il 24 Feb 2022
vq = 0.7;
y = [4.3827, 4.2624, 3.2585, 0.9934, 0.5985, 0.1775, 0.2299, 0.0952, 0.0935, 0.0954, 0.08];
fun=@(x) interp1(1:numel(y),y,x,'pchip') - vq;
x0 = 1;
[solution,res] = lsqnonlin(fun,x0,1,numel(y))
But you should really try ga instead of lsqnonlin.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


