Skip to main content

Solver

Introduction

The Solver contains the core functionality of the Lively toolkit. You can think of it as a single entry point for specifying behaviors and receiving robot instructions.

Workflow

Generally, the usage of the solver involves a regular sequence of steps. To begin, the Solver is initialized with a set of parameters, including the robot's URDF, a set of objectives, initial joint state, and a description of the collision environment.

It is optional, but advised, to then execute the compute_average_distance_table method to normalize the distances between links and the environment to improve the performance of the collision avoidance algorithm. Note, if proximity information from a previous run that was normalized is provided as part of the initialization state, it will re-use the normalization calculated there.

Finally, the solver's solve method can be run in a loop, such that each loop any change in goals is passed, and the new computed state is returned.

In the following sections you will see how the solver is initialized, utilized, and structured.