Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | |
| Checkout URI | https://github.com/robustify/audibot.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2026-02-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| audibot | 0.2.1 |
| audibot_description | 0.2.1 |
| audibot_gazebo | 0.2.1 |
README
Audibot
A ROS 2 / Gazebo simulation of an Audi R8-based autonomous vehicle. The package provides a realistic vehicle dynamics model with steering geometry, speed control, and a full sensor suite.
Packages
| Package | Description |
|---|---|
audibot |
Metapackage |
audibot_description |
Meshes and SDF robot descriptions |
audibot_gazebo |
Gazebo plugin, launch files, and world files |
Launching the Simulator
Two ready-to-use launch files are provided, one for each vehicle color variant.
Blue Audibot:
ros2 launch audibot_gazebo blue_audibot.launch.xml
Orange Audibot:
ros2 launch audibot_gazebo orange_audibot.launch.xml
Both launch files start:
- Gazebo with an empty world
- The ROS ↔ Gazebo topic bridge
-
robot_state_publisherfor TF transforms -
rqt_publisherfor manually sending control commands - RViz2 with a pre-configured display
Launch Arguments
The underlying gazebo_bringup.launch.py accepts the following arguments:
| Argument | Default | Description |
|---|---|---|
robot_sdf_file |
(required) | Full path to the robot SDF file |
world_sdf_file |
(required) | Full path to the world SDF file |
gz_bridge_file |
(required) | Full path to the ROS/GZ bridge YAML config |
verbose |
false |
Enable verbose Gazebo output |
start_paused |
false |
Start simulation paused |
headless |
false |
Run server only (no GUI) |
Including Audibot in Your Own Launch File
XML launch file
<?xml version="1.0"?>
<launch>
<!-- Include the blue audibot simulator -->
<include file="$(find-pkg-share audibot_gazebo)/launch/blue_audibot.launch.xml" />
<!-- Your nodes here -->
<node pkg="my_package" exec="my_node" name="my_node">
<param name="use_sim_time" value="true" />
</node>
</launch>
Python launch file
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import AnyLaunchDescriptionSource
from launch_ros.actions import Node
import os
def generate_launch_description():
audibot_launch = IncludeLaunchDescription(
AnyLaunchDescriptionSource(
os.path.join(
get_package_share_directory('audibot_gazebo'),
'launch', 'blue_audibot.launch.xml'
)
)
)
my_node = Node(
package='my_package',
executable='my_node',
parameters=[{'use_sim_time': True}]
)
return LaunchDescription([audibot_launch, my_node])
Note: Always set
use_sim_time: trueon your nodes so they use the/clocktopic from Gazebo instead of wall-clock time.
File truncated at 100 lines see the full file