Collision Detection in Matlab 3D environments with VRML models imported from CATIA .

1 view (last 30 days)
Hello, I am trying to simulate the flight of a robot in an indoor environment. I am required to provide collision detection information for any trajectory the robot takes. I have modeled the environment in CATIA and imported it to Simulink 3D Animation's 3D world editor as a VRML CAD model. I have approximated the robot as a simple cuboid . All the objects in the environment are cuboids as well.
I cannot find a method to perform collision detection between the robot and the environment. I have considered writing code that finds distance between the blocks and the robot, but writing it for every block is not feasible. Also, i might have to change the environment later. I think placing a proximity sensor on the avatar and changing its coordinates along with the trajectory might work. But I could not figure how to do that yet.
It would be a great help if anyone can help me in this regard.
  1 Comment
K E
K E on 23 May 2012
Sounds like a great topic for a Mathworks webinar (if someone from Mathworks reads this). I will hope you get some good hints.

Sign in to comment.

Answers (1)

Jan Danek
Jan Danek on 25 Jun 2012
VRML 97 does not support collision detection between 2 arbitrary objects (Some VRML viewers support though collisions between Avatar and objects). I am afraid that now the only way to go is to compute collisions in the dynamic model. If everything in the scene is cuboids, it should be possible to test all outside robot vertices whether they are in the go- or the no-go- zone.

Categories

Find more on Simulation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!