WayWiseR is a ROS2-based rapid prototyping platform designed for Connected and Automated Vehicle (CAV) validation research. Extending the low-level functionalities provided by the WayWise library with standardized ROS2 interfaces, WayWiseR enables systematic scenario-based validation across both simulated and physical environments.
WayWiseR is divided into modular ROS2 packages:
| Package | Description |
|---|---|
waywiser |
FastDDS discovery configuration and global utils. |
waywiser_core |
ROS2 wrappers for the core WayWise functionalities. |
waywiser_description |
Vehicle and sensor descriptions (URDF/Xacro). |
waywiser_hwbringup |
Configuration and launch files for physical hardware. |
waywiser_perception |
Image processing and computer vision. |
waywiser_nav2 |
Dynamic path planning via Nav2. |
waywiser_rviz2 |
RViz2 configuration and launch files. |
waywiser_slam |
SLAM Toolbox configuration and launch files. |
waywiser_teleop |
Multi-source teleoperation and arbitration. |
waywiser_test_runner |
Test orchestration for both simulators and hardware. |
waywiser_twist_safety |
Onboard safety features such as command arbitration, E-Stop, etc. |
waywiser_gazebo / _carla / _agrarsense |
Simulation-specific integration and environments. |
-
Clone the repository:
export WAYWISER_WS=~/waywiser_ws # update to your desired path mkdir -p $WAYWISER_WS/src git clone git@github.com:das-rise/WayWiseR.git $WAYWISER_WS/src/WayWiseR ln -s $WAYWISER_WS/src/WayWiseR/Makefile $WAYWISER_WS/Makefile
-
Build the workspace:
cd $WAYWISER_WS make all
This will:
- Prompt you to configure your
.env(packages to build, RMW, middleware settings, etc.) - Install all system prerequisites
- Create and populate the Python virtual environment with only the Python extras needed by the selected packages
- Install ROS dependencies via rosdep
- Build the workspace with colcon
For a list of all available make targets:
make help⚠️ Important: MAVSDK is automatically installed from a prebuilt deb (Ubuntu 22.04, amd64). On other architectures the setup will pause and ask you to install it manually, then runmake build. For Non-amd64 / manual install, prerequisites can be skipped withmake setup ARGS=--skip-prereqsif you have already installed them. - Prompt you to configure your
-
Activate the workspace:
source $WAYWISER_WS/.venv/bin/activate
The venv activation script automatically sources ROS2, the workspace install, and your
.env.
Launch a rover with teleoperation:
cd $WAYWISER_WS
source .venv/bin/activate
ros2 launch waywiser hwbringup_rover.launch.pyThe rover dynamics are simulated by WayWise using a simple bicycle model.
For detailed developer setup configuration, refer to the Developer Guide.
Semi-truck.docking.demo.mp4
Forestry.simulation.demo.mp4
UAV.flight.mission.demo.mp4
Current maintainers are: (firstname.middlename.lastname@ri.se):
- Ramana Reddy Avula
- Aria Mirzai
- Karl Lundgren
- Ashfaq Farooqui
Previous maintainers:
- Marvin Damschen
- Rickard Häll
If you use WayWiseR in your research, please cite:
@INPROCEEDINGS{11369551,
author={Avula, Ramana Reddy and Damschen, Marvin and Mirzai, Aria and Lundgren, Karl and Farooqui, Ashfaq and Thors\'{e}n, Anders},
booktitle={2025 13th International Conference on Control, Mechatronics and Automation (ICCMA)},
title={WayWiseR: A Rapid Prototyping Platform for Validating Connected and Automated Vehicles},
year={2025},
pages={306-311},
doi={10.1109/ICCMA67641.2025.11369551}
}