B"H
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.
- ROS 2
- Gazebo for simulation
- LiDAR sensor plugin
- ROS 2 Setup: Install and configure ROS 2 on your system.
- Robot Creation in Gazebo: Design a basic mobile robot model in Gazebo.
- LiDAR Integration: Attach and configure a LiDAR sensor to the robot.
- Node Development for Collision Avoidance: Develop a ROS node in C++ or Python to process LiDAR data and control the robot.
- Collision Detection Logic: Implement logic to detect potential collisions and stop the robot accordingly.
- Testing and Debugging: Test the robot in the Gazebo environment to ensure reliable collision avoidance.
- Documentation: Document the setup process, simulation instructions, and provide a detailed explanation of your code.
- 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.
- 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.
- https://docs.ros.org/en/iron/index.html
- https://navigation.ros.org/setup_guides/index.html - There is no need to use Navigation2, but it has a good robot setup guide