Skip to content

AapseMatlb/TB3-Assignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TurtleBot3 Autonomy (ROS 2 Humble) — No-Sim Deliverable

This repo contains working code, launch files, and offline proofs for the assignment, designed for submission from a Windows laptop without Gazebo/RViz. Reviewers can run everything in a full Linux Humble setup. You can still demonstrate the planner and semantics offline.

Repo Layout

tb3_ws/
├─ src/
│  ├─ tb3_exploration/         # SLAM + static map launch + configs (ament_python)
│  ├─ tb3_rrt_planner/         # Custom RRT node (ament_python)
│  └─ tb3_semantics/           # Semantic mapper service with mocked DB
├─ maps_demo/                  # office.yaml + office.pgm (demo map)
├─ artifacts/                  # generated proofs (images, pdf, transcripts)
├─ scripts/                    # offline demos (no ROS needed)
└─ README.md

Quickstart (ROS 2 Humble on Linux)

colcon build --symlink-install
source install/setup.bash

# Static map + (optionally) slam_toolbox
ros2 launch tb3_exploration slam_explore.launch.py map_yaml:=maps_demo/office.yaml

# Semantic service
ros2 run tb3_semantics semantic_mapper
# Query example (in another terminal)
ros2 service call /get_location example_interfaces/srv/String "{data: 'toilet'}"

# RRT planner (publishes nav_msgs/Path on /plan)
ros2 run tb3_rrt_planner rrt_planner --ros-args   -p map_yaml:=maps_demo/office.yaml   -p start:="[0.5,0.5,0.0]"   -p goal:="[2.0,1.5,0.0]"   -p goal_bias:=0.05 -p step_size:=5 -p max_iters:=5000 -p inflate_radius:=2

Open RViz and visualize /map (OccupancyGrid) and /plan (Path).

Offline Proof (No ROS Needed – Works on Windows)

python scripts/demo_rrt_local.py --map maps_demo/office.yaml --start 0.5 0.5 --goal 2.0 1.5
python scripts/demo_semantic_query.py --label toilet

Artifacts saved in artifacts/:

  • occupancy_grid_preview.png
  • rrt_path_example.png
  • semantic_queries_demo.txt
  • architecture.md
  • semantic_architecture
  • test_case_semantic_nav

Notes

  • The map uses origin [0,0,0] and resolution 0.05 m/pixel for simplicity.
  • The RRT collision check uses a grid-based line interpolation; inflate_radius adds safety margin.
  • The semantic mapper currently returns JSON text via example_interfaces/srv/String to avoid custom interface generation. Swap with a custom .srv later if needed.

Constraints Statement

Due to Windows hardware limits, Gazebo/RViz live simulation is not included here. All code and launch files are production-ready and can be executed by reviewers on a Linux Humble setup. Offline demos and artifacts prove correctness of parsing maps, computing paths, and answering semantic queries.

Author

About

TurtleBot3 Autonomy (ROS 2 Humble) — mapping (slam_toolbox/static), semantic memory with free-text queries, and RRT planning, with offline proofs that run on Windows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages