CS637 :
Embedded and Cyber Physical Systems
Mentor: Prof. Indranil Saha
Members: Pranjal Gautam 210742 Harshit Patel 210424 � Aryan Kumar 210201 Priyanshu Gangwar 210782
Shri Krishna Sahu 211011 Kartik Sharma 210495 �
Introduction
Autonomous Mobile Robots (AMRs) have seen significant advances in recent years, and they are now used in a wide range of applications across various industries. These robots can navigate environments without human intervention and are equipped with sensors, cameras, and AI algorithms to make decisions in real-time.�
Our build consists of a 4-wheel driver robot for autonomous waypoint navigation using ROS and sensor fusion which can be used in various industries from enhancing productivity and reducing lowering labor cost in warehouses and hospitals to logistics delivery and transportation of raw materials between production lines and stations in manufacturing industries.
Mechanical
01
Swedish wheel is used due to its 360 degree movement. They have roller at 90 degree to allow movement to all direction without swiveling.
Wheel
Wheels placed at the corner with two adjacent wheel at right angle. This maximize stability and provides space to place the power distribution board�
Wheel placement
It is made up of SS rod and aluminium plates having dimension 49x49x70. Dedicated laptop slot is made to having computing over it.
Chassis Design
Kinematic modelling
Electrical
02
Flowchart
PCB
Sensors
1-Rplidar A1M8- It used for mapping the surrounding. The generated point cloud is used for localizing the robot in indoor with other sensors��2-Sparkfun Gps- It is used to globally locate the robot in outdoor environment�
3-MPU9050 - It has accelerometer, magnetometer, gyroscpope to measure heading, orientation, and acceleration of robot in body frame��4-Zed camera- It is the stereo camera used for object detection using YOLOV10
5-OE775 encoder- It used to give number of pulse which used to measure rotation of motor shaft
Sensors
Lidar
GPS
IMU
Zed Camera
Encoder
Electrical Components
Electrical Components
1.
2.
3.
4.
Code Snippets
Softwares
and
Libraries
03
Tf2
Tf2 is the second generation of the transform library, which lets the user keep track of multiple coordinate frames over time. tf2 maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate frames at any desired point in time.
Robot State Publisher
This package allows you to publish the state of a robot to tf2. Once the state gets published, it is available to all components in the system that also use tf2. The package takes the joint angles of the robot as input and publishes the 3D poses of the robot links, using a kinematic tree model of the robot.
Gazebo Simulation (Video)
Simulation RQT Graph
Robot Localisation
The robot localization package is essential for helping mobile robots understand their position and orientation within a given environment. Localization is crucial for many robotics applications, especially those involving navigation and path planning. This package provides tools and algorithms for estimating a robot’s position over time using sensor data.
Cartographer 2D Slam
Cartographer is a high-performance SLAM (Simultaneous Localization and Mapping) algorithm developed by Google, widely used in ROS for creating 2D and 3D maps in real-time. Cartographer uses sensor data from LIDAR (Light Detection and Ranging) or other range sensors to generate detailed maps while also providing localization within the environment.
Cartographer (video)
Movebase
MoveBase is a core component in the ROS navigation stack that allows a robot to autonomously navigate to a goal position while avoiding obstacles. It’s widely used for mobile robots operating in both static and dynamic environments, such as warehouses, homes, and offices. MoveBase provides a unified interface for setting a navigation goal, which it then uses to generate a safe path while dynamically adjusting for obstacles.
Object Detection
We used the YOLO (You Only Look Once) v10 model for object detection that detects objects in images by dividing the image into a grid and predicting bounding boxes and classes for each grid cell. Unlike older methods, it processes the entire image in a single pass, making it suitable for real-time applications like autonomous driving, surveillance, and robotics.
Original Input Image
YOLO Algorithm Result
YOLO Object Detection
YOLO determines the attributes of these bounding boxes using a single regression module in the following format, where Y is the final vector representation for each bounding box.
Y = [pc, bx, by, bh, bw, c1, c2] �where,�pc corresponds to the probability score of the grid containing an object,�bx, by are the x and y coordinates of the center of the bounding box with respect to the enveloping grid cell
bh, bw correspond to the height and the width of the bounding box with respect to the enveloping grid cell
c1 and c2 correspond to the classes. We can have as many classes as per our case requirements
Why YOLOv10?
Object Detection (video)
Model Predictive Control
MATLAB Simulation (video)
Robot’s Trajectory
Path traced by the bot
Milestones given as input
Robot’s state over Path
DEMONSTRATION
Video
THANK YOU