function s=Sense(x,parameter,ruis); data_RF; x_m=x(1); y_m=x(2); theta_m=x(3); % sensor measurements % LASER RANGE FINDER mounted on a fixed place % target mounted on the moving robot dx=x_m-xs; dy=y_m-ys; % s=[sqrt(dx^2+dy^2);atan2(dy,dx)-thetas; % atan2(-dy,-dx)-thetam]; %[rho;theta;phi] s_RF=[sqrt(dx^2+dy^2);atan2(dy,dx)-thetas]; %[rho;theta] switch parameter case 1 % ULTRASONIC SENSOR measuring distance to a fixed wall: data_US data_US; s_US=([wall(1) -1]*[x_m;y_m] + wall(2) )*2/sqrt(wall(1)^2+1); if ruis==1 s_US=s_US+rand_N(mu_US,sigma_US^2,1,1); end % enkel US s=[s_US]; case 2 % % enkel RF data_RF; x_m=x(1); y_m=x(2); theta_m=x(3); % LASER RANGE FINDER mounted on a fixed place % target mounted on the moving robot dx=x_m-xs; dy=y_m-ys; % s=[sqrt(dx^2+dy^2);atan2(dy,dx)-thetas; % atan2(-dy,-dx)-thetam]; %[rho;theta;phi] s_RF=[sqrt(dx^2+dy^2);atan2(dy,dx)-thetas]; %[rho;theta] if ruis==1 s_RF=s_RF+[rand_N(mu_rho,sigma_rho^2,1,1);rand_N(mu_theta,sigma_theta^2,1,1)]; end s=[s_RF]; case 3 % % % RF en US data_RF; x_m=x(1); y_m=x(2); theta_m=x(3); % LASER RANGE FINDER mounted on a fixed place % target mounted on the moving robot dx=x_m-xs; dy=y_m-ys; % s=[sqrt(dx^2+dy^2);atan2(dy,dx)-thetas; % atan2(-dy,-dx)-thetam]; %[rho;theta;phi] s_RF=[sqrt(dx^2+dy^2);atan2(dy,dx)-thetas]; %[rho;theta] data_US; s_US=([wall(1) -1]*[x_m;y_m] + wall(2) )*2/sqrt(wall(1)^2+1); if ruis==1 s_US=s_US+rand_N(mu_US,sigma_US^2,length(s_US(:,1)),length(s_US(1,:))); s_RF=s_RF+[rand_N(mu_rho,sigma_rho^2,1,1);rand_N(mu_theta,sigma_theta^2,1,1)]; end s=[s_RF;s_US]; end