The document describes the A.L.F.R.E.D. project which aims to design and develop a robotic platform to autonomously fetch items in a set environment. The plan is for the robot to communicate with sensors, localize itself within the environment, detect items, avoid obstacles, and retrieve items using a drone or arm. Challenges faced include learning ROS, integrating different systems, SLAM instability, and hardware issues. Future work includes reintegrating the drone, improving item detection, enhancing navigation, and developing a fully functional household robot.
1. The A.L.F.R.E.D Project
Peri Akiva, Subramhanya Shankar, Jonatan Yanovsky, Hansi Liu, Charles An,
Aneesh Abhyankar, Sava Radovic, Felix Delaunay, Milos Seskar, Michael Sanzari
Special Acknowledgement: Ivan Seskar, Jakub Kolodziejski
ResultsSystem ModelOverview
Objective: Design and develop a robotic platform to autonomously
fetch items in a set environment.
Plan:
- Communicate between the robot and sensors
- Localize within the environment
- Detect items
- Avoid obstacles
- Retrieve items: Using either a drone or an arm
Challenges
Throughout Alfred’s development, we came across
various challenges:
- Learning ROS (Robot Operating System)
- Integration of different systems
- Learning Kalman Filter
- RPLIDAR instability
- Conflict between mapping and localizing components
- Pioneer plaƞorm catching fire
- Inability of Solo to find GPS
- Broken propellors
- Broken Solo motors
FINAL FORM
OBJECT DETECTION
NAVIGATION STACK
ARIAOPENCV ROSSERIAL
FULL OFFICE MAP
SOLO AUTONOMOUSLY LANDING
Future Work
- Re-integrate Solo into the platform
- Improve detection of items
- Enhance navigation and map
- Fully functional household aid robot
SLAM + AMCL
MAPPING AND NAVIGATION:
ROS (Robot Operating System) used as a communication platform between
various systems and devices.
GOPRO SLAM SONAR
Communication Diagram
-GMapping: Used to map an unknown environment using an RPLIDAR.
-SLAM (Simultaneous Localization and Mapping): Uses RPLIDAR data to
match against a pre-set map in order localize its current position and
orientation within the environment.
-AMCL (Adaptive Monte Carlo Localization): An algorithm used for
instantaneous localization and navigation.
-OPENCV (Open Source Computer Vision): A python library allowing feature
extraction in images and videos in real time; used to locate items and the
landing target atop the robot.
- SONAR: The built in sensors used for obstacle detection and avoidance.
-ARIA (MobileRobots' Advanced Robot Interface for Applications): A C++
library that allows dynamic control over a robot's velocity, heading, relative
heading, and other motion parameters either through simple low-level
commands or through its high-level actions infrastructure.
-ROSSERIAL: Provides ROS interface to serial devices allowing communication
using high level commands; allows to effectively use Arduino chips for various
navigation purposes and Kalman Filtering.
GRIPPER
github.com/PersonalButler
Personalbutler.tk