From: Narges balouchestani on
Hi everyone,
I am writing a program for a robot. The surface that robot will go on created in computer using my 3D program.So I have a program that create the surface(terrain) for the robot.
But we simulated this surface and we want to build it in real world.
What we will use is the jacks with a mat on it.So the jacks will create the hills.
There is where I want to use matlab Optimization.
I have the bitmap of the terrain that user created with my 3D program and I will Randomly put the jacks somewhere and create another surface(bitmap) so i want to optimize the second surface to be as close as possible to the surface that user created.
I seen the reverse of that problem in matlab optimization Demo.But I dont know how to solve the problem that I have.
I would appreciate ant suggestions and helps.
From: James Allison on
This sounds like an interesting application of optimization. To see if I
understand correctly, let's say M1 is a matrix that represents the
elevation (bitmap) of the surface you would like to match. In other
words, M1 represents the target surface. You then want to create a
physical surface that can be characterized by the matrix M2, and the
shape of the surface M2 is controlled by the location of the jacks, and
the elevation of the jacks. If x1 is a vector with all the jack
coordinates, and x2 is a vector with all the jack elevations, then M2 is
a function of x1 and x2, i.e., if x = [x1 x2}, M2 = f(x). You can then
formulate an optimization problem:

minimize norm(M1-M2(x)), with respect to x

The real trick is to finid the function M2=f(x). The mat is essentially
a membrane, and is f(x) is a solution to a partial differential
equation. Perhaps the pde toolbox could help in this case.

Once you figure out how to implement the function f(x), then you can
solve the optimization problem. I suspect that is will have multiple
local optima, so while lsqnonlin solves problems with this structure, it
may not identify the best solution unless you provide it with a great
starting point. You may want to look at some of the functions from the
global optimization toolbox, such as the genetic algorithm ga.

Best Regards,

-James

Narges balouchestani wrote:
> Hi everyone,
> I am writing a program for a robot. The surface that robot will go on
> created in computer using my 3D program.So I have a program that create
> the surface(terrain) for the robot.
> But we simulated this surface and we want to build it in real world.
> What we will use is the jacks with a mat on it.So the jacks will create
> the hills.
> There is where I want to use matlab Optimization.
> I have the bitmap of the terrain that user created with my 3D program
> and I will Randomly put the jacks somewhere and create another
> surface(bitmap) so i want to optimize the second surface to be as close
> as possible to the surface that user created.
> I seen the reverse of that problem in matlab optimization Demo.But I
> dont know how to solve the problem that I have.
> I would appreciate ant suggestions and helps.