Subsystems
In our project, we have 3 main subsystems, namely, the planning subsystem, the SLAM subsystem, and the interface subsystem. The planning subsystem is responsible for generating the motion plan for the robot. Our primary focus of the project is to make the planning subsystem hardware agnostic. The SLAM subsystem is responsible for generating the map of the environment and the robot’s pose in the environment. The interface subsystem is responsible for interfacing the planning and SLAM subsystems with the robot and making the robot independent of it’s compute capabilities.
Robot 1:- LocoBot
Locobot is a mobile robot which has a base of kobuki and a manipulator on top of it. We have acquired a LocoBot from Deepak’s lab. This Locobot will be used as one of the two platforms for testing the hardware agnosticism of the planning software. A picture of the locobot is shown below.
Robot 2:- A1 Unitree
A1 is a legged robot from the company Unitree. It has 4 legs, and we will be using it as the other platform for testing the hardware agnosticism of the planning software. We still need to acquire this robot from Deepak’s lab.
SLAM Subsystem
The SLAM subsystem is responsible for generating the map of the environment and the robot’s pose in the environment. For our trails we used RTab-Map for first few weeks to generate the map of the environment. But we have started using Kimera, a semantic SLAM algorithm which can give us better results than RTab-Map.
Kimera is a state of the art SLAM algorithm which can generate a map of the environment and the robot’s pose in the environment. It can also generate a semantic map of the environment. The semantic map is a map which has the semantic information of the objects in the environment. For example, if there is a table in the environment, the semantic map will have the information that there is a table in the environment. The semantic map can be used to generate a map of the environment which can be used by the planning subsystem to generate the optimal motion for the robot.
Planning Subsystem
The Planning subsystem is responsible for generating the motion plan for the robot. Our primary focus of the project is to make the planning subsystem hardware agnostic. We are using Move-base-flex for the planning subsystem. Move-base-flex is a motion planning framework which can be used to generate the motion plan for more than one type of robot.