gusucode.com > Mobile Robotics Simulation Toolbox > examples/matlab/multirobot/mrsMultiRobotLidar.m
%% Multi-Robot Lidar Example % Copyright 2018 The MathWorks, Inc. %% Create a multi-robot environment numRobots = 10; env = MultiRobotEnv(numRobots); env.showTrajectory = false; env.robotRadius = 0.25; load exampleMap env.mapName = 'map'; %% Create a lidar sensor robotIdx = 3; lidar = LidarSensor; lidar.scanAngles = linspace(-pi,pi,25); lidar.maxRange = 4; attachLidarSensor(env,robotIdx,lidar); %% Animate and show the detections [range, angle, index] poses = 4*(rand(3,numRobots).*[1;1;pi] - [0.5;0.5;0]) + [9;9;0]; dTheta = pi/64; ranges = cell(1,numRobots); for idx = 1:100 % Get the current time step's ranges scans = lidar(poses(:,robotIdx)); ranges{robotIdx} = scans; % Update the environment and poses env(1:numRobots, poses, ranges) poses(3,robotIdx) = poses(3,robotIdx) + dTheta; pause(0.05); end