An autonomous indoor surveillance robot built on ROS2, capable of real-time threat detection and autonomous navigation. Features a deep learning vision pipeline for anomaly and weapon detection, SLAM-based mapping, and remote monitoring via live camera feed.
πΈ RViz + Gazebo screenshots, real world testing videos β https://tinyurl.com/Remote-Surveillance-Robot
| Full Robot (RViz) | Gazebo Simulation | Physical Build |
|---|---|---|
![]() |
![]() |
![]() |
This is a full-stack robotics project β hardware design, embedded firmware, ROS2 software, and AI perception all built from scratch:
-
Custom PCB (Altium Designer) β Designed the robot's motor driver and power management board from scratch in Altium. Gerber files included. This replaced off-the-shelf boards and allowed direct integration with the onboard compute.
-
Custom mechanical design (SolidWorks) β Designed the full chassis and sensor mount in SolidWorks. Supports two interchangeable wheel configurations: standard skid-steer wheels and mecanum wheels for omnidirectional movement.
-
Dual drive configurations β The robot supports both a standard skid-steer wheel setup and a mecanum/omni wheel setup, each with its own kinematics node. This was a deliberate design choice to test different navigation behaviours.
-
Skid-steer drive kinematics β Implemented a ROS2 differential drive node handling encoder-based odometry and motor velocity commands.
-
SLAM-based autonomous navigation β Integrated SLAM Toolbox with Nav2 for real-time indoor mapping and autonomous path planning. The occupancy grid map below was generated from a live LiDAR scan on physical hardware.
-
Deep learning vision pipeline β Integrated a YOLO-based object detection model for real-time anomaly and weapon detection from the onboard camera feed. Detection results are published as ROS2 topics for downstream alerting.
-
Remote monitoring interface β Camera feed and robot telemetry streamed over the network for remote operation and live surveillance.
| Component | Details |
|---|---|
| Compute | Jetson & Desktop |
| LiDAR | RPLidar A1 |
| Camera | Intel RealSense |
| IMU | MPU6050 |
| Motor Driver | Custom PCB designed in Altium |
| Drive | Skid-steer / Mecanum (swappable) |
| Chassis | Custom SolidWorks design, 3D printed |
The map below was generated live on the physical robot β not in simulation.
Custom motor driver and power management board. Gerber files available in /pcb.
The chassis supports two interchangeable wheel setups, each with a corresponding ROS2 kinematics node:
| Standard Skid-Steer | Mecanum / Omni Wheels |
|---|---|
![]() |
![]() |
| View 1 | View 2 | View 3 |
|---|---|---|
![]() |
![]() |
| Build 1 | Build 2 | Build 3 |
|---|---|---|
![]() |
![]() |
![]() |
- ROS2 Humble
- Nav2
- SLAM Toolbox
- OpenCV
- PyTorch / TensorFlow (for detection node)
mkdir -p ~/surveillance_ws/src && cd ~/surveillance_ws/src
git clone https://github.com/The-Kriz/ROS_Remote_Surveillance_Robot
cd ..
colcon build --symlink-install
source install/setup.bashSimulation:
ros2 launch rog_ros_bot launch_sim.launch.py use_sim_time:=trueNavigation + SLAM:
ros2 launch rog_ros_bot navigation.launch.pySurveillance / Detection:
ros2 launch rog_ros_bot surveillance.launch.pyROS2 Nav2 SLAM Deep Learning YOLO OpenCV Altium Designer
SolidWorks PCB Design Embedded C/C++ Skid-Steer Kinematics Mecanum Drive Python C++
Part of my robotics portfolio β see also Project EVA Humanoid Robot








