ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

[TB3] The Delivery Arcade Project (Open Source) - Part 3

Delievery Arcade Project - Part 3

This article is sponsered by ROBOTIS

Hello, we are Guerilla-Coders.
Following the last article, this is a brief posting of our development process.

A more detailed development history has been disclosed as an open source at our team’s GitHub address below, so please look forward to many stars and forks!

Delivery Arcade block diagram

The picture above is a schematic diagram of the communication system and composition of Delivery Arcade.

[Situation] : User sees obstacles on the path on the AR glass display and manipulates the joystick button to go back.

Agent (Raspberry Pi 4A) The video taken by the camera is transmitted to the server, and basic robot information such as battery percentage is transmitted as well. In this case, communication (info, etc.) other than the video uses an ROS system. The rosmaster is running on the server.

Server(NaverCloud Server): Video data received from the agent is relayed to the App.

App (Smartphone): Display image information received from the server on the app.

Goggle(RaonTech) : Importing an image of a smartphone screen to an AR glass display.

User : Manipulates the app’s joystick to go backward.

App : The user’s operation is saved as a JSON file and transmitted back to the server.

Server : Convert the commands received from the App to suit the rosmsg format. Subsequently, it is transmitted to the agent using topic communication.

Agent : The agent receives an operation command (direction, degree of speed) from cmd_vel and moves in the corresponding direction.

All server addresses are grouped together through OpenVPN.

In addition, various sensor data can be retrieved, and manipulation commands can be issued.

Sensor Data

  • Battery_state : currently remaining battery

  • Scan : Detection data searched through LaserScan

  • Imu : The covariance data of IMU (3dof geomagnetic sensor + 3dof acceleration sensor + 3dof gyro sensor) sensor values.

  • Magnetic_field : Detection data searched with a magnetic sensor

Manipulation commands

  • cmd_vel : motion command. The direction and degree can be adjusted.

  • Sound Effect: It can be remotely controlled to make various sounds such as delivery completion, thank you, warning sound, pigeon chasing, etc.

  • lidAction: The lid of the container containing the contents can be opened.

Delivery_Arcade_Interaction (VIDEO)


The hardware basically used ROBOTIS’ Turtlebot3-Waffle Pi.

However, the following elements were added to add more functions.

  • Automatic opening/closing container

  • LIDAR Tower

  • Speaker

  • Bodyshell

  1. Automatic opening/closing container

Delivery Arcade Agent is basically a delivery robot, so you need space to load items. Therefore, walls and lids were made of laser-cut acrylic plates and 3D printed structures. The lid was automatically opened and closed by remote operation, and for this purpose, a separate stepper motor support and drive shaft system were designed.

Delivery_Arcade_LidMechanism (VIDEO)

  1. LIDAR Tower

However, while trying to install mentioned structure, there was a problem of LIDAR being obstructed by lid and container. For this reason, a separate LIDAR Tower was designed to raise the sensor to prevent detecting its own structure.

  1. Speaker

A speaker has been attached to the LIDAR Tower to make various sound effects. The speaker is receiving USB power and audio signals from Raspberry Pi.

  1. Bodyshell

Lastly, as the robot will be maneuvering in the outdoor, bodyshell was designed which protects itself from external damage just like commercial vehicles. Most of the components were fabricated using 3D printer. To give it the looks of fast delivery and futuristic impression, we used main color of Red Bull F1 race team. What do you think?

Delivery_Arcade_Turntable (VIDEO)

The next post is already the last one!

Thank you so much to those who read it with interest.

The next post will be about the completion of the project!

p.s. following is our github address