Autonomous Robot

Self-navigating robot using SLAM and path planning algorithms with real-time obstacle detection

Robotics
# features

Key Features

Interactive 3D structural breakdown of the LEO Rover.

LOADING ASSETS
0%

SLAM

Simultaneous Localization and Mapping utilizing 2D/3D LiDAR fusion to construct high-fidelity spatial maps of unknown environments in real-time.

Autonomous Navigation

Dynamic path planning and robust obstacle avoidance algorithms ensuring seamless point-to-point traversal across complex terrain.

Computer Vision

Edge-deployed YOLOv8 inference enabling rapid object detection, semantic segmentation, and advanced environmental perception.

ROS2 Architecture

A decentralized, highly modular communication framework managing sensor data streams and autonomous state machines continuously.

Path Logging

Comprehensive telemetry recording system tracking odometry, executed paths, and obstacle metadata for post-mission kinematic analysis.

# products

Product Showcase

Deep dive into the specialized hardware components used in our mobile autonomous systems.

RPLidar Sensor
Active

Hardware Module

RPLidar Sensor

A high-performance 360-degree laser range scanner. Provides the robot with precise spatial awareness and real-time mapping capabilities.

Precision
92%
Range
85%
# files

Design Files & CAD

Models, schematics, and assets.

Autonomous Mobile Robot Assembly

# source

Source Code

Explore the primary logical modules.

EXPLORER
yolov8_node.py
srcyolov8_node.py
1import rclpy
2 from rclpy.node import Node
3 from sensor_msgs.msg import Image
4 from cv_bridge importCvBridge
5 import cv2
6 from ultralytics import YOLO
7 from vision_msgs.msg import Detection2DArray
8
9 class YoloV8Node(Node):
10 def __init__(self):
11 super().__init__('yolov8_node')
12 self.bridge = CvBridge()
13 self.model = YOLO('yolov8n.pt') # Load YOLOv8 Nano
14
15 # Subscribe to camera
16 self.subscription = self.create_subscription(
17 Image, '/camera/image_raw', self.image_callback, 10)
18
19 # Publisher for detections
20 self.detection_pub = self.create_publisher(
21 Detection2DArray, '/detections', 10)
22
23 self.get_logger().info("YOLOv8 Node Initialized.")
24
25 def image_callback(self, msg):
26 try:
27 cv_image = self.bridge.imgmsg_to_cv2(msg, "bgr8")
28 results = self.model(cv_image)
29
30 for r in results:
31 for box in r.boxes:
32 conf = box.conf[0]
33 if conf > 0.5:
34 self.get_logger().info(f"Detected class {box.cls} - Conf {conf:.2f}")
35
36 except Exception as e:
37 self.get_logger().error(f"Failed to process image: {e}")
38
39 def main(args=None):
40 rclpy.init(args=args)
41 node = YoloV8Node()
42 rclpy.spin(node)
43 node.destroy_node()
44 rclpy.shutdown()
45
46 if __name__ == '__main__':
47 main()
# simulation

Live Simulation Output

Simulated console execution.

simulation
$_
# videos

Project Walkthroughs

Click any video to play.

Perception System (Rover's PoV)
Live

Perception System (Rover's PoV)

Object detection and LIDAR perception capabilities from the Rover's point of view.

Arm Movement Testing
3:48

Arm Movement Testing

Testing the movement of the arm.

Structural Construction
5:20

Structural Construction

The construction of the robot.

Trail Run
7:15

Trail Run

First run of the robot in a trail environment.

Navigation Simulation
1:45

Navigation Simulation

Autonomous Mobile Robot navigation simulation in a controlled environment.

Autonomous Navigation
2:15

Autonomous Navigation

Autonomous Mobile Robot navigation simulation - Alternative scenario.

Navigation toward to block
1:20

Navigation toward to block

Autonomous Mobile Robot navigation toward a specific block.

Return to intial position after mission (Simulation Demo)
Live

Return to intial position after mission (Simulation Demo)

Simulation of the robot's navigation path.

Arm Manipulation (Simulation)
Live

Arm Manipulation (Simulation)

Simulation of the robot's arm manipulation.

Emergency brake (Simulation)
Live

Emergency brake (Simulation)

Demonstration of the robot's safety features and protocols.

Final Evaluation
Live

Final Evaluation

Testing the integrated SLAM, path planning, and YOLOv8 object detection systems during an autonomous run.

# repositories

Get code

GitHub repositories for this project.

Autonomous Robot Repository

Access the complete source code on GitHub.

Quick Start
$ git clone https://github.com/prathapselvakumar/Autonomous-Mobile-Robot-LEO-Rover.git
$ cd Autonomous-Mobile-Robot-LEO-Rover
$ pip install -r requirements.txt
$ python3 src/main.py

Team

The dedicated team of engineers and innovators behind the Autonomous Robot project.

Prathap Selvakumar
Ruiyang
Joao Lopes
Jiaxin Tang
Sarath Kumar
Prathap Selvakumar

Computer Vision and Navigation

Joao Lopes

Designing , 3D printing the components and Hand-Eye Calibration

Sarath Kumar

Navigation and SLAM

Ruiyang

Navigation and spatial awareness

Jiaxin Tang

SLAM and spatial awareness