Main Content

Grid Surface

Grid surface for contact modeling

  • Library:
  • Simscape / Multibody / Curves and Surfaces

Description

The Grid Surface block creates a Cartesian grid surface that you can use to model contact problems. The grid surface has a similar format to the grid generated by the ndgrid function in MATLAB®. You can use the block to create a surface that represents a square, rectangular, or non-uniform grid.

Grid Types

To model a grid surface, use the X Grid Vector and Y Grid Vector parameters to specify the coordinates in the x and y directions of the grid surface, then use the Z Heights parameter to specify the elevations of the grid points in the z direction. The image shows an illustration of a grid surface whose Z Heights parameter is specified as [0 0 0.5 0.5; 0 0 0.5 0.5; 0 0 0 0; 0 0 0 0]. The columns of the matrix are along the x-axis, and the rows of the matrix are along the y-axis.

Grid Parameters

To create a grid surface using LiDAR data, you must convert the scattered data to gridded data before using it in the Grid Surface block. To convert the data, you can use a scatteredInterpolant object to create an interpolant function by using the x, y, and z values of the LiDAR data, create x and y grid vectors that represent the domain of the grid, then use the grid vectors as the query points of the interpolant function to produce z values of the grid surface. The produced z values form a matrix in the ndgrid format that can be used to specify the Z Heights parameter. You can also use the griddata function to produce z values for a grid surface, but you need to transpose the output matrix to the ndgrid format.

Note

  • Do not use the ndgrid function to create the x and y grid data for a grid surface. The ndgrid function replicates the input grid vectors into a matrix. Using grid vectors instead of full matrices can save memory.

  • To have the best simulation performance, the spacing in the x and y grid vectors should be as large as possible but small enough to represent the surface with sufficient accuracy. To change the spacing of the grid vectors and compute the corresponding z values , you can use the griddedInterpolant object or interp2 function.

Generally, you need to clean the LiDAR data before converting it to gridded data, such as removing outliers or NaN values. To clean the data, use the isnan and isoutlier functions.

Ports

Frame

expand all

Grid surface reference frame. Connect this frame to another block to specify the location and orientation of the grid surface.

Geometry

expand all

Geometry that represents the grid surface defined by this block. Connect this port to a Spatial Contact Force block to model contacts on the grid surface. The Grid Surface block supports only the contact with the Point or Point Cloud block.

Parameters

expand all

Coordinates in the x-direction of the grid surface, specified as a real 1-by-m vector. m must be greater than 2, and the vector elements must be strictly monotonic and increasing.

Coordinates in the y-direction of the grid surface, specified as a real 1-by-n vector. n must be greater than 2, and the vector elements must be strictly monotonic and increasing.

Elevations of the grid points in the grid surface, specified as a real m-by-n matrix. m and n are the lengths of the vectors for the X Grid Vector and Y Grid Vector parameters.

Graphic

Visual representation of the grid surface. Set this parameter to From Geometry to show the visual representation of the grid surface. Set this parameter to None to hide the grid surface in the model visualization.

Parameterizations for specifying visual properties. Select Simple to specify diffuse color and opacity. Select Advanced to specify more visual properties, such as Specular Color, Ambient Color, Emissive Color, and Shininess.

Dependencies

To enable this parameter, set Type to From Geometry.

Color of the graphic under direct white light, specified as an [R G B] or [R G B A] vector on a 0–1 scale. An optional fourth element (A) specifies the color opacity on a scale of 0–1. Omitting the opacity element is equivalent to specifying a value of 1.

Dependencies

To enable this parameter, set Type to From Geometry.

Graphic opacity, specified as a scalar in the range of 0 to 1. A scalar of 0 corresponds to completely transparent, and a scalar of 1 corresponds to completely opaque.

Dependencies

To enable this parameter, set:

  1. Type to From Geometry

  2. Visual Properties to Simple

Color of the specular highlights, specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. The optional fourth element specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Dependencies

To enable this parameter, set:

  1. Type to From Geometry

  2. Visual Properties to Advanced

Color of the shadow areas in diffuse ambient light, specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. The optional fourth element (A) specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Dependencies

To enable this parameter, set:

  1. Type to From Geometry

  2. Visual Properties to Advanced

Graphic color due to self illumination, specified as an [R,G,B] or [R,G,B,A] vector on a 0–1 scale. The optional fourth element (A) specifies the color opacity. Omitting the opacity element is equivalent to specifying a value of 1.

Dependencies

To enable this parameter, set:

  1. Type to From Geometry

  2. Visual Properties to Advanced

Sharpness of the specular light reflections, specified as a scalar number on a 0–128 scale. Increase the shininess value for smaller but sharper highlights. Decrease the value for larger but smoother highlights.

Dependencies

To enable this parameter, set:

  1. Type to From Geometry

  2. Visual Properties to Advanced

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2021b