LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Robotic Simulation

I want to simulate an arrow (or an object in general) moving in a scene. This arrow should move from one point to another of a surface that I want to import in the simulation scene. I have a .stl file of the surface that I want to import and I know the coordinates of the points in which the arrow should move. I've done this simulation using labview but It's not very accurate. I'd like to do this using Labview Robotics. 

Can you give me some hints on this?

0 Kudos
Message 1 of 4
(1,572 Views)

@paolo94 wrote:

I want to simulate an arrow (or an object in general) moving in a scene. I know the coordinates of the points in which the arrow should move. I've done this simulation using labview but It's not very accurate.


LabVIEW is a program running on a digital computer.  You are trying to model behavior of an object (an arrow) moving according to some rules of physics (which you do not specify) and you say the results you get with LabVIEW (please note the proper spelling) are "not very accurate".  This is probably because you are not doing a sufficiently accurate digital approximation of a continuous process.

 

You failed to post your code or even describe the algorithm you are using.  What are you using as the "gold standard" to say that your simulation using LabVIEW is not very accurate?  How do you know what the "true" value is?

  • Is your model correct?  [For example, if you shoot the arrow horizontally and the simulation shows is rising and accelerating as it goes into an upward arc, then I'd say you have a bad model, one that ignores, for example, gravity and wind resistance).
  • Do you know how to model a continuous process using discrete steps?
  • Are you "doing the math" correctly?  Are you using the "correct" math?
  • How are you visualizing the results?  To what are you comparing them to say they are "not accurate"?

When/if you reply, please post the LabVIEW code (as a .VI file or files) and explain the model you are using.

 

Bob Schor

0 Kudos
Message 2 of 4
(1,537 Views)

Hi!Thank you very much for your answer. 

I'd like to specify that I'm a beginner; I've recently started using LabVIEW.

I post my code project.vi :

In this code I imported an .stl file (that is a 3D surface I created in a CAD program (Fusion 360)), I created a reference system and a cylinder (instead of an arrow) and I put them in a 3D Picture. I simulated the motion of the cylinder in the points of ''Centroids'' using a for loop (I did a traslation of the cylinder in the points described by the rows of Centroids in each loop). The points of ''Centroids'' corresponds to the points of the surface, so the cylinder should move from a point to another of the surface, like an indenter.

 

The problem of this simulation is that I can't see the curvature of the surface I imported and I can't see very well the touch point between the cylinder and the surface . I want use this simulation as a start point to pilotate a robotic arm (the cylinder/arrow represents the end effector of my arm).

Do you think the impostation of this code is correct or should I need to change approach (for example using a Robotic tool)? I don't know if there is only a problem regarding camera impostations and the way I imported the .stl file or I should change method.

Thank you very much for your help.

Paolo

0 Kudos
Message 3 of 4
(1,533 Views)

I'll try to help by asking some questions.  I suspect we speak very different languages, which might be part of the problem.

 

One confusion is there are so many different "ideas" in what you are doing.  They include:

  • Dealing with a .stl file (which I know nothing about (I just searched the Web and found it is a way of describing 3D objects, which I guessed from your posts).
  • Going from an image (possibly from a rendering of the .stl file) to a representation of a surface boundary in 3-space.
  • Doing something (I'm not sure exactly what) to traverse this 2-D surface.  Again, I'm guessing, but because your Post has the title "Robotic Simulation", I think this might be part of your question.

Let's assume that my last point is correct, that you are interested in simulating movement confined to a surface in 3-D space.  Before trying to do a Possibly Very Difficult Problem, do a Much Simpler Problem first.

  1. Consider the X-Y 2D Plane as your surface.  Simulate Robotic movement on such a surface.
  2. Once you have that mastered, ask what happens if you "tilt" the plane a bit (say rotate the 3D World around the X axis by 10°).  Now when you move in the X direction, your Z height doesn't change, but when you move in the Y direction, you go "uphill" or "downhill".
  3. Now do a sphere as the surface.

What does it mean to move on a surface?  Consider you are at a point P on the surface, and are constrained to stay on the surface.  This means you cannot move along the vector at your current position perpendicular to the surface, but must stay in the plane tangent to the surface at that point.  Of course, once you move, the tangent plane (which moves with you) will also change.  Think about moving on the surface of a sphere in terms of planes tangent to the sphere's surface.

 

Once you've figured out how to model movement in 3D space, you should not have too much difficulty working with 3D graphs and pictures to simulate movement on a surface.  Again, start with a Plane, then an inclined Plane, then try the surface of a sphere.

 

Bob Schor

0 Kudos
Message 4 of 4
(1,516 Views)