LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Collision detection in LV2012 Robotica Module

I am setting up a simulation in LV2012 with the Robotica Module for two arms that can collide with each other and/or the environment.

 

A simple example project is enclosed with two xy-arms constructed with the 'Robot Simulation Model Builder' (model file xy.xml)  and the 'Robotics Environment Simulator' (manifest file ArmWrestle.xml). The ArmWrestle.vi in the project works fine and when the arms collide, this is clearly included in the simulation.

 

I would like to do the collision detection and/or measure the forces on the arms in the simulation.

Unfortunately, I can not find an example how to do collision detection using Labview.

Is there a method or property node that can be used for that?

Also the force detection is not working.

 

Is there a basic example available that shows how to do collision detection in the Simulation environment?

0 Kudos
Message 1 of 5
(1,745 Views)

Hey rsprik,

The collision detection is mostly handled by the ODE solver at a lower level than user accesible LabVIEW Code. Are you interested in writing your own collision detection algorithms? Tweaking the parameters on the ones that already exist?

 

How are you setting up force detection? The two methods I know of are using one of the force sensors on a robot or to use the force property of a geometry object - this gives the sum of the total forces on an object/body.

 

 

 

 

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 2 of 5
(1,717 Views)

Hallo Kevin,

thanks for the quick respons.

 

I would like the existing routines just to tell me that there are objects colliding.

It looks like there are some method nodes available under LV to that.

They expect a definition of a "group" of components.

Unfortunately, I could not find a way to define such a group using LV.

In my example this would be a collision of the components in one arm with components in the other arm.

 

Also had no luck with reading the forces. The force remains constant, even when components collide.

(Monitoring the force or torque could be an alternative way to check for collisions.)

 

Do you see a way to do this with the existing LV tools without using low level programming ?

 

Thanks,

Rudolf Sprik

 

 

0 Kudos
Message 3 of 5
(1,713 Views)

Hey Rudoph,

After some further experimentation the force property is not behaving as I think it should. I will check into it more and see if I am just setting something up wrong. I don't think there is a way to get events or notifications when objects collide due to some performance issues (because of the number of collisions) but I will also do some more research into that and post back the results.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 4 of 5
(1,705 Views)

Hey Rudolph,

I checked with some of our developers on your questions. Collision detection at the LabVIEW level is not possible currently.

 

You can however get accurate force measurements. I attached an example for doing that.

 

Post back if you have additional questions.

Kevin Fort
Principal Software Engineer
NI
0 Kudos
Message 5 of 5
(1,681 Views)