This project involves various topics related to mobile robotics, focusing on localization, mapping, sensor fusion, and control. The work involves creating a robot system capable of understanding its environment, avoiding obstacles, and navigating autonomously using a variety of sensors, including LiDAR.
-
Sensor Fusion: Combined data from different sensors (e.g., LiDAR, IMU) to improve the robot's state estimation.
-
Kalman Filter: Implemented to predict and correct the robot's position based on sensor readings.
-
Probability Theory: Applied in probabilistic models for localization and mapping, including handling uncertainties in sensor measurements.
-
Robot Kinematics: Studied the robot's motion model, including the relationship between wheel velocities and position changes.
-
Odometry: Used to estimate the robot's position over time based on wheel encoders.
-
Robot Localization: Focused on determining the robot's position within a map using techniques like particle filters.
-
Control: Developed control algorithms to move the robot in a desired direction while avoiding obstacles.
-
Map Representations: Created a map representation for navigation, such as grid maps or occupancy grids.
-
Mapping: Implemented techniques for constructing a map of the environment using sensors (LiDAR).
-
SLAM (Simultaneous Localization and Mapping): Designed and tested SLAM algorithms to allow the robot to both localize itself and build a map simultaneously.
-
Obstacle Avoidance: Used sensors (LiDAR, cameras) to detect obstacles and plan paths to avoid them.
-
Speed and Separation Monitoring: Monitored the robot's speed and maintained separation from obstacles and other robots.
-
Using LiDAR Sensors: Implemented algorithms to process and interpret data from LiDAR sensors to generate maps and detect obstacles.
To prepare your PC you need:
-
Install Ubuntu 22.04 on PC or in Virtual Machine. Download the ISO Ubuntu 22.04 for your PC.
-
Install ROS 2 Humble or Jazzy on your Ubuntu 22.04.
-
Install ROS 2 missing libraries. Some libraries that are used in this project are not in the standard ROS package. Install them with:
sudo apt-get update && sudo apt-get install -y \ ros-humble-joint-state-publisher-gui \ ros-humble-xacro \ ros-humble-ros2-control \ ros-humble-moveit* \ ros-humble-ros2-controllers \ ros-humble-ros-gz-* \ ros-humble-*-ros2-control
-
Install VS Code and Arduino IDE on your PC in order to build and load the Arduino code on the device.
-
Install Python and C++ additional libraries:
sudo apt-get update && sudo apt-get install -y \ libserial-dev \ python3-pip pip install pyserial
ros2 launch arduinobot_bringup simulated_robot.launch.pyJeswanth Kanipakam: LinkedIn - https://www.linkedin.com/in/jeswanth-kanipakam
Email: [email protected]