I studied the issues related to the heuristic evolutionary optimization of motor controllers for a walking robot using a dynamic simulation model. Defining and quantifying the quality of hexapod robot walking as a multi-objective problem and how to aggregate the multi-objectives

into a scalar fitness value using preference weights were explored, integrating the multi-scenario simulation approach was also examined in this optimization system. For simulation models in which the equipment is intended to perform many or an infinite number of missions, a set of typical scenarios for the intended use can represent the entire set of scenarios. Typical scenarios are simulated and evaluated in parallel to optimize the system for its intended use.

The optimization results (three example solutions of Fuzzy-PI controller) show high diver-gences between the optimums for defining different preferences between the objectives. The preferences are implemented in a utility function with a bias and exponent pair weights for each objective (BWP).

The manual selection of these weights opens another optimization issue, which I believe is the important part of the entire system. The sensitivity or robustness analysis can be used as an external quality aspect to select the appropriate preferences. The method indicates an automatic definition of the preference weights by the optimum robustness against the design variables, design parameters or multi-scenarios. This could be the basis of future research.

### 4.6 Theses Summary

If the intended use of a mobile robot contains several types of movement, then these form a variety of scenarios in the simulation. If such an optimum are looking for that is suitable for all scenarios (for the intended use) then it should be search after a compromise optimum between the scenarios. If the search algorithm runs on only one scenario, it will find a solution that shows unknown quality for the other scenarios. Thus the quality measurement and the robustness of the resulted solution are not checked.

For many-objective^{1} and / or multi-scenario kind drive optimization, it is reasonable to set
up an automatic weighting criterion that leads to a robust optimum that is equally good for
the different scenarios and robust for the parameters to be optimized.

4.6.1 Thesis 4

The definition of the walking quality of a walker robot is multi-objective, whichin-cludes low power consumption, fast walking, minimal vibration and robust move-ment:

F = V_{X}^{2}

EW ALK·FGEAR·FACC·FAN GACC·(|Z_{LOSS}|+b) (4.3)
Where F - the global scalar fitness value to be maximized; V_{X}^{2} - is the average
walking speed (in direction X); E_{W ALK} - electric energy is needed for crossing unit
distance; F_{GEAR} - root mean square of the aggregated gear torques; F_{ACC} - root
mean square of acceleration of the robot’s body; FAN GACC - root mean square of
angular acceleration of the robot’s body; Z_{LOSS} - loss of height in direction Z during
the walk (relative to ground); b - is a bias to reduce closed to zero effect of this
aspect, defined empirically.

1many-objective has minimum 4 objectives

It is desirable for the simulation model to be examined simultaneously for several different scenarios. The scenarios should be chosen in a manner that they represent the intended use. It is necessary to look for an optimum that applies to all defined scenarios so in the optimization, a compromise robust optimum should be found simultaneously for all the scenarios.

In the case of Szabad(ka)-II walker robot the scenarios were defined as demonstration:

straight walking at a faster and slower speed, walking with slight turning, walking upwards, walking with load of 2kgs at a faster and slower speed.

Comparison with other research results

For mobile robots, the most common quality criteria are the maximum locomotion speed and minimal energy consumption (Iagnemma and Dubowsky, 2004). Besides these aspects, the high acceleration caused by the rigid collision and the number of collisions are minimized in the robotics researcher (Carbone, 2011). However, in the literature, I did not find a walking quality definition for mobile robots like the proposed one.

Similarly, (Fadel et al., 2005) suggests a multi-scenario approach to describe these types of systems. Regarding the number and type of scenarios to be determined, there is no golden rule, for example, (Ullah et al., 2013) described their system with two scenarios. For multi-scenario problems, a common approach is to aggregate all the objective values calculated for all the scenarios (Fadel et al., 2005; Zhu et al., 2014), as well as in case of Szabad(ka)-II robot.

## 5 Embedding Optimized Trajectory and Motor Con-troller

”There is no way of implementing control strategies other than transforming them into computer code for chosen processing target” Jovanovicet al. (2002).

### 5.1 Introduction

The optimized motor controller (described in Chapter 4) and leg-trajectory curve (described in Chapter 3) were implemented into the real robot system. The fuzzy motor controller and its Fuzzy-LUT are developed and tested in a simulation environment. The leg-trajectories were transformed into the joint-trajectories (desired angle of joints) using inverse kinematics as it is described in Chapter 2. See such curve in Fig. 5.4.

In this chapter, the implementation and the validation procedures are detailed.

5.1.1 Controller Implementation in Micro-controller

In this context 8 or 16 bit with 512Kbyte or lesser amount of memory processors (example the Intel 8051 core micro-controller or the PIC family) understood under the term ”low-power”.

The low-power micro-controllers are still used in the industry despite the fact that in the last ten years the evolution of the processors greatly increased, they are a lot faster, more energy efficient and have greatly increased cache and memory bus efficiency. Mainly due to the fact that in larger manufactories it’s not easy to substitute a proven technology, due to the costs and safety reasons. Besides, there is the low-power regulatory needs, they are cheaper, but embedding and programming is easier.

The necessary computing and memory resources for a fuzzy controller is very wide, and depends on many things, but basically it can be said that more resources are needed for a conventional PID controller type.

There is a need for the fuzzy controller implementation in low-power processor due to the facts described above. Furthermore if there is a more powerful micro-controller, there may also be the case that less resources remains for the fuzzy controllers, besides performing other tasks (the remaining resources can be used for another application).

A DC motors should be controlled by a simple structure, calculated with a small number of operations, because of the limited resources of the micro-controller unit (MCU) on Szabad(ka)-II robot. The LUT-based implementation of a fuzzy control fulfills this requirement. The LUT is generated from the original Fuzzy-PI controller optimized in the Matlab environment, using the fuzzy logic toolbox. The LUT has 2D table due to the Fuzzy-PI controller’s two inputs, and stored in the flash memory of each robot leg’s MCU. It is detailed in section 5.3. This technique was also successfully applied to another robot control research Odryet al. (2016).

5.1.2 Look-up Table

The look-up table (LUT) is a series of numbers, which substitutes a run-time calculation with a simple indexing. This results in better calculation time at the expenses of memory usage,

because looking up and reading one value from the memory is usually faster than calculation of the same value. This is the case in almost every fuzzy systems, since there is a need for a lots of function calls, multiplication and integration in a Mamdani-Type Fuzzy Inference to calculate the desired value.

Multiple instances can be found about these kind of look-up table based fuzzy
implementa-tions in the literature (Kim et al., 2011; Sobhan et al., 2009; Bai et al., 2007; Yanhonget al.,
2013; Mastacan and Dosoftei, 2013; Bai et al., 2010). Besides, Mathworks presents an example
in Simulink ^{1}. The lookup table approach with interpolation algorithm is widely used in the
industrial and the manufacturing applications; Choosing the suitable interpolation method is
important to fit the target pose errors based on the pose errors of the neighboring grid points
around the target (Baiet al., 2012).

5.1.3 Validation Plan

The same controlling mechanism and the same scenario conditions should be established both in simulation and reality for the validation procedure. For example, if a load is put into the robot, then one weight variable should be changed in the simulation, but a weight must be equipped in reality. Fig. 5.1 shows the plan of control mechanism validation on the Szabad(ka)-II robot connected to the elements of optimization strategy. The scenario parameters include the:

• trajectory parameters – The joint trajectory curves are generated in Matlab, the ellipse-based 3D curve is transformed into joint coordinates and stored in a table sent to the robot before the scenario.

• Fuzzy-PI controller’s parameters – The Fuzzy-LUT is generated in Matlab and exported to a table built in the C-code of the embedded firmware.