David Antaki
  • Engineering
  • Work
  • Adventures
  • About
  • Contact
  • Essays
Autonomous Marsupial Ground Based Docking & Battery Swapping Robot
🤖

Autonomous Marsupial Ground Based Docking & Battery Swapping Robot

Year
2023
Technologies
C++I2CSTMUARTPythonLinuxROS1ROS2GRBLJetson NanoPIOSTLinkJLinkSTM32Duino
Category
EmbeddedAIAutomation

All Software + Firmware + Electrical Found Here

swarm_crawler

davidantaki â‹… 3 years ago

Final System Media

item
IMG_9784 (1)IMG_9784 (1)
IMG_9792 (1)IMG_9792 (1)
IMG_9663 (1)IMG_9663 (1)
IMG_5343IMG_5343
IMG_9741IMG_9741
tmp_1b73f9eb-b7f1-4463-9d21-2b1ad6789838tmp_1b73f9eb-b7f1-4463-9d21-2b1ad6789838
IMG_5075
IMG_5075
IMG_5075
IMG_5075
IMG_2186
IMG_2186
IMG_2247IMG_2247
IMG_2252IMG_2252
IMG_2255IMG_2255
IMG_2232IMG_2232
item
item

Overview

For my Capstone class, we developed a ground based autonomous Marsupial robot for extended exploration tasks. When a MiniBot is low on power, it autonomously navigates to a docking port on a larger “hubbot” using ROS2 and NAV2 stacks. The hubbot replaces the minibot’s battery in under 90seconds.

The minibot has a GPS, 9-axis IMU, and motor encoders for more accurate pose/state estimation in ROS2. Extended kalman filters are being used to fuse these sensors. OpenCV is being used for detecting Aruco tags, their location and orientation. NAV2’s path planning outputs Twist messages on a cmd_vel topic that is sent to the STM32 MCU over ROSSerial where it is converted from a unicycle to a differential drive PWM commands to the motor controller.

We have an Arduino Nano on the hubbot feeding battery module continuity and voltage data to the Jetson Nano, a GRBL CNC driver controlling the 3-axes of the hubbot, and our Nucleo+custom PCB providing GPS and IMU data of the HubBot. There is a main ROS2 node on the HubBot Jetson Nano coordinating the battery swapping+charging and talking to the MiniBot that is currently docking.

I wrote all firmware for the minibots in STM32Cube+STM32Duino, i.e. I use STM32Duino as much as I can as it’s a simple abstraction over the HAL drivers and makes life easier. I use STM32CubeMX for pin assignments and I use HAL drivers if I need to, such as reconfiguring clocks to use the internal LSI and HSI RC clocks instead of the external LSE and HSE clocks (if I need more I/O, for example). In the chain of command on the MiniBot, the firmware is from where the NAV2 stack outputs Twist messages down to the hardware, and getting sensor data back to the NAV2 stack. I wrote all the software/firmware for the hubbot.

🥇
Won 1st place overall for MechE capstone, 1st place in the robotics category for MechE capstone, and 3rd place for EECE capstone.
đź’ˇ
Abstract Our project, B.O.O.S.T: Battery-Oriented On-site Swapping Technology, proposes a novel solution to recharge a multi-robot fleet on unknown terrain. A "hub" robot recharges a cache of batteries while "minibots" explore the surrounding environment. When minibots' batteries run low, they return to the hub and hotswap their batteries. B.O.O.S.T's machine vision and mechanical alignment mechanism allow for efficient battery exchange. Our system can operate continuously in remote, uncharted areas where power supplies are not traditionally available. The results indicate that B.O.O.S.T is an efficient and effective solution to maintain a multi-robot fleet's optimal performance in challenging environments.

The Making Of

MiniBot V1 Controlled through ROS2, ROS1, ROSserial chain.
V2 MinitBot manual teleop driving and test docking through ROS2 and ROS1.
V2 Minibot.
V2 Minibot.
V2 HubBot with Docked MiniBot and Battery Swapping Bay.
V2 HubBot with Docked MiniBot and Battery Swapping Bay.
V2 HubBot with unDocked MiniBot and Battery Swapping Bay.
V2 HubBot with unDocked MiniBot and Battery Swapping Bay.
MiniBot hardware block diagram
MiniBot hardware block diagram
image
MiniBot Hardware+ROS architecture
MiniBot Hardware+ROS architecture
MiniBot V1
MiniBot V1
MiniBot V5
MiniBot V5

The Making Of Media

Page 2Page 2
Page 3Page 3
item
item
item

EECE Team Final Presentation

Capstone Final Presentation.pptx350662.8KB

MechE Team Final Presentation

MechE Capstone Day Presentation V3.pptx800006.8KB

Copyright © 2022 David Antaki. All rights reserved.

GitHubLinkedInYouTubeYouTubeX