1 Introduction
-
RQ1 – What are the trade-offs between performance and energy consumption for computation offloading of ground ROS-based systems operating under WiFi networks? Which is answered after two more specific questions.
-
RQ1a – What is the impact of computation offloading on the performance of ground ROS-based systems operating under WiFi networks?
-
RQ1b – What is the impact of computation offloading on the energy consumption of ground ROS-based systems operating under WiFi networks?
-
-
RQ2 – How do specific parameter configurations influence the offloading design of ground ROS-based systems operating under WiFi networks? Which also relies on two more specific questions.
-
RQ2a – What is the impact of parameter configuration on the performance of ground ROS-based systems operating under WiFi network?
-
RQ2b – What is the impact of parameter configuration on the energy consumption of ground ROS-based systems operating under WiFi networks?
-
-
an empirical evaluation of the performance and energy trade-offs of computation offloading for ground ROS-based systems operating under WiFi networks;
-
directions on how to architect ROS-based systems with regards to offloading common compute-intensive tasks in the context of ground ROS-based systems operating under WiFi networks;
-
takeaways for future studies on offloading robotic tasks in the context of ground ROS-based systems operating under WiFi networks;
-
an open-source implementation of a robotic system configured via widely used ROS packages;
-
a complete replication package including both raw data and source code related to the conducted experiment (Dordevic et al. 2022).
2 Background
2.1 Robot Operating System
2.2 Offloadable Tasks
2.2.1 SLAM
2.2.2 Localization
2.2.3 Navigation
2.2.4 Object Recognition
3 Experiment Definition
3.1 Main Goal And Research Question
-
[RQ1a] What is the impact of computation offloading on the performance of ground ROS-based systems operating under WiFi networks?
-
[RQ1b] What is the impact of computation offloading on the energy consumption of ground ROS-based systems operating under WiFi networks?
3.2 Secondary Goal
-
[RQ2a] What is the impact of parameter configuration on the performance of ground ROS-based systems operating under WiFi networks?
-
[RQ2b] What is the impact of parameter configuration on the energy consumption of ground ROS-based systems operating under WiFi networks?
3.3 Metrics
Name | Unit of Measurement | Description |
---|---|---|
CPU Usage | percentage(%) | The average CPU usage during the entire mission execution. |
RAM utilization | megabytes(MB) | the average RAM utilization during the entire mission execution. The memory has the same. |
Number of Network Packets | count(#) | The total number of network packets exchanged between the robot and remote PC during the mission execution. |
Size of Network Packets | megabytes(MB) | The total size of network packets exchanged between the robot and remote PC during the mission execution. |
Feature Extraction Time | milliseconds(ms) | The average time needed for the features to be extracted from a received image frame. |
Object Detection Time | milliseconds(ms) | The average time needed for comparing the extracted features against images in the database to conclude if any of the objects in the database are recognized in a received image frame. |
Detection Result Delay | milliseconds(ms) | The average delay of transferring object detection outcome from the object recognition node to a node that logs the recognition result on the robot. |
Navigation Time | milliseconds(ms) | The average time it takes for a robot to navigate from its current location to a goal location. |
Mission Execution Time | milliseconds(ms) | The total duration of the mission. |
Power Consumption | milliWatts (mW) | The instantaneous power consumption sampled at 200Hz during the entire mission execution. The energy consumption (in Joules) is then calculated as the integral of power consumption (mW) over the mission execution time. |
3.3.1 Main Factors
Factor | Parameter | Conf. 1 | Conf. 2 | Conf. 3 |
---|---|---|---|---|
Object Recognition | image resolution | 640x480px | 640x480px | 1280x960px |
image frame rate | 20fps | 20fps | 60fps | |
SLAM | number of particles | – | 5 | 30 |
temporal updates | – | off | on | |
Navigation | velocity samples | 10x20 | 10x20 | 20x40 |
simulation time | 1.5s | 1.5s | 3s | |
map | known | unknown | unknown |
4 Experiment Setup
4.1 Robotic Mission And Laboratory Arena
navigation
(Marder-Eppstein et al. 2010), gmapping
15, and the find_object_2d
16 ROS packages. During its mission, Sherlock is able to map the environment (mapping), mainly by using its LIDAR sensor, estimate its position on the map (localization), trace a route, and navigate to various destinations (navigation), while recognizing objects during the execution of the whole mission (object recognition). To keep the experiment under control and reduce the number of variables, we choose to avoid dynamic elements, such as other objects crossing the robot’s way, and use pictures to mimic object recognition.4.1.1 Experiment Orchestration
4.2 Profilers
4.2.1 Resource Profiler
4.2.2 Power Profiler
4.2.3 Network Profiler
4.2.4 Time-Based Profiler
4.3 Experiment Orchestration Setup
4.4 Experiment Execution
4.4.1 First Round
4.4.2 Second Round
4.5 Data Analysis
4.5.1 First Round Analysis
4.5.2 Second Round Analysis
5 Hardware And Software Configuration
5.1 Hardware Components
-
1 sensor LDS-01 (HLS-LFCD2) capable of sensing 360 degrees, attached to the top part of the robot, as designed by ROBOTIS;
-
1 board OpenCR1.0 equipped with the energy-efficient 32-bit ARM Cortex-M7 processor with floating point unit, which works as the main controller of the robot;
-
1 Raspberry Pi 4 Model B SBC with 8GB of RAM running Ubuntu 18.04.5, with the ROS system;
-
1 Raspberry Pi Camera Module v2, with an 8mp camera module capable of taking 3280x2464 pixel static images.
-
1 Arduino Nano Every micro-controller board connected to the Raspberry Pi. It is used to control and program the current sensor attached to it.
-
1 Adafruit INA219 current sensor connected to the Arduino board that measures high side voltage and DC current draw.
-
1 laptop Lenovo Legion Y540 equipped with Intel Core I7-9750H processor, 16GB of RAM and runs Ubuntu 18.04.5, which works as the remote PC where the tasks are offloaded, but it is also used for experiment orchestration.
-
1 WiFi router Netgear R6220 used to connect the robot and the remote PC in a local, isolated network. Its speed goes up to 1.2Gbps and it has a 5GHz channel to which devices were connected during the experiment.
5.2 Software Design
-
The other potentially-expensive components in terms of computation either cannot be offloaded to the Cloud since they have a strong dependency to the hardware of the robot (e.g., the Turtlebot controller or the driver of the camera) or they are meaningful only when running in the Cloud (e.g., the robot diagnostic receiver, which is used for telemetry visualization).
5.2.1 SLAM (slam_gmapping node)
5.2.2 Navigation (move_base node)
5.2.3 Object Recognition (find_object_2d node)
5.2.4 Localisation (amcl and map_server nodes)
5.3 Additional Software Packages
5.4 Software Deployment
5.4.1 Ros System
6 Results Of The First Round Of Experiments (RQ1)
6.1 Mission Execution Time
6.2 Cpu Usage
6.3 Memory Utilization
6.4 Number Of Packets
6.5 Size Of Packets
6.6 Energy Consumption
6.7 Feature Extraction Time
6.8 Object Detection Time
6.9 Detection Result Delay
6.10 Navigation Time
7 Results Of The Second Round Of Experiments (RQ2)
7.1 Image Resolution
raspicam_node
sends compressed images to the find_object_2d
node for both image resolutions. Indeed, the message definition of the ROS topic we use for such communication is sensor_msgs/CompressedImage38; in our system, the compression is based on the JPEG algorithm and it is done consistently with the same degree of compression, independently of the resolution of the produced images. We also manually analyzed the source code of all the ROS nodes involved in the object recognition task and confirm that image compression is not happening in other ROS nodes or in message exchanges within our system. Because the size of images compressed using the JPEG algorithm is not necessarily linear with respect to the size of the input image, we speculate that this indeed might be a possible explanation for the fact that we do not observe the size of network packets doubling when using 1280x960 images. Nevertheless, despite the technical limitation of this experiment with respect to network-related metrics, in the remainder of this section the reader will see that using images with higher resolution lead to higher resource utilization and energy consumption.