A ROS 2 robot simulator package that combines SDL graphics rendering with ROS integration, featuring ultrasonic sensor simulation and robot navigation capabilities.
- 3D Graphics Rendering: SDL-based visualization of the robot and environment
- ROS 2 Integration: Full ROS 2 integration for robot control and sensing
- Ultrasonic Sensor Simulation: Simulated ultrasonic sensors for obstacle detection
- Robot Control: Interface for controlling robot movement and navigation
robot_simulator_pkg/
├── include/
│ └── robot_simulator_pkg/
│ ├── graphics.hpp # Graphics rendering interface
│ ├── robot.hpp # Robot model and physics
│ ├── ros_interface.hpp # ROS 2 communication
│ └── ultrasonic.hpp # Ultrasonic sensor simulation
├── src/
│ ├── graphics.cpp # Graphics implementation
│ ├── robot.cpp # Robot implementation
│ ├── ros_interface.cpp # ROS interface implementation
│ ├── ultrasonic.cpp # Ultrasonic sensor implementation
│ └── main.cpp # Main entry point
├── CMakeLists.txt
├── package.xml
└── README.md
- Handles robot kinematics and physics
- Manages position and orientation
- Processes control commands
- Renders the simulation environment using SDL2
- Displays robot and sensor data
- Provides real-time visualization
- Publishes sensor data (ultrasonic readings, odometry)
- Subscribes to control commands
- Integrates with ROS 2 ecosystem
- Simulates multiple ultrasonic sensors
- Ray-casting based distance measurement
- Real-time obstacle detection

