Development of navigation stack for warehouse automation
Place of conducting the research: Indian Institute of Science, Bangalore
Mentor(s): Prof. Suresh Sundaram, Prof. Raghu Krishnapuram, Prof. Bharadwaj Amrutur
Duration: June 2020 - Present
The logistics market has been impacted by the increase of e-commerce, mass customization, omnichannel distribution, and just-in-time philosophy. In order to attend to this dynamic change, automation has been applied in warehouses.My research seeks to demonstrate ways of accomplishing tasks with automated guided vehicle (AGV) that require interaction with their surroundings, such as designing and mapping the warehouse environment, rearrangement planning and navigation among movable obstacles. My research also includes designing an AGV with specific payload carrying capacity and the warehouse environment with constraints.
For this research, the indoor mobile robot used is Botsync Volta and the navigation stack is built using Robot Operating System (ROS).
Our work included modelling a warehouse environment on Gazebo simulator. Primary aim of using the simulator is to observe the physics of the robot with respect to the factory environment and hence, the virtual environment acts as a substitute to an actual factory floor. As shown in the above video, the warehouse environment consists of racks, cardboard boxes, and blind spots and T-junctions at the rooms. The coloured boxes, varying lighting conditions and lanes are explicitly involved in the environment for robot navigation using visual SLAM.
Currently, GMapping is used to create a Lidar based map.
GMapping is a highly efficient Rao-Blackwellized particle filter to learn grid maps from laser range data.The gmapping package provides laser-based SLAM (Simultaneous Localization and Mapping), as a ROS node called slam_gmapping. Future work would include creating the map using RTAB-map based on RGB-D SLAM approach will use the Intel Realsense depth camera.
The navigation used is based on Adaptive Monte Carlo Localization (AMCL) AMCL is a probabilistic localization system for a robot moving in 2D. It implements the adaptive (or KLD-sampling) Monte Carlo localization approach (as described by Dieter Fox), which uses a particle filter to track the pose of a robot against a known map. SLAM used in this research also uses data from the IMU and wheel odometry which are both passed through an Extended Kalman Filter (EKF).
The SLAM and navigation are reasonably effective when intrinsic parameters of the EKF are tuned in tandem with the amcl node parameters which tune the local planner with respect to the global planner.
Multi-Robot navigation simulation
Our navigation stack includes multi-robot navigation using the Volta robot. The multi-robot navigation is built on ROS and in the video navigation goals are sent using RVIZ waypoints. I have also developed a code to send navigation goals via a python script.
​
TEB Local planner simulation
The DWA local planner is the default local planner used in the move_base package. During my experiments testing different local planning algorithms, I noticed the Timed elastic band (TEB) local planner perform better compared to DWA planner.
Multi-Robot navigation-Physical robots
A personal computer is the ROS master and the two robots in the video have bringup initialised separately. The robots subscribe to the map topic published by the master. The corner frame in the video shows the RVIZ frame which is used to send individual goals to the robots.
​