B"H

Building a Simple Simulated Robot with Collision Avoidance in ROS 2

Objective:

Set up a ROS 2 environment, create a simple simulated robot in Gazebo with a LiDAR sensor, and develop a node for collision avoidance, with a strong focus on code quality and adherence to standards.

Tools:

  • ROS 2
  • Gazebo for simulation
  • LiDAR sensor plugin

Tasks:

  1. ROS 2 Setup: Install and configure ROS 2 on your system.
  2. Robot Creation in Gazebo: Design a basic mobile robot model in Gazebo.
  3. LiDAR Integration: Attach and configure a LiDAR sensor to the robot.
  4. Node Development for Collision Avoidance: Develop a ROS node in C++ or Python to process LiDAR data and control the robot.
  5. Collision Detection Logic: Implement logic to detect potential collisions and stop the robot accordingly.
  6. Testing and Debugging: Test the robot in the Gazebo environment to ensure reliable collision avoidance.
  7. Documentation: Document the setup process, simulation instructions, and provide a detailed explanation of your code.

Emphasis on Code Quality and Standards:

  • Clean Code: Write clear, understandable, and well-commented code.
  • Modular Design: Structure your code into functions or classes for better readability and maintenance.
  • Consistent Coding Standards: Follow ROS 2 best practices and guidelines for coding styles.
  • Error Handling: Implement robust error handling and data validation.
  • Version Control: Use a version control system like Git for tracking changes and collaboration.

Evaluation Criteria:

  • ROS 2 Proficiency: Ability to effectively use ROS 2 for robot simulation and control.
  • Sensor Integration and Data Processing: Skills in integrating and processing data from the LiDAR sensor.
  • Code Quality: Adherence to clean coding principles, modular design, and consistent coding standards.
  • Problem-Solving and Innovation: Effectiveness in developing a reliable collision avoidance system and handling different scenarios creatively.

Helpful links