Simulation Deliverables
=======================
This section lists the **simulation deliverables** of the Patrolling Trash-Collecting Robot project, organized by functionality. For system overview and environment setup, see the **Project Introduction**.
Simulated Functionality (`sim` branch)
----------------------------------------
Trash Collection in Simulation
___________________________________
.. raw:: html
- **Description**: Patrol, find the trash, and pick it up.
- **Launch Command**::
.. code-block:: bash
git checkout sim # for simulation
# in terminal A
ros2 launch turtlebot4_manipulator_ignition t4_manipulator_ignition.launch.py localization:=true nav2:=true slam:=false use_sim_time:=true use_sim:=true
# in another terminal B
ros2 run turtlebot4_trash_actions trash_collection_task.py
Ignition Gazebo Simulation - Localization and Navigation
______________________________________
.. code-block:: bash
cd ~/rsp_ws/src/rsp-project-team-emrs
git checkout sim # for simulation
.. raw:: html
- **Description**: Physics-based simulation in custom apartment and Wyman lab worlds.
- **Launch Command**::
.. code-block:: bash
ros2 launch turtlebot4_manipulator_ignition t4_manipulator_ignition.launch.py localization:=true nav2:=true slam:=false
- **Key Nodes**:
- `ign_gazebo`: simulation server and physics engine
- `ros_ign_bridge`: bridges ROS2 topics/services to Ignition
- Nav2 nodes (`controller_server`, `planner_server`, `lifecycle_manager_navigation`)
Autonomous Patrolling In Simulation
___________________________________
.. raw:: html
- **Description**: Waypoint-based patrol using Nav2 behavior tree.
- **Parameters**: Defined in `config/patrol_waypoints.yaml`.
- **Launch Command**::
.. code-block:: bash
ros2 launch turtlebot4_manipulator_navigation patrol.launch.py
- **Key Nodes**:
- `patrol_robot_node`: reads waypoints and publishes goals
- `bt_navigator`: executes behavior tree for navigation
- `waypoint_follower`: follows sequential goals