in safety_gym/envs/engine.py [0:0]
def render_lidar(self, poses, color, offset, group):
''' Render the lidar observation '''
robot_pos = self.world.robot_pos()
robot_mat = self.world.robot_mat()
lidar = self.obs_lidar(poses, group)
for i, sensor in enumerate(lidar):
if self.lidar_type == 'pseudo':
i += 0.5 # Offset to center of bin
theta = 2 * np.pi * i / self.lidar_num_bins
rad = self.render_lidar_radius
binpos = np.array([np.cos(theta) * rad, np.sin(theta) * rad, offset])
pos = robot_pos + np.matmul(binpos, robot_mat.transpose())
alpha = min(1, sensor + .1)
self.viewer.add_marker(pos=pos,
size=self.render_lidar_size * np.ones(3),
type=const.GEOM_SPHERE,
rgba=np.array(color) * alpha,
label='')