function [A, b, lb, ub, obstacles, start, g, robots0, robotvel, formationScale, robotScale] = get_obstacles_world_objects(t, dt)

formationScale = 5;
robotScale = 5;

% figure(2);
env_image = imread('obstacles_galore.png');
env_image = rgb2gray(env_image);
env_image = imresize(env_image,0.25,'Antialiasing',false);
[ymax, xmax] = size(env_image);

env_image_complement = imcomplement(env_image);
binary_img = env_image < 1;
labeledImage = bwlabel(binary_img, 8);
% imshow(labeledImage,[]);

blobMeasurements = regionprops(labeledImage, env_image, 'all');
numberOfBlobs = size(blobMeasurements, 1);

% imshow(env_image);
% title('Outlines, from bwboundaries()'); 
% axis image; % Make sure image is not artificially stretched because of screen's aspect ratio.
% hold on;
boundaries = bwboundaries(binary_img);
numberOfBoundaries = size(boundaries, 1);
% for k = 1 : numberOfBoundaries
% 	thisBoundary = boundaries{k};
% 	plot(thisBoundary(:,2), thisBoundary(:,1), 'g', 'LineWidth', 2);
% end
% hold off;

% imshow(env_image);
% stats = regionprops(env_image);
% centroids = cat(1, stats.Centroid);
% hold on
% plot(centroids(:,1), centroids(:,2), 'b*')
% hold off

% ymax = 10;
lb = [0;0;0];
ub = [xmax;ymax;10];

robots0 = [0,     5,     5,       0;...
           5,     0,     5,      10;
           1,     3,     0,      0];
robotvel = 2;

A = [-1,0, 0;...
      0,-1, 0;...
      0, 0, -1;...
      1,0, 0;...
      0,1,0;...
      0,0,1];
b = [-lb; ub];

%% Start and Goal points of the environment
start = [5; 8; 5];
g = [89, 284, 375;...
     204, 47,   273;...
       5,  5,   5];
g = 0.25.*g;

g = [15, 30, 35, 40, 58, 58, 60, 95, 95;...
     40, 50, 60, 45, 40, 30, 20, 22, 65;...
      5,  5,  1,  9,  5,  5,  5,  5,  5];

obstacles = [];
for k = 1 : numberOfBoundaries
% 	thisBoundary = boundaries{k};
% 	plot(thisBoundary(:,2), thisBoundary(:,1), 'g', 'LineWidth', 2);

    pos = cube_points([fliplr(min(cell2mat(boundaries(k)))), 0]', [fliplr(max(cell2mat(boundaries(k)))) 10]');
    obstacles(:,:,k) = [pos];
    
end
% 
% pos = cube_points([15; 0; 0], [30; 3; 10]);
% obstacles = [pos];
% 
% pos = cube_points([30; 0; 0], [45; 2; 10]);
% obstacles(:,:,2) = [pos];
% 
% pos = cube_points([45; 0; 0], [70; 3; 10]);
% obstacles(:,:,3) = [pos];
% 
% 
% 
% pos = cube_points([15; ymax-3; 0], [30; ymax; 10]);
% obstacles(:,:,4) = [pos];
% 
% pos = cube_points([30; ymax-2; 0], [45; ymax; 10]);
% obstacles(:,:,5) = [pos];
% 
% pos = cube_points([45; ymax-3; 0], [70; ymax; 10]);
% obstacles(:,:,6) = [pos];



    
end

