Abstract:Cloud Robotics is helping to create a new generation of robots that leverage the nearly unlimited resources of large data centers (i.e., the cloud), overcoming the limitations imposed by on-board resources. Different processing power, capabilities, resource sizes, energy consumption, and so forth, make scheduling and task allocation critical components. The basic idea of task allocation and scheduling is to optimize performance by minimizing completion time, energy consumption, delays between two consecutive tasks, along with others, and maximizing resource utilization, number of completed tasks in a given time interval, and suchlike. In the past, several works have addressed various aspects of task allocation and scheduling. In this paper, we provide a comprehensive overview of task allocation and scheduling strategies and related metrics suitable for robotic network cloud systems. We discuss the issues related to allocation and scheduling methods and the limitations that need to be overcome. The literature review is organized according to three different viewpoints: Architectures and Applications, Methods and Parameters. In addition, the limitations of each method are highlighted for future research.
Abstract:If we give a robot the task of moving an object from its current position to another location in an unknown environment, the robot must explore the map, identify all types of obstacles, and then determine the best route to complete the task. We proposed a mathematical model to find an optimal path planning that avoids collisions with all static and moving obstacles and has the minimum completion time and the minimum distance traveled. In this model, the bounding box around obstacles and robots is not considered, so the robot can move very close to the obstacles without colliding with them. We considered two types of obstacles: deterministic, which include all static obstacles such as walls that do not move and all moving obstacles whose movements have a fixed pattern, and non-deterministic, which include all obstacles whose movements can occur in any direction with some probability distribution at any time. We also consider the acceleration and deceleration of the robot to improve collision avoidance.
Abstract:Cloud robotics enables robots to benefit from the massive storage and computational power of the cloud, overcoming the capacity limitations of cooperative robots. When the decision is made to use a robotic network cloud system to execute a task or a set of tasks, the main goal will be to use the cheapest, in terms of smallest memory, and fastest, in terms of shortest execution time, robots. Previous studies have mainly focused on minimizing the cost of the robots in retrieving resources by knowing the resource allocation in advance. When a task arrives in the system, it can be assigned to any processing unit, one of the robots, an eventual fog node or the cloud, and the question is where a task should be processed to optimize performance. Here, we develop a method for a robotic network cloud system to determine where each algorithm should be allocated for the system to achieve optimal performance, regardless of which robot initiates the request. We can find the minimum required memory for the robots and the optimal way to allocate the algorithms with the shortest time to complete each task. We show how our proposed method works, and we experimentally compare its performance with a state-of-the-art method, using real-world data, showing the improvements that can be obtained.
Abstract:Neural Architecture Search (NAS) has shown excellent results in designing architectures for computer vision problems. NAS alleviates the need for human-defined settings by automating architecture design and engineering. However, NAS methods tend to be slow, as they require large amounts of GPU computation. This bottleneck is mainly due to the performance estimation strategy, which requires the evaluation of the generated architectures, mainly by training them, to update the sampler method. In this paper, we propose EPE-NAS, an efficient performance estimation strategy, that mitigates the problem of evaluating networks, by scoring untrained networks and creating a correlation with their trained performance. We perform this process by looking at intra and inter-class correlations of an untrained network. We show that EPE-NAS can produce a robust correlation and that by incorporating it into a simple random sampling strategy, we are able to search for competitive networks, without requiring any training, in a matter of seconds using a single GPU. Moreover, EPE-NAS is agnostic to the search method, since it focuses on the evaluation of untrained networks, making it easy to integrate into almost any NAS method.
Abstract:A scheduling method in a robotic network cloud system with minimal makespan is beneficiary in the sense that the system can complete all of its assigned tasks in the fastest way. Robotic network cloud systems can be translated into graphs, with nodes representing hardware with independent computational processing power and edges as data transmissions between nodes. Tasks time windows constraints are a natural way of ordering the tasks. The makespan is the maximum time duration from the time that a node starts to perform its first scheduled task to the time that all the nodes complete their final scheduled tasks. The load balancing scheduling ensures that the time windows from the time that the first node completes its final scheduled tasks to the time that all the other nodes complete their final scheduled tasks are as narrow as possible. We propose a new load balancing algorithm for task scheduling such that the makespan is minimal. We prove the correctness of the proposed algorithm and present simulations illustrating the obtained results.
Abstract:Every robotic network cloud system can be seen as a graph with nodes as hardware with independent computational processing powers and edges as data transmissions between nodes. When assigning a task to a node we may change several values corresponding to the node such as distance to other nodes, the time to complete all of its tasks, the energy level of the node, energy consumed while performing all of its tasks, geometrical position, communication with other nodes, and so on. These values can be seen as fingerprints for the current state of the node which can be evaluated as a subspace of a hyperspace. We proposed a theoretical model describing how assigning tasks to a node will change the subspace of the hyperspace, and from that, we show how to obtain the optimal task allocation. We described the communication instability between nodes and the capability of nodes as subspaces of a hyperspace. We translate task scheduling to nodes as finding the maximum volume of the hyperspace.
Abstract:In order for a robot to perform a task, several algorithms need to be executed, sometimes, simultaneously. Algorithms can be run either on the robot itself or, upon request, be performed on cloud infrastructure. The term cloud infrastructure is used to describe hardware, storage, abstracted resources, and network resources related to cloud computing. Depending on the decisions on where to execute the algorithms, the overall execution time and necessary memory space for the robot will change accordingly. Also, according to the set of tasks that the robot needs to perform, some constraints on algorithm allocation must be considered. The price of a robot depends, among other things, on its memory capacity and computational power. We answer the question of how to keep a given performance and use a cheaper robot (lower resources) by assigning computational tasks to the cloud infrastructure, depending on memory, computational power, and communication constraints. Also, for a fixed robot, our model provides a way to have optimal overall performance. We provide a general model for the optimal decision of algorithm allocation under certain constraints. We exemplify the model with simulation results. The main advantage of our model is that it provides an optimal task allocation simultaneously for the two parameters of memory and time.