The interwoven scheme of body and control of the biological beings, which in interaction with the surrounding environment, gives rise to a seemingly efficient and flawless locomotion has always fascinated me. I am amazed by the biological studies on the animal structures; investigating how the specific characteristics, such as proportions and number of segments in different body parts, are evolved to maximize their performance in terms like speed, adaptability or energy consumption; depending on what is the most important one.
On this page you can find a few of the interesting research projects that I have worked on during my education.
Co-evolution of Morphology and Controller for a Compliant Quadruped Robot
During my graduate studies, I worked under the supervision of Prof. Majid Nili Ahmadabadi on developing an evolutionary methodology to determine the morphological parameters of a compliant quadruped robot. The main focus of my research was on the importance of morphology in the system’s final behavior and performance characteristics. Meaning that, instead of solely depending on the control part to do the job, we try to design the morphology and hence change the natural dynamics of the robot; making it more compatible for the task it is supposed to do. Consequently, the desired task is a natural outcome of the interaction of the situated body and its environment, with a minimal required effort.
A Simulator for Investigating the Effects of Morphological Variations
Deciding on the suitable values for robot’s morphological parameters is a complex task. Robot designers require a scientific tool to observe the influence of these parameters on the output behavior to help them decide about their implementation. we introduced a simulator for quadruped robots using the Open Dynamics Engine (ODE) library to make the morphological study as simple as possible. It uniquely provides the opportunity to transfer morphological changes to the simulation instantly and to obtain performance characteristics such as transportation cost and robot’s average speed.
Check out these interesting case studies.
A Human-aided Evolutionary Approach
Sometimes the outcome of an evolutionary algorithm is an amazing creature that performs the assigned task, but does not look like what we have expected.
These cases are interesting because they re-emphasize on the dilemma of deciding on an evaluation function for an evolutionary algorithm. In our problem, the dimensionality of the search space is high and the space is extremely scattered. Global optimization methods such as Genetic Algorithm will easily get stuck at a local optima. Here, we proposed a human-collaborating method, to narrow down the search space using the designer's knowledge about how the perfect locomotion behavior should look like. There are many arguments about the cost function of an evolutionary process in the biology. What was the cost function of the natural evolution that has resulted in this spectrum of animals? How the symmetry in the animals' structures has been evolved in nature? Questions such as these are still not clearly answered. Using the Cost of Transportation (COT) as an only metric for the GA, we obtained creatures that were suitable, regarding their COT, but showed unnatural behavior. If we can not find a general formulation that encodes the desired natural behavior, how about using the concept that any human designer has in his mind in this regard? Therefore, Instead of trying to find a mathematical formulation for what a natural behavior should look like, we used human intuition to choose a set of acceptable individuals as an initial population for the GA.
An Analytical Viewpoint
The starting point of my graduate research was this basic idea: with a few realistic assumptions, we suppose that a legged robot can be modeled as an equivalent structure, composed of a mass manipulated by a black box. If we have a desired trajectory for the center of mass (CoM) of this body, how could we optimally design the black box to achieve the desired performance goals? The black box is, of course, the robot’s legs in the stance phase, including links and potential passive compliant elements. In the first phase of my studies, I tried to pursue an analytical approach. Considering leg joints to have passive parallel compliances, I presented a methodology to determine their optimal value to minimize the tracking error. The challenging issue in this work is to come up with a method for resolving the redundancy that rises in the structure.
For more information please refer to the fourth chapter of my manuscript. Continuing this path led to two published articles, with my lab mates, which are available in the publications tab.
Tip-toe Walking Detection Using CPG Parameters from Skeleton Data
I participated in another research in which we used a proposed model of programmable Central Pattern Generators (CPGs) to extract the most relevant features for gait recognition, distinguishing tip-toe from normal walking patterns. This model was then used for screening movement abnormalities seen in children with Autism.
This work has been presented at UCAmI 2017 and won the best paper award. We are currently working on extending this method to other body motion characteristics, such as hand flapping, jerky motions, fluttering and spinning, seen in Autistic children.
Role of Approximate Computational Blocks in Implementation of Systems in Hardware
Many of the existing scientific and engineering problems are solved using the precise algorithms and models. These techniques are classified as hard-computing and are used to solve problems with properties such as high precision, predictability and strict analysis. However, most of the real-world applications are naturally imprecise with some degrees of uncertainty and using the higher precision will impose unnecessary higher implementation cost. Soft-computing is a collection of methodologies aiming to exploit the tolerance for imprecision, uncertainty and partial truth, to achieve robustness, tractability and low cost.
The conventional digital hardware computational blocks are designed to compute the exact precise results of the calculations. In this research, we utilized a type of imprecise computational blocks that provide an applicable estimation of the result with a lower cost. Referring to the importance of hardware implementation of image processing applications, and also regarding their natural tolerance to small degrees of imprecision, we utilized our imprecise computational blocks for the implementation. The results show significant improvements in terms of area, speed, and power consumption with respect to the precise rivals.