Keywords

1 Introduction

Building a robot is an opportunity for students to learn several aspects of technology, from the design of functional hardware to the development of sophisticated software. Simultaneous mapping, vision analysis and machine learning are necessary features for several types of robots, and have countless applications. Students can currently build robots with these features using Lego kits or Robotis TurtleBot 3. While they are both powerful tools, they also have their limitations. When it comes to building hardware, Lego kits provide flexibility, but they mostly rely on block programming, which can be limiting when developing more complex software. TurtleBots is flexible for both hardware and software, but requires expensive upgrading for special applications, such as object recognition.

Erwhi Hedgehog is one of the smallest mobile robots currently available. It allows simultaneous mapping, vision analysis and machine learning, and is completely open source and open hardware [1], so anyone can build or customize his/her own robot (Fig. 1). The robot can behave like a small, curious animal, exploring its surroundings, and can be used to test navigation, mapping, and localization algorithms. The aim of the entire project is to accelerate and simplify the development of robotics for researchers, educators, students and professionals, by providing a platform for prototyping new robotics hardware and software, and learning by doing.

Fig. 1
figure 1

Front and rear view of Erwhi Hedgehog robot

2 Description of the Robot

2.1 Electronics

The main core of Erwhi Hedgehog’s electronics (Fig. 2) is an UP Squared Atom x7-E3950 with 4 GB of DDR4 RAM and 64 GB of EMMC non-volatile memory. Vision is provided by an Intel® RealSense D435 depth camera. Machine learning runs on an AI Core X, Movidius™ Myriad™ X VPU on a PCIe board. Hard real-time controls are implemented on a custom carrier board called Sengi, and based on an STM32F103C8T6 micro controller. The main board is connected to Sengi via USB1.1. The micro controller is connected to a power motor driver and motor encoders. The carrier board includes an absolute Inertial Motion Unit BNO055 that is connected to the main core via a USB-serial adapter. Power is supplied by two 18,650 Li-Ion cells in series, with about 8.4 V at maximum charge. Power flows through a DC/DC step down converter which handles an output of 5.1 V and 8 A for a continuous load. The robot communicates over WiFi at 2.4/5 GHz, and Bluetooth.

Fig. 2
figure 2

Simplified diagram of the electronics of Erwhi Hedgehog

2.2 Mechanical Parts

Mechanical parts are designed to be 3D printed using classical methodologies, such as the commonly used fused filament fabrication.

Erwhi Hedgehog is actuated by two DC gearmotors, with the robot moving on two casters, a ball caster at the front and an omniwheel at the rear.

2.3 Software

Erwhi Hedgehog runs on Ubuntu 16.04 LTS and ROS [2] Kinetic Kame (Fig. 3). The robot’s mathematical model is implemented via the standard ROS control package [3], making the code very easy to adapt to any robot, simply by adjusting a few parameters. The joints are controlled by Sengi firmware, using the Arduino language and STM32duino libraries [4]. Its movements are based on the standard ROS navigation stack [5] and a timed-elastic-band (TEB) planner [6]. Simultaneous localization and mapping (SLAM) works on RTAB-Map [7] and robot localization is provided by the unscented Kalman filter (UKF) [8], which combines data from the visual odometry, the wheel odometry and the IMU. Erwhi Hedgehog is also implemented in Gazebo Simulator, which means that the robot can be simulated in different environments and conditions. The software is fully compatible with AWS RoboMaker. Vision tasks are implemented through the Intel OpenVINO framework.

Fig. 3
figure 3

Simplified diagram of the ROS architecture used in Erwhi Hedgehog

3 Learning and Prototyping by Doing

3.1 Erwhi Hedgehog as a Teaching Tool

As a very recent project, Erwhi Hedgehog has not been used in schools yet. However, its small size has made it very popular at mass events, such as Maker Faires, where it facilitates the display of UGV (unmanned ground vehicle) technologies and functionalities to a wide audience, including families with young children. Erwhi Hedgehog has also been tested and used in ROS and advanced mobile robotics workshops as a benchmark platform for studying differences in various planners and SLAM algorithms. Hands-on testing of different planners and SLAM algorithms have proved to be an effective way of learning their distinctive features and weaknesses, such as their computational complexity. It also provides an opportunity for workshop attendees, mainly university students and freelancers, to use these platforms.

3.2 Learning by Modifying Hardware

Users can also add to or edit parts of Erwhi Hedgehog’s hardware through the different sensors and actuators. For example, the robot can easily be connected to an Arduino board to make it usable with all Arduino-compatible sensors and actuators. This makes way for infinite application possibilities.

3.3 Learning New Technologies

The robot helps to test vision algorithms based on deep learning, such as object recognition. These algorithms can be tested directly, which makes it easier to understand how they work and how they can be used in robotics. Furthermore, AWS RoboMaker facilitates the creation and simulation of custom and complex software in the cloud, which eliminates the need for powerful local computers. In addition, it can also be used to deploy custom applications to Erwhi Hedgehog over the Internet of Things (IoT), making it is possible to work on a remote physical robot.

4 Conclusions

Erwhi Hedgehog is a good platform for gaining hands-on knowledge and experience of mobile robotics from the hardware to the software. It also represents the current status of mobile robotics, based on the latest industrial technologies. The platform should not be considered merely a standalone robot, but rather a reference design that students and educators can use to advance their projects, e.g., by adding computer vision to an existing project using only Erwhi Hedgehog software on different hardware.

The current focus of development in the project is updating and simplifying the robot.