Aim: To evalute and design a decentralized cooperative planning strategy for large payload transport in a swarm of mobile robot.
Key assumptions:
- Each individual robot is able to perform mapping, localization and path planning.
- Each robot knows the goal location where the trolley is supposed to reach.
- No form of communication between the robots.
Problems:
- Trolley detection problem - use of ICP (iterative closest point) in the laser data observed to find the best fit position and orientation of the object
- Global planner - RRT planner for individual robot for individual robot’s path planning. Problem arises when individual robot’s come up with different plans to reach a goal in the same map (possible solution is using a leader follower approach)
- Local planner - Using APF to generate force fields around obstacles that are governed by obstacles distances, goal direction and robot kinematics
- Simulating ropes - using a prismatic joint with mechanical damping acting as a spring that can completely close or extend to a certain length.
- Ubuntu : 16.04+
- ROS : Kinetic+
- CPU : ARM7+ or Intel i3+ or AMD R4+
- RAM : 4GB+
- Memory : 10GB+
cd ~/
git clone https://github.com/scifiswapnil/decentralized-payload-transport
cd decentralized-payload-transport
source /opt/ros/melodic/setup.bash
catkin_make
- Multi jackal simulation setup
- RRT implementation for global path planning
- APF planner for local path planning
- trolley with simulated ropes
- trolley detection with reflective markers in simulation
- global planning strategies
- Path planning tests
- Safety control mode - velocities are generated based on obstacles detected by laser
- teleop mode - cloud monitoring of robots.
- Benchmarking to be disscussed
sudo apt install ros-melodic-ros-controllers
or sourcesudo apt install ros-melodic-hardware-interface
or sourcesudo apt install ros-melodic-velocity-controllers
or sourcesudo apt install ros-melodic-position-controller
or sourcesudo apt install ros-melodic-joint-state-controller
or sourcesudo apt install ros-melodic-teleop-twist-keyboard
or sourcesudo apt install ros-melodic-gmapping
or sourcesudo apt install ros-melodic-move-base*
or sourcesudo apt install ros-melodic-global-planner
or sourcesudo apt install ros-melodic-navfn
or sourcesudo apt install ros-melodic-explore-elite
or sourcesudo apt install ros-melodic-dwa-planner
or sourcesudo apt install ros-melodic-amcl
or sourcesudo apt install ros-melodic-map-server
or sourcesudo apt install ros-melodic-robot-localization
or sourcesudo apt install ros-melodic-pcl
or sourcesudo apt install xterm
-
How do the robots share each other's and trolley's location? Ans: The clearpath jackal is equipped with Velodyne VLP-16 lidar which can report objects with different reflective indexes (like the road signs). Then the problem can be answered using intensity based region extraction and point cloud registration (super4PCS) based object detection (position and orientation). We can stick safety reflective tapes on the jackal robots and trolley as markers.
-
How is the local path computed with respect to the trolley for each robot? Ans: Using artificial potential fields and knowing the location of the trolley/other robots in the team, we can generate a force field around the trolley towards the global path making the robots drive towards the goal and use the other robots location to keep a safe distance between each other.
-
How is the global path computed and shared between the robots? Ans: Assuming the trolley's footprint as a basis each individual robot's global planner should ideally generate the same path (given both the robots have the same map of the environment). Alternatively, in a random (or using a heuristics like the robots heading), individual robots can discard plans that drive them in other directions. Some more probable solutions are yet to be determined.
-
Fault detection? Ans: Keeping the rope's distance constant between the robot and trolley, if the robot's linear and angular velocity with the position of the trolley does not move the trolley, the robot can move away from the formation.
-
Fault recovery ? Ans: Since the robot which is disconnected from the trolley, has moved away from the (APF region) formation after fault detection, the potential fields should ideally neglect the robot and other robots can still drive the trolley around.