Ask Your Question

Revision history [back]

Depending upon the material available, you can start the process in the following way:-

1) Robot model - Decide the kind of robot you want to build. Is it a differential drive robot, a four wheeled one or do you want to build some other config.? You will find plenty of kits and stuff online.

2) Differential Kinematics- You can study how the robots velocities are related to it's individual wheel velocities. After this you can develop equations to update the robots odometry( one step towards robot localisation) using feedback from wheel encoders. You will require motor drivers, servo motors and wheel encoders which are compatible with Raspberry Pi.

3) For SLAM- you need to know what sensor are you using. Depending upon this you can choose a suitable SLAM algorithm to use. A Monocular camera ? An RGBD camera or a LiDAR. Or maybe a LidarLiteV3 like sensor rotated using a servo motor ? You also need to work on the communications between Raspberry Pi and a desktop computer as I'm not sure if SLAM can run on a Raspberry Pi. However, I might be wrong as well.

After this you can start creating ROS nodes to take control decisions from your localisation data. The visual/laser-based odometry data from SLAM can be taken from suitable topics and utilized.

To conclude, it depends a lot on your budget and what kind of sensors you have access to. For a more mathematical foundation, you can take up this course, or maybe read the book on "Introduction to Autonomous Mobile Robots" Autonomous Mobile Robots course from ETHZ

Depending upon the material available, you can start the process in the following way:-

1) Robot model - Decide the kind of robot you want to build. Is it a differential drive robot, a four wheeled one or do you want to build some other config.? You will find plenty of kits and stuff online.online.( This is assuming that it's a ground based mobile robot. If it's like a quadcopter, again you need to choose if you want a plus or an X frame)

2) Differential Kinematics- You can study how the robots velocities are related to it's individual wheel velocities. After this you can develop equations to update the robots odometry( one step towards robot localisation) using feedback from wheel encoders. You will require motor drivers, servo motors and wheel encoders which are compatible with Raspberry Pi.

3) For SLAM- you need to know what sensor are you using. Depending upon this you can choose a suitable SLAM algorithm to use. A Monocular camera ? An RGBD camera or a LiDAR. Or maybe a LidarLiteV3 like sensor rotated using a servo motor ? You also need to work on the communications between Raspberry Pi and a desktop computer as I'm not sure if SLAM can run on a Raspberry Pi. However, I might be wrong as well.

After this you can start creating ROS nodes to take control decisions from your localisation data. The visual/laser-based odometry data from SLAM can be taken from suitable topics and utilized.

To conclude, it depends a lot on your budget and what kind of sensors you have access to. For a more mathematical foundation, you can take up this course, or maybe read the book on "Introduction to Autonomous Mobile Robots" Autonomous Mobile Robots course from ETHZ