Поверхность сетки для моделирования контакта
Simscape / Мультитело / Кривые и Поверхности
Блок Поверхности Сетки создает Декартову поверхность сетки, которую можно использовать для проблем контакта модели. Поверхность сетки имеет аналогичный формат к сетке, сгенерированной ndgrid
функция в MATLAB®. Можно использовать блок, чтобы создать поверхность, которая представляет квадратную, прямоугольную, или нерегулярную координатную сетку.
Чтобы смоделировать поверхность сетки, используйте X Grid Vector и параметры Y Grid Vector, чтобы задать координаты в x и направлениях y поверхности сетки, затем использовать параметр Z Heights, чтобы задать вертикальные изменения узлов решетки в направлении z. Изображение показывает рисунок поверхности сетки, параметр Z Heights которой задан как [0 0 0.5 0.5; 0 0 0.5 0.5; 0 0 0 0; 0 0 0 0]
. Столбцы матрицы приезжают ось x-, и строки матрицы приезжают ось y-.
Чтобы создать поверхность сетки использование данных LiDAR, необходимо преобразовать данные, имеющий разброс в данные с координатной сеткой перед использованием его в блоке Grid Surface. Чтобы преобразовать данные, можно использовать scatteredInterpolant
объект создать функцию interpolant при помощи x, y, и значений z данных LiDAR, создает x и векторы сетки y, которые представляют область сетки, затем используют векторы сетки в качестве точек запроса функции interpolant, чтобы произвести значения z поверхности сетки. Произведенные значения z формируют матрицу в ndgrid
формат, который может использоваться, чтобы задать параметр Z Heights. Можно также использовать griddata
функционируйте, чтобы произвести значения z для поверхности сетки, но необходимо транспонировать выходную матрицу к ndgrid
формат.
Примечание
Не используйте ndgrid
функция, чтобы создать x и данные о сетке y для поверхности сетки. ndgrid
функция реплицирует входные векторы сетки в матрицу. Используя векторы сетки вместо полных матриц может сохранить память.
Чтобы иметь лучшую эффективность симуляции, интервал в x и векторах сетки y должен быть как можно больше, но достаточно маленький, чтобы представлять поверхность достаточной точностью. Чтобы изменить интервал векторов сетки и вычислить соответствующие значения z, можно использовать griddedInterpolant
объект или interp2
функция.
Обычно необходимо убрать данные LiDAR прежде, чем преобразовать его в данные с координатной сеткой, такие как удаление значения NaN или выбросы. Чтобы убрать данные, используйте isnan
и isoutlier
функции.
Spatial Contact Force | Облако точек | griddata
| isnan
| isoutlier
| scatteredInterpolant
| griddata
| griddedInterpolant
| interp2