clearCollision

Очистить все присоединенные геометрии столкновения

Синтаксис

Описание

пример

clearCollision(body) очищает все геометрии столкновения, присоединенные к указанному объекту твердого тела.

Примеры

свернуть все

Загрузите модель робота и измените сетки столкновения. Очистить существующие сетки столкновения, добавить простые примитивы объектов столкновения и проверить, находятся ли определенные строения в конфликте.

Загрузка модели робота

Загрузите предварительно сконфигурированную модель робота в рабочую область с помощью loadrobot функция. Эта модель уже имеет сетки столкновения, заданные для каждого тела. Выполните итерацию всех элементов твердого тела и очистите существующие сетки столкновения. Подтвердите, что существующие сетки исчезли.

robot = loadrobot('kukaIiwa7','DataFormat','column');

for i = 1:robot.NumBodies
    clearCollision(robot.Bodies{i})
end

show(robot,'Collisions','on','Visuals','off');

Добавление цилиндров столкновения

Итеративно добавьте цилиндр столкновения к каждому телу. Пропустите некоторые тела для этой конкретной модели, так как они перекрываются и всегда сталкиваются с концевым эффектором (телом 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)
    end
end

show(robot,'Collisions','on','Visuals','off');

Проверка на наличие коллизий

Сгенерируйте серию случайных строений. Проверьте, находится ли робот в столкновении при каждом строении. Визуализация каждого строения, имеющей столкновение.

figure
rng(0) % Set random seed for repeatability.
for i = 1:20
    config = randomConfiguration(robot);
    isColliding = checkCollision(robot,config);
    if isColliding
        show(robot,config,'Collisions','on','Visuals','off');
        title('Collision Detected')
    else
        % Skip non-collisions.
    end
end

Входные параметры

свернуть все

Твердое тело, заданное как rigidBody объект.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2020b