ARC-OPT
Adaptive Robot Control using Optimization
Contact person:
ARC-OPT is a collection of tools for optimization-based control of robotic systems. It facilitates intuitive specification, execution and optimization of reactive robot tasks that involve multiple simultaneously running subtasks. ARC-OPT includes different robot models and solvers that allow implementation of hierarchical, weighted or hybrid control schemes on complex robots with many degrees of freedom, such as humanoids.
Website: | https://github.com/ARC-OPT |
Keywords: | Optimization-based Control, Whole-Body Control, Humanoid Robotics |
Status: | active |
Operating system: | Linux |
Programming languages: | C++, Python |
Licence: | BSD-3-Clause |
Ownership: | This software was developed by the DFKI as well as by the Robotics Research Group and the University of Bremen and is being further developed under this responsibility. For questions and suggestions, please refer to the contact persons. |
Software description
Whole-Body Control (WBC) is an optimization-based approach to control robots with redundant degrees of freedom, such as humanoids or mobile manipulators. WBC enables the simultaneous execution of multiple tasks by defining them as constraints or within the cost function of an online optimization problem. In each control cycle, the optimization problem is updated, solved, and its solution is mapped as a control signal to the robot's actuators. Instead of computing the inverse kinematics or dynamics of each task individually, WBC determines the optimal solution that takes into account all tasks, as well as physical constraints such as contact forces or joint limits. In this way, complex robot tasks can be designed from simpler subtasks and the full degrees of freedom of the robot can be optimally used.
ARC-OPT is a modular construction kit for different optimization-based control methods. It provides different robot models, solvers and complete whole-body controllers, which can be combined arbitrarily using standardized interfaces. In this way, a variety of optimization-based feedback controllers can be configured for multi-task problems with low effort.
One problem with WBC and other optimization-based approaches to robot control is that expert knowledge is required to model the optimization problem in a way that achieves the desired robot behavior. Thus, it is necessary to analyze the task, derive appropriate task models, define constraints, and assign appropriate priorities to the tasks. This process, usually performed manually, is very time-consuming and error-prone. Moreover, the solutions developed are usually limited to specific situations. If the task or the robot's environment changes, the manually developed solutions usually fail and the task description has to be adapted.
For this reason, ARC-OPT provides, via a Python interface, various approaches to automatically derive the optimization problem based on data and adapt it to new situations using machine learning techniques. The data can be obtained experimentally from user demonstrations, for example. In this way, WBC problems can be intuitively programmed, adapted and optimized. Existing WBC approaches become more usable, more general and more adaptive when used in dynamic environments.
ARC-OPT is integrated with the robotic frameworks Rock and ROS. It is connected with different simulation engines like RaiSim, MARS and Gazebo for evaluation purpose.
ARC-OPT is a modular construction kit for different optimization-based control methods. It provides different robot models, solvers and complete whole-body controllers, which can be combined arbitrarily using standardized interfaces. In this way, a variety of optimization-based feedback controllers can be configured for multi-task problems with low effort.
One problem with WBC and other optimization-based approaches to robot control is that expert knowledge is required to model the optimization problem in a way that achieves the desired robot behavior. Thus, it is necessary to analyze the task, derive appropriate task models, define constraints, and assign appropriate priorities to the tasks. This process, usually performed manually, is very time-consuming and error-prone. Moreover, the solutions developed are usually limited to specific situations. If the task or the robot's environment changes, the manually developed solutions usually fail and the task description has to be adapted.
For this reason, ARC-OPT provides, via a Python interface, various approaches to automatically derive the optimization problem based on data and adapt it to new situations using machine learning techniques. The data can be obtained experimentally from user demonstrations, for example. In this way, WBC problems can be intuitively programmed, adapted and optimized. Existing WBC approaches become more usable, more general and more adaptive when used in dynamic environments.
ARC-OPT is integrated with the robotic frameworks Rock and ROS. It is connected with different simulation engines like RaiSim, MARS and Gazebo for evaluation purpose.
Videos
M-RoCK+VeryHuman: Whole-Body Control of Series-Parallel Hybrid Robots
By playing the video, you accept YouTube's privacy policy.
The Video illustrates the results of the paper Dennis Mronga, Shivesh Kumar, Frank Kirchner: "Whole-Body Control of Series-Parallel Hybrid Robots", Accepted for Publication: IEEE International Conference on Robotics and Automation (ICRA), 23.5.-27.5.2022, Philadelphia, 2022.
RH5: Motion Capture State Feedback for Real-Time Control of a Humanoid Robot
By playing the video, you accept YouTube's privacy policy.
The Video illustrates the results of the paper Mihaela Popescu, Dennis Mronga, Ivan Bergonzani, Shivesh Kumar, Frank Kirchner: "Experimental Investigations into Using Motion Capture State Feedback for Real-Time Control of a Humanoid Robot", Accepted for Publication: MDPI Sensors Journal, Special Issue "Advanced Sensors Technologies Applied in Mobile Robot", 2022.