# Modular Robotics Papers
###### tags: `Reconfigurable Robotics` `Modular`
[TOC]
| Paper | Understood |
|:-------------------------------------------------------------------------:|:----------:|
| [Paper 1](#automatic-snake-gait-generation-using-model-predictive-control)| 75% |
<!--
| [Text](#2) | Text |
| [Text](#3) | Text |
| [Text](#4) | Text |
| [Text](#5) | Text |
-->
# Automatic Snake Gait Generation Using Model Predictive Control
## Brief Outline
Authors propose a method for generating
undulatory gaits for snake robots. Instead of starting from a
pre-defined movement pattern such as a serpenoid curve, we use
a Model Predictive Control (MPC) approach to automatically
generate effective locomotion gaits via trajectory optimization.

## Research Questions
### What did the authors try to accomplish ?
* To show that optimal control methods can generate effective undulatory gaits for snake robots without starting from a predefined movement pattern. When this approach is applied using different models for environment reaction forces, it produces different gaits, each suited to its environment, without any change of the algorithm or tuning of its parameters. These gaits show both locomotion and energy efficiency. 
* Introduced a novel model of anisotropic Coulomb friction, and use it to model land snakes that exhibit side slip. Together with existing models for anisotropic viscous friction, drag force and added mass effects in fluids, we can model a wide range of environments for snake locomotion. 
* It is, to the best of the Author's knowledge, the first time that an automatic gait generation approach has been used to generate and analyze undulatory gaits across different environment models.
### What were the key elements of the approach ?
* Proposed a method of automatic gait synthesis for snake robots using iLQR, a trajectory optimization method from the MPC family.
* Unlike methods that use a serpenoid curve or similar patterns, this approach produces gaits without relying on predefined patterns, by optimizing the trajectory w.r.t. a given cost function.
* Their key result shows that, without any tuning or change in parameters between environments, the proposed automatic gait synthesis method produces gaits that are as efficient as those obtained by manually tuning a serpenoid curve to each environment.
* The undulatory gaits produced by the proposed method also display some of the characterics observed in nature.
* However, as it does not depend on a pre-defined movement pattern, the same method can produce more complex gaits, e.g. for sharp turns or obstacle avoidance, by using different formulations for the optimized cost function 
### What can you use yourself ?
* Apply this work on ReBis/QuadraSnake
### What can be improved ?
* Synthesising efficient gaits across different environmental conditions, without changing the locomotion algorithm or its parameters, remains a challenging problem.
* The proposed MPC-based gait generation method faces two important challenges for application to real robots: a reliance on dynamic models, and the computational cost. For real-life execution, the dynamic model will only be an approximation of real-life physics. Furthermore, gait generation must keep up with execution in order to be used online.
* Authors noticed that, in our current implementation, the iLQR algorithm is not efficient enough for real-life execution. For example, in the case of viscous friction, it takes 1 s of computation time to optimize a trajectory that takes 0.25 s to execute. We estimate that, for practical applicability, a computation speed-up of at least 10X to 20X will be necessary; this could be achieved via an optimized implementation, more extensive parallelization, or algorithmic improvements.
### What other references do you want to follow ?
* A common method to evaluate gait efficiency is the Pareto curve which shows the trade-off between locomotion speed.
* Maximum Dissipation Principle, which states that, given a contact velocity $v$, the ensuing friction force $f$ maximizes energy dissipation (i.e., $−fv$), subject to other constraints (such as friction coefficients) and energy consumption.
<!-- # 2
-->