-
Notifications
You must be signed in to change notification settings - Fork 1
/
dot-bot.html
162 lines (148 loc) · 7.98 KB
/
dot-bot.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!DOCTYPE HTML>
<!--
Editorial by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Mutil Agent Pickup and Delivery System</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
</head>
<body class="is-preload">
<!-- Wrapper -->
<div id="wrapper">
<!-- Main -->
<div id="main">
<div class="inner">
<!-- Header -->
<header id="header">
<a href="index.html" class="logo"><strong>Mutil Agent Pickup and Delivery System</strong></a>
<ul class="icons">
<li><a href="https://twitter.com/MaheshekaHarsh" class="icon brands fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="https://www.linkedin.com/in/harsh-mahesheka-ab0725212/" class="icon brands fa-linkedin"><span class="label">Linkedin</span></a></li>
<li><a href="https://github.com/harshmahesheka" class="icon brands fa-github"><span class="label">Github</span></a></li>
</ul>
</header>
<div style="font-size: large;" class="article-container">
<div class="article-style">
<br><br>
<p>This is fully ROS integrated robot, which can be used in various purposes our main use case was to test out
multiagent algorithms. We used it to take part in the national level competition, FlipKart Grid 3.0 Robotics
challenge 2021.</p>
<p>We worked on building the platform and the integrating ROS with the following robot. The localization was
done using a Apriltag_ros and a array of cameras. Also worked on implementing autonomously navigating in the
environment and computing the optimal path while considering other robots in the arena.</p>
<p>The complete package including the controller and the planner can be found at <a
href="https://github.com/Robotics-Club-IIT-BHU/Dot-Bot" target="_blank" rel="noopener">Dot-Bot</a>.</p>
<h2 style="font-weight: bold !important;" id="robot-control">Robot control</h2>
<p>The robots control architecture is a state-of-the-art implementation using a microprocessor and a
microcontroller along with sensor fusion for position estimation with external cameras for deteciton of
apriltags that denote the robot.</p>
<p>The exact control architecture is briefly given in the below image which later is elaborated in 3 bulletin
points</p>
<p align="center"><img src="images/dotbot_control.png" style="height:600px; width:600px;" alt=""></p>
<p align="center"><i> fig 2: Control Mechanism</i></p>
<ul>
<li>Communication: Communication between the robot and the remote PC is done through <a
href="http://wiki.ros.org/ROS/Tutorials/MultipleMachines" target="_blank" rel="noopener">Networking of
multiple machines</a>. The communication between the microprocessor and the Microcontroller is done
through UART at a baudrate of 2000000.</li>
<li>Pose Estimation: Pose estimation is done through using Encoder and Imu fusion for odometry(i.e., odom to
base frame). Then we use and external camera for ground truth (i.e., map to base frame).</li>
<li>Controller: We have used a simple velocity based 3 wheel omni drive to control the robot. The omni drive
node works at 100 hz on the raspberrypi and the micro controller controls individual motors to trace the
given velocity this made it very easy to transfer from the simulation to real world.</li>
</ul>
<p>The whole implementation of the control architecture can be found at <a
href="https://github.com/Robotics-Club-IIT-BHU/Swarm-Bot-Hardware" target="_blank"
rel="noopener">Swarm-bot-hardware</a>.</p>
<h2 style="font-weight: bold !important;" id="simulation">Simulation</h2>
<p>We have setup the whole simulation for these robots as we have modelled the real robot. We have also added
the 2DOF droppers that can be seen on top of each robot.</p>
<p>We have setup Rviz to visualize the robots both in simulation and hardware.
<p style="text-align:center;">
<img style="width:500px;height:400px;" src="images/gazebo.png" alt="Dot-Bot" class="center">
</p>
</p>
<p align="center">
<i>fig 3: An demo of the robot in gazebo</i>
</p>
<h2 style="font-weight: bold !important;" id="flipkart-grid-challenge">Flipkart grid Challenge</h2>
<p>The main task was to drop packages using the most optimal path, We had used <a
href="https://github.com/PathPlanning/Continuous-CBS" target="_blank" rel="noopener">CBS</a> with minor
changes to best suite our problem statement. We also used <a href="https://github.com/nobleo/tracking_pid"
target="_blank" rel="noopener">Tracking PID</a> for tracing these trajectories and making it more general
and robust to be used with other algorithms and systems.</p>
<p>
<p style="text-align:center;"><img style="width:400px;height:400px;" src="images/arena.jpg" alt=""></p>
</p>
<p align="center">
<i>fig 4:Example of the arena in which it drops the package</i>
</p>
<p>The robot is now a developmental platform for other multiagent research at Indian Institute of Technology,
Varanasi.
The robot is now about to have minor upgrades for it be used in a more real world use case by addition of
lidars and better on board computation.</p>
<p>A preliminary result of the path planning algorithm with package dropping can be seen below.</p>
<p align="center">
<iframe src="https://drive.google.com/file/d/1NhuapFy1Y12LVFoKoIaRP3BYm-ReoEHW/preview" width="500"
height="500"></iframe>
</p>
<p align="center">
<i>fig 5: Short Demonstration Of Project</i>
</p>
<br><br>
</div>
</div>
</div>
</div>
<!-- Sidebar -->
<div id="sidebar">
<div class="inner">
<!--
Search
<section id="search" class="alt">
<form method="post" action="#">
<input type="text" name="query" id="query" placeholder="Search" />
</form>
</section> -->
<!-- Menu -->
<nav id="menu">
<header class="major">
<h2>Menu</h2>
</header>
<ul>
<li><a href="index.html">Homepage</a></li>
<li><a href="generic.html">Experiences</a></li>
<li><a href="elements.html">Projects</a></li>
</ul>
</nav>
<!-- Section -->
<section>
<header class="major">
<h2>Contact Me</h2>
</header>
<!-- <p>Sed varius enim lorem ullamcorper dolore aliquam aenean ornare velit lacus, ac varius enim lorem ullamcorper dolore. Proin sed aliquam facilisis ante interdum. Sed nulla amet lorem feugiat tempus aliquam.</p> -->
<ul class="contact">
<li class="icon solid fa-envelope">[email protected]</li>
<li class="icon solid fa-phone">+91 9470292105</li>
</ul>
</section>
<!-- Footer -->
<footer id="footer">
<p class="copyright">© Harsh Mahesheka. All rights reserved.</p>
</footer>
</div>
</div>
</div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>