Load a robot model and modify the collision meshes. Clear existing collision meshes, add simple collision object primitives, and check whether certain configurations are in collision.
Load Robot Model
Load a preconfigured robot model into the workspace using the loadrobot function. This model already has collision meshes specified for each body. Iterate through all the rigid body elements and clear the existing collision meshes. Confirm that the existing meshes are gone.
robot = loadrobot("kukaIiwa7",DataFormat="column");
for i = 1:robot.NumBodies
clearCollision(robot.Bodies{i})
end
show(robot,Collisions="on",Visuals="off");
Add Collision Cylinders
Iteratively add a blue collision cylinder to each body and set the transparency to opaque. Skip some bodies for this specific model, as they overlap and always collide with the end effector (body 10).
collisionObj = collisionCylinder(0.05,0.25);
for i = 1:robot.NumBodies
if i > 6 && i < 10
% Skip these bodies.else
addCollision(robot.Bodies{i}, collisionObj, FaceColor=[0 0 1], FaceAlpha=1)
endend
show(robot,Collisions="on",Visuals="off");
Check for Collisions
Generate a series of random configurations. Check whether the robot is in collision at each configuration. Visualize each configuration that has a collision.
figure
rng(0) % Set random seed for repeatability.for i = 1:20
config = randomConfiguration(robot);
isColliding = checkCollision(robot,config,SkippedSelfCollisions="parent");
if isColliding
show(robot,config,Collisions="on",Visuals="off");
title("Collision Detected")
else% Skip non-collisions.endend
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window.
Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.