-
Couldn't load subscription status.
- Fork 353
Warehouse Robotics Simulation (Project 212) #41
-
Contribute to the discussion by asking and/or answering questions, commenting, or sharing your ideas for solutions to project 212
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 10 comments 12 replies
-
Hey, I'm Machio Brian [Kenya], I'll be working on Project 212
Beta Was this translation helpful? Give feedback.
All reactions
-
In Project 212
How can we create different warehouse models?
I was able to create in 2D but I don't how to create a model in gazebo?
Also can I create dynamic obstacle in 2D environment ?
And how to implement dynamic obstacle avoidance in 2D environment
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi @adityabastapure,
We have several examples with a 3D warehouse-like environment created in Gazebo. This example is one of them and you can find the Gazebo scenario within the Virtual Machine that we ship with the examples. You can start with the 'Gazebo Warehouse Robot with Obstacles' world and modify it as you need.
Regarding obstacle avoidance, we ship an implementation of the Vector Field Histograms (VFH) algorithm as part of the Navigation Toolbox. The name of the function is controllerVFH.
I hope this helps!
Beta Was this translation helpful? Give feedback.
All reactions
-
mobileRobotPRM difference plaannerPRM matlab
please reply as soon as possible
Beta Was this translation helpful? Give feedback.
All reactions
-
load exampleMaps
map = binaryOccupancyMap(simpleMap);
start = [5,5];
goal = [20,20];
planner = plannerAStarGrid(map);
path = plan(planner,start,goal)
subplot(1,2,1)
show(map)
hold on
getting error while plotting this
Beta Was this translation helpful? Give feedback.
All reactions
-
Beta Was this translation helpful? Give feedback.
All reactions
-
ss = stateSpaceSE2;
sv = validatorOccupancyMap(ss);
load exampleMaps
map = occupancyMap(simpleMap);
sv.Map = map;
sv.ValidationDistance = 0.01;
planner = plannerRRT(ss,sv);
planner.MaxConnectionDistance = 2.5;
% planner.BallRadiusConstant = 5;
planner.MaxNumTreeNodes = 100;
start = [5,5,0];
goal = [20,20,0];
[pthObj,solnInfo] = plan(planner,start,goal)
subplot(1,2,1)
show(map)
hold on
plot(solnInfo.TreeData(:,1),solnInfo.TreeData(:,2),'.-'); % tree expansion
plot(pthObj.States(:,1),pthObj.States(:,2),'r-','LineWidth',2) % draw path
path = pthObj.States(:,1:2)
controller = controllerPurePursuit;
controller.Waypoints = path;
controller.DesiredLinearVelocity = 0.6;
controller.MaxAngularVelocity = 2;
controller.LookaheadDistance = 1;
Capture2
Beta Was this translation helpful? Give feedback.
All reactions
-
I will get back to you on this one soon.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
load exampleMaps map = binaryOccupancyMap(simpleMap);
start = [5,5]; goal = [20,20];
planner = plannerAStarGrid(map);
path = plan(planner,start,goal)subplot(1,2,1) show(map) hold on
getting error while plotting this.
Hi @adityabastapure,
plannerAStarGrid works by default for grids, hence start & goal given currently are considered as grid points whose origin is top-left corner. Hence, plot seems wrong.
I understand that you want to search in the world frame of reference with 'X & Y'.
For that you must call plan(planner,start,goal,'world') instead of plan(planner,start,goal) as given below.
load exampleMaps;
map = binaryOccupancyMap(simpleMap);start = [5,5];
goal = [20,20];planner = plannerAStarGrid(map);
path = plan(planner,start,goal. 'world')
show(planner);
Beta Was this translation helpful? Give feedback.
All reactions
-
ss = stateSpaceSE2;
sv = validatorOccupancyMap(ss);
load exampleMaps
map = occupancyMap(simpleMap);
sv.Map = map;
sv.ValidationDistance = 0.01;
planner = plannerRRTStar(ss,sv);
% planner.MaxConnectionDistance = 2.5;
planner.BallRadiusConstant = 10; ***************************** This parameter is not showing any effect on output
% planner.MaxNumTreeNodes = 100;
start = [5,5,0];
goal = [20,20,0];
[pthObj,solnInfo] = plan(planner,start,goal)
subplot(1,2,1)
show(map)
hold on
plot(solnInfo.TreeData(:,1),solnInfo.TreeData(:,2),'.-'); % tree expansion
plot(pthObj.States(:,1),pthObj.States(:,2),'r-','LineWidth',2) % draw path
path = pthObj.States(:,1:2)
% Calculates Path Length
j = size(path);
j = j(1)
Path_Length = 0;
i = 1;
while i < j
W1 = path(i,:);
W2 = path(i+1,:);
distance = norm(W1 - W2)
Path_Length = Path_Length + distance;
i = i + 1;
end
Path_Length
RRT* should have more optimal solution than RRT
depending upon planner.BallRadiusConstant = 10; ***************************** This parameter is not showing any effect on output
But its exactly reverse RRT is having optimal solution than RRT*
Please help me out fast
Beta Was this translation helpful? Give feedback.
All reactions
-
Could you clarify on what you expect on RRTStar output compared to RRT. Is it path length you are referring to?
You could try the plannerBenchmark feature to find which planner provide the least path length . Also for computing path length, consider creating navPath object, which can easily calculate path length.
Beta Was this translation helpful? Give feedback.
All reactions
-
for PlannerRRT/PlannerRRTStar
IsPathFound: 0
Is their any threshold radius around goal point to consider sampled node is equivalent to goal point
If algorithm compares sampled node exactly to the goal coordinate the solution will be not found easily
Beta Was this translation helpful? Give feedback.
All reactions
-
I need to run planner until and unless solution is found
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi @adityabastapure,
The default GoalReachedFcn is nav.algs.checkIfGoalIsReached, which has a tolerance of 0.5 meters. That means the planner will be able to find a path even if the goal point is in 0.5m radius. You could easily customize this function by editing the default function and provide the function handle to the GoalReachedFcn property of plannerRRTStar.
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi am ozayo from wits university (South Africa), am interested in robotics and am currently learning BSc in mechanical engineering. I am looking for collaboration in project title: Warehouse Robotics Simulation.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
hi everyone im Thokozani from wits university (South Africa) and studying towards a (BSc Mechanical engineering). i am currently looking for collaborators in the Warehouse Robotics Simulation project
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Hii everyone, I am Prajwal Ahire from Walchand College of Engineering ( India ). I aminterested in working and collaborating on this project
Beta Was this translation helpful? Give feedback.
All reactions
-
Hello, I'm Emilia Skye Hills from the University of Cape Town working on this project. I am also wondering if anyone else got stuck waiting to download the VMWare Workstation due to "Account Verification Pending"?
Beta Was this translation helpful? Give feedback.
All reactions
-
Hello everyone,
I see the official MathWorks VM uses Ubuntu 18.04 with ROS Melodic/Dashing and Gazebo 9 for the challenge examples.
Can I use a more recent setup, like Ubuntu 22.04 and ROS 2 Humble, for the Warehouse Robotics Simulation project? I am using MATLAB R2024b which supports ROS 2 Humble.
Will I face any integration issues with Gazebo or the example models, or are there recommended adaptations for running this project on the newer systems?
Beta Was this translation helpful? Give feedback.