Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions .ipynb_checkpoints/building_robot-checkpoint.sdf
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?xml version="1.0" ?>
<sdf version="1.10">
<world name="car_world">
<physics name="1ms" type="ignored">
<max_step_size>0.001</max_step_size>
<real_time_factor>1.0</real_time_factor>
</physics>
<plugin
filename="gz-sim-physics-system"
name="gz::sim::systems::Physics">
</plugin>
<plugin
filename="gz-sim-user-commands-system"
name="gz::sim::systems::UserCommands">
</plugin>
<plugin
filename="gz-sim-scene-broadcaster-system"
name="gz::sim::systems::SceneBroadcaster">
</plugin>

<light type="directional" name="sun">
<cast_shadows>true</cast_shadows>
<pose>0 0 10 0 0 0</pose>
<diffuse>0.8 0.8 0.8 1</diffuse>
<specular>0.2 0.2 0.2 1</specular>
<attenuation>
<range>1000</range>
<constant>0.9</constant>
<linear>0.01</linear>
<quadratic>0.001</quadratic>
</attenuation>
<direction>-0.5 0.1 -0.9</direction>
</light>

<model name="ground_plane">
<static>true</static>
<link name="link">
<collision name="collision">
<geometry>
<plane>
<normal>0 0 1</normal>
</plane>
</geometry>
</collision>
<visual name="visual">
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<material>
<ambient>0.8 0.8 0.8 1</ambient>
<diffuse>0.8 0.8 0.8 1</diffuse>
<specular>0.8 0.8 0.8 1</specular>
</material>
</visual>
</link>
</model>

</world>
</sdf>
25 changes: 15 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

A ROS2 workspace for controlling differential drive robots in Gazebo simulation.

## Demo

See video demo of robot navigating maze [here](https://youtu.be/Ss9XE4Z-uH0)

## Overview

This workspace contains a ROS2 package (`gazebo_controller`) that provides:
Expand All @@ -17,13 +21,17 @@ gazebo_controller_ws/
├── src/
│ └── gazebo_controller/
│ ├── gazebo_controller/ # Python package
│ │ └── diffdrive_pid.py
│ ├── launch/ # Launch files
│ │ ├── ros_gz_bridge.launch.py
│ │ └── gazebo_with_bridge.launch.py
│ │ └── full_simulation.launch.py
│ ├── config/ # Configuration files
│ │ └── gazebo_bridge.yaml
│ ├── rviz/ # RVIZ settings
│ │ └── rviz_view.rviz
│ ├── sdf/ # Robot model files
│ │ └── building_robot.sdf
│ │ └── maze_world.sdf
│ │ └── vehicle_blue_model.sdf
│ ├── package.xml # Package dependencies
│ └── setup.py # Package setup
└── README.md
Expand All @@ -43,7 +51,7 @@ source install/setup.bash

**Option A: Complete System (Gazebo + Bridge)**
```bash
ros2 launch gazebo_controller gazebo_with_bridge.launch.py
ros2 launch gazebo_controller full_simulation.launch.py
```

**Option B: Bridge Only (if Gazebo already running)**
Expand Down Expand Up @@ -75,11 +83,7 @@ ros2 topic pub /cmd_vel geometry_msgs/msg/Twist "linear: {x: 0.0, y: 0.0, z: 0.0

## Robot Model

The `building_robot.sdf` contains a unique **Pizza Delivery Bot** design featuring:
- **Red chassis** with yellow delivery compartment
- **Differential drive** with realistic tire/rim wheels
- **Dual front support wheels** for stability
- **Communication antenna** for autonomous operation
The `vehicle_blue_model.sdf` contains a differential drive robot designed for navigation and control testing within the Gazebo simulation environment. The robot features a blue rectangular chassis with two primary drive wheels and a rear caster for stability.

## Available Topics

Expand All @@ -88,6 +92,7 @@ The `building_robot.sdf` contains a unique **Pizza Delivery Bot** design featuri
| `/cmd_vel` | `geometry_msgs/msg/Twist` | ROS → Gazebo | Velocity commands |
| `/odom` | `nav_msgs/msg/Odometry` | Gazebo → ROS | Robot odometry |
| `/tf` | `tf2_msgs/msg/TFMessage` | Gazebo → ROS | Transform data |
| `/tf_static` | `tf2_msgs/msg/TFMessage` | Gazebo → ROS | Transform data (static version to help RVIZ find all links) |
| `/clock` | `rosgraph_msgs/msg/Clock` | Gazebo → ROS | Simulation time |

## Dependencies
Expand Down Expand Up @@ -118,6 +123,6 @@ The `building_robot.sdf` contains a unique **Pizza Delivery Bot** design featuri

---

**Course**: EN613
**Author**: [Your Name]
**Course**: EN613
**Authors**: Xiaolei Hu, Alyssa Roman, James Davis, Beth Dittberner
**Date**: October 2025
Binary file added Team_members_and_challenges.pdf
Binary file not shown.
Loading