Code covered by the BSD License  

Highlights from
Range and Bearing Control of an Ensemble of Robots

image thumbnail
from Range and Bearing Control of an Ensemble of Robots by Aaron Becker
Game for steering many robots to fire suction-cup darts at a target.(note: still under development.)

ParseGenerateDataUniformControlCollisionCheck
function ParseGenerateDataUniformControlCollisionCheck
% creates a plot (Figure 8: CollisionCheck) showing the effect of robot size and number of robots on
% the probability of finding a collision free path
% Data is generated by GenerateDataUniformControlCollisionCheck.m
%
%CAPTION: Probability of a collision as a function of robot radius for different
% numbers of robots, $n$.  The setup in Fig.~\ref{fig:SimSetup} is used.
% The probability of collision increases nonlinearly with number of robots and  robot radius.
clc
savefilename = 'CollisionCheck.mat';
load(savefilename)
%, 'probSucc',  'RobRadii','NUMsofROBOTs','dTHETAs','NUMSofMOVES')
color = ['b','r','g','c','m','k','b'];
figure(8)
set(0,'defaultaxesfontsize',18);
set(0,'defaulttextfontsize',18);
clf

for i = 1:numel(NUMsofROBOTs)
    %probSucc(r,n) = pSucc;
    hold on
    hPlot = plot(RobRadii, 1-probSucc(:,i) ,'o');  %#ok<*NODEF>
    set(hPlot, 'color',color(i),'linewidth',2,'markerfacecolor','w');
    uistack(hPlot,'bottom')
    hPlot = plot(RobRadii, smooth(1-probSucc(:,i),3) ,'-');
    set(hPlot, 'color',color(i),'linewidth',2);
    uistack(hPlot,'bottom')
    text(RobRadii(4),1-probSucc(4,i),['\itn\rm=',num2str(NUMsofROBOTs(i))])
end

xlabel('robot radius')
ylabel('probability of collision')

Contact us