Universidade de Aveiro Departamento de Engenharia Mecânica 2015

DOCUMENTO PROVISÓRIO

João Filipe Torres Valente Servo-sistema para perturbação controlada do equilíbrio postural Servo-system for controlled postural balance disruption

DOCUMENTO PROVISÓRIO

João Filipe Torres Valente Servo-sistema para perturbação controlada do equilíbrio postural Servo-system for controlled postural balance disruption

Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestrado em Engenharia Mecânica, realizada sob orientação científica de Vítor Manuel Ferreira dos Santos, Professor Associado do Departamento de Engenharia Mecânica da Universidade de Aveiro e de António José Monteiro Amaro, Professor Coordenador s/ Agregação do ESSUA da Universidade de Aveiro.

O júri / The jury

Presidente / President Prof. Doutor xxxx

Professor Catedrático da Universidade de Aveiro

Vogais / Committee Prof. Doutor Vítor Manuel Ferreira dos Santos

Professor Associado da Universidade de Aveiro (orientador)

Prof. Doutor António José Monteiro Amaro

Professor Coordenador s/ Agregação da ESSUA (co-orientador)

Prof. Doutor Francisco Alves Miranda

Professor Associado da Universidade do Algarve

Prof. Doutor Nuno Freitas Crato

Professor Auxiliar da Instituto Superior de Gestão

Agradecimentos / Acknowledgements adadw

Palavras-chave  Estimulos; equilíbrio; controlo.

Resumo O estudo do equilíbrio postural é uma preocupação que se aplica igualmente a seres humanos e robôs com pernas. Em relação a Humanos este problema foca-se na deteção de patologias, avaliação da capacidade de manter o equilíbrio e recolher dados acerca da forma como o equilíbrio é mantido. Por outro lado o estudo da postura de um robot tem como objetivo avaliar e melhorar o seu controlo. Dado a necessidade de testar o equilíbrio do Projeto Humanoide da Universidade de Aveiro - PHUA, surgiu a ideia de criar um sistema de distúrbio do equilíbrio. A ideia é o sistema possuir quatro servos que enrolam corda conectada ao PHUA sendo possível puxar o robot em todas as direções do plano horizontal. Este sistema tem o potencial de ser aplicado em Humanos fornecendo assim um novo sistema de teste de balanço. Como abordagem inicial o sistema foi simplificado como um pendulo invertido assistido por molas. O sistema precisa de ser fiável, portanto foi realizado um teste à sua repetitibilidade provando que é fiável. Para assegurar a repetitibilidade os ensaios têm de começar da mesma forma, que é possuir as cordas igualmente tensionadas. Então foi decidido construir um controlador por tentativa e erro o que não produziu o efeito desejado. O objetivo deste trabalho era projetar e construir o sistema para a plicar no PHUA, mas como o problema foi subestimado um bom controlador não foi desenhado e este objetivo não foi alcançado. Esta dissertação vai servir como guia para o trabalho futuro, produziu uma infraestrutura de software e hardware e reuniu informação que está detalhada ao longo deste documento.

Keywords  Stimuli; balance; control.

Abstract Postural balance is a concern that applies to both humans and bipedal robots. For Humans, this issue is focused on detecting some pathologies, evaluating individual balance capability, and gather data on how equilibrium is maintained. On the other hand the robot’s postural study aims to evaluate the machine’s control and help tune it. Given the need to test the equilibrium of University of Aveiro Humanoid Project - PHUA, the idea of creating a balance disruption system came up. The idea is that the system has four servos that wind ropes attached to PHUA making it possible to pull the robot in every direction of the horizontal plane. This system as the potential to be applied on Humans and provide a new balance assessment machine. As an initial approach the problem was simplified to an inverted pendulum assisted by springs. The system needs to be reliable, therefore a repeatability test was done proving that it can be reliable. To assure this repeatability, the trials need to have the same initial properties, which are the ropes being equally tensioned. So it was decided to build a controller by error and trial which did not produce the desired effect. This dissertation work aimed to design and build the system for PHUA, but since the problem was underestimated a good controller wasn’t designed and this objective wasn’t achieved. This dissertation will serve as a guideline for future work, it provided a software and hardware infrastructure and gathered information which are detailed throughout this document.

Contents

i ii

List of Tables

iii iv

List of Figures

v vi vii

Chapter 1

Introduction

1.1 Context and Motivation

Postural balance is a concern that applies to both humans and bipedal robots. For humans, this issue is focused on detecting some pathologies, evaluating individual balance capability, and gather data on how equilibrium is maintained. On the other hand the robot’s postural study aims to evaluate the machine’s control and help tune it.

Given the need to test PHUA’s (??) equilibrium, the idea of creating a balance disruption system came up, and considering that it is a humanoid robot, quickly, another idea followed, which was building a similar system to use on humans.

Also, PHUA’s control is based on a learning procedure, where information from human balance and gait cycles is gathered and then applied on the robot. This balance disruption system shall have contributions to the progress of the humanoid project, since it will collect information on how to maintain balance after a disturbance.

1.2 Problem Description and Solution Overview

For both robot and human, the chosen method to study postural equilibrium is done by applying a controlled and repeatable balance disrupting stimulus and measure responses, such as ground reaction forces, accelerations, body movements and energy expended. All this data will be analysed to obtain a model of the behaviour or set of reactions that counteracted the disturbance.

Measuring all these quantities can be achieved with a motion capturing system, a force plate, inertial systems and electromyography. For robots this last technique can be replicated by measuring servo current consumption, for example.

For the success of this approach, the subject responses have to be precisely measured, and the stimuli must be well known, controlled and repeatable. Taking this in consideration, the first system to test the PHUA’s balance will be a prototype of the human scaled one, which needs to be a servo-controlled system that can be applied in a biometric and motion capturing environment. Therefore, it must have a low visual influence, assure the subject safety, allow calibrations and adjustments as automatically as possible.

So, the system to test PHUA’s robot has to be designed taking all this in consideration. Advancing to a possible solution, the type of stimulus to be used in the tests, can be traction forces (without excluding other possibilities) applied to the subject’s body. Figure ?? visually describes this concept; the ropes would pull the subject in the posterior, anterior, right and left directions.

Figure 1.1: Possible solution for the balance disruption system

Servo motors would provide the tension needed. Backed up by force sensors, integrated on the ropes, to assure the stimulus data is stored and is within the desired range. All other data will be gathered with the sensing infrastructure available in the motion capturing lab at ESSUA and by PHUA’s own sensors.

As for the stimulus itself, one or two servos would pull, and the others would provide as much rope needed to maintain a certain tension, so that the subject doesn’t become at risk of falling. Making the system like this, leaves room to use other types of stimuli that can be used alongside with this one, to interfere with the visual and vestibular systems.

1.3 Objectives

The main objectives of this dissertation are the following:

Development of a combined stimuli application model to generate controlled balance disruption.

Development of an integrated electromechanical model to apply stimuli to PHUA, using suitable components.

1.4 Background Information

This section of the dissertation exposes relevant information for the project. It presents a brief introduction to Human balance to give a better perspective on stimuli types. It also presents related works about balance assessment machines to learn what has been done and how it was done. And finally it presents a very brief introduction to force control with servos motors just to give a small idea on how to control servos based on force readings.

1.4.1 Brief Introduction to Human Balance

Human balance consists in maintaining the line of gravity (vertical line from centre of mass) of one’s body within the base support and doing so with minimal postural sway ?. Both humans and bipedal robots only have two legs, this makes their upright posture mechanically unstable. The ability to maintain an upright posture is achieved with the assistance of three sensing systems. Perturbations applied to vestibular?, visual? and proprioceptive? systems have provoked body sway, thus proving that these are the three input systems that contribute to postural control.

The vestibular system, located in the inner ear, is responsible for determining the orientation of the body with respect to gravity, self generated movements and external perturbations. It can produce many involuntary reactions to make compensatory movements or postural adjustments?. Some of these reactions control head and eye movement.

Vision also gives important information for stabilization. When we move, the images of objects in the environment move over our retina. Since the vestibular system measures accelerations it can’t detect slow movements or movements at constant velocity. So our brain assumes that the visual environment is static. Consequently, when the visual world moves over our retina we have the percept that we move ourselves. This problem is solved by analysing all the sensory information, one sensor can be easily deceived but to deceive all of them is much harder?.

The proprioceptive system gives information about the relative position of the body parts and the effort being made to maintain posture. Some muscles, tendons and joint capsules are responsible for sensing all that data. This information is critical to employ the optimal strategy to maintain balance?.

1.4.2 Balance Testing Systems

There are many different systems to test the equilibrium of a human, and they can be split in two categories: static and dynamic. A static test measures some quantities, such as weight distribution and Center of Pressure (CoP) with a non moving subject. The dynamic analysis applies a balance disrupting stimulus, most commonly, below the feet, such as a translation or rotation, or those two combined. The measured quantities are CoP weight distribution, accelerations and muscle electrical signals. The dynamic approach is more complete, giving more data to be analysed by experts in biomechanics and equilibrium.

An example of a static and dynamic balance evaluating machine is IsiMove, seen in figure ??.

? It allows the evaluation of the static and dynamic balance of a human placed on a force plate. IsiMove is a robotic platform open kinematic with four degrees of freedom: anteroposterior tilt, mediolateral tilt, vertical rotation, and horizontal translation. It is capable of measuring the displacement of the center of pressure over time, with a reso- lution of 0.1 mm for each foot and support a human of about 120 kg. IsiMove can generate various types of balance perturbations based on parameters such as direction, amplitude, frequency and shape.

Figure 1.2: IsiMove platform and its axis of motion?.

Another example of a similar system is IsiSkate, depicted in figure ??.

? It is specially designed to reproduce the perturbation of a public transportation in a laboratory environment. It is equipped with force and inertial sensors intended for the evaluation of human posture for static and dynamic equilibrium analysis of a human subject standing on it. This platform is able to disturb the balance of a human weighing 120 kg with an acceleration of 3 m/s^{2} , which is above the safe limit 1.9 m/s^{2} in public transportation. The platform is capable of measuring in real time the displacement of the center of pressure independently for the left and right foot. With its integrated inertial sensor, the platform is also capable of estimating the displacement of center of mass of the human subject as well as the motion of the ankle, knee, and hip joint.

Figure 1.3: IsiSkate platform for balance analysis, user standing on omnidirectional mobile robot with three inertial sensors attached to his body?.

Another type of balance recovery assessment, is the stress test, introduced by ?. This test consists of postural perturbations that solicit balance recovery reactions measured during a normal upright position, using a simple pulley weight system that displaces the centre of gravity behind the base of support. More precisely, subjects have to withstand a series of posterior perturbations impulses that are applied at the level of the subject’s waist using three different perturbation intensities (i.e., 1.5%, 3% and 4% of the body mass)?. To administer this test, subjects must be placed 2 m from the pulley structure, with their upper limbs parallel to the body and the feet 10 to 15 cm apart. There are two points were the perturbation can be applied, on the shoulder and on the waist (at the level of the iliac crests)?, as shown in figure ?? and ??, respectively.

Figure 1.4: Balance disruption applied in the posterior direction at shoulder level?.

The last method presented is the most similar to the one that is being designed. ? This study uses a contact force as an external perturbation. The stimulus is created by applying a force controlled pull on the subject’s body around the ankle joints in the anteroposterior direction. It measures centre of mass (CoM) and centre of pressure (CoP) excursions to sinusoidal pull stimuli at different frequencies and with various force magnitudes. The setup allows the application of a pull on the subject’s body in the sagittal plane and thereby exert a defined torque about their ankle joints. The stimuli is applied via a body harness by means of two force controlled rope winches (servo motors) under computer control, as shown schematically in figure ??. Sinusoidal stimulus profiles are applied at five different frequencies (0.05, 0.1, 0.2, 0.4 and 0.8 Hz) and three different amplitudes of torque about the ankle joint (±1, ±4 and ±16 N.m). During these stimuli subjects are standing upright, heels 5 cm apart, on a motion platform. The platform rested on six ’legs’, each incorporating a motor capable of producing a change in the length of the leg (hexapod with Stuart principle). The motors are controlled by a computer to generate platform tilts in the sagittal plane with the axis through subjects’ ankle joint during some of the stimuli.

1.4.3 Force control with servo motors

Not much relevant information was found to assist this project. Mostly force control is applied in industrial manipulators to perform tasks that require force control along a nominal path or velocity.

? Robot force control involves integration of task goals, trajectory generation, force and position feedback, and modification of the trajectories. It requires understanding contact tasks so that effective strategies and trajectories can be planned and feedback data can be understood. It also requires control so that the robot’s responses will be stable. Finally, it requires filtering and estimation to remove unwanted signals, such as noise and robot motion errors, so that usable feedback information can be obtained. These issues - task analysis, strategy generation, control stabilization, and filtering - must be dealt with together if effective force control systems are to be created.

A general example of robot force feedback architecture can be seen in figure ??.

Figure 1.5: Balance disruption applied in the posterior direction at iliac crest level?.

Figure 1.6: Schematic presentation of stimulus conditions?.

Figure 1.7: Architecture of robot force feedback?.

Chapter 2

Experimental Infrastructure

2.1 Dynamixel RX-64

Figure 2.1: Dynamixel RX-64 servo

This is the servo motor chosen for the initial phase of the system’s prototype, seen in figure ??, mainly because it’s already acquired, ready to be used and also it has enough power to apply stimuli to the robot, some specifications can be seen in table ??. With a supplied voltage of 15 V the servos can produce a stall torque of approximately 632 N.cm which is more than enough to lift PHUA’s structure, if the radius of the pulling mechanism doesn’t exceed 10 cm and minding PHUA’s weight ??.

To communicate with the servos, Main Controller (??) has to send an Instruction Packet and receive a Status Packet, the structure of these packets can be seen in figure ?? and ??, respectively. Each box represents a byte, for both Packets, the four first bytes are the same. The first and second are the starting bytes, the third is the identification number of the servo, and the fourth is the length of the packet. For the Instruction Packet, the sixth until the last but one bytes, are the address of the parameters which the controller wants to read or write accordingly with the fifth byte which is the instruction. There are seven types of instructions and they can be seen in table ??. The last byte is used to check if the packet is damaged during communication. For the remaining bytes of Status Packet, the fifth byte displays if an error has occurred during the operation of the servo and which error it is. The sixth byte until the last but one, returns the value of the parameter requested by the Instruction. The last byte has the same usage as the checksum byte of the other packet.

To view more detailed information about RX-64 and how to use it, please refer to Dynamixel RX-64 Manual?.

Yet RX-64 manual doesn’t cover some important peculiarities, which are pointed out by ?. In this article it’s mentioned that Present Speed and Present Load parameters are only updated every 130 ms, furthermore these parameters have some error.

From the manufacturer website ? it’s possible to gather more important information about the motors. Load is only useful to discern which direction the torque is being applied. So it will not be possible to use the Present Load parameter to measure the torque being outputted by the servos. Also it’s advised that for stable motions, maximum load can’t be higher than 1/5 of stall torque.

An important aspect of these servos is their ability to be set to motion with either

Table 2.1: Dynamixel RX-64 specifications.

Weight(g) 125
Dimension(mm) 40.2 x 61.1 x 41.0
Gear Reduction Ratio 1/200
Applied Voltage(V) at 15 | at 18
Final Reduction Stopping Torque (kgf.cm) 64.4 | 77.2
Speed (s/60°) 0.188 | 0.157
Resolution (°) 0.29
Running Degree 300°, Endless Turn
Voltage (V) 12 ∼ 21 (Recommended: 18)
Max Current (mA) 1200
Running Temperature (°C) -5 ∼ +85
Command Signal Digital Packet
Protocol RS485 Asynchronous Serial Communication (8bit,1stop, No Parity)
Link (Physical) RS485 Multi Drop Bus
ID 254 ID (0 ∼ 253)
Communication Speed 7343bps ∼ 1 Mbps
Sensing & Measuring Position, Temperature, Load, Input Voltage, etc.
Material Quality Full Metal Gear, Engineering Plastic Body
Motor Maxon RE-MAX
Standby Current 50

Figure 2.2: Structure of Instruction Packet

Figure 2.3: Structure of Status Packet position or torque control, the ladder assumes free spin mode is selected, where the engine is free to turn more than 360 degrees, whereas position control limits the motion to 300 degrees, as it’s depicted in figure ??.

Figure 2.4: Position control angle restrictions

2.1.1 DETI Dynamixel Interface

As encouraged by ? the main controller was personally designed, instead of being bought, by the Department of Electronics, Telecommunications and Informatics (DETI), to use the servos without restrictions on Linux operating system. It supports RS485 Universal asynchronous receiver/transmitter (UART) because RX-64 uses a Multi-Drop Link method which connects several motors to a Node by using Half Duplex UART.

It has a FTDI FT232RQ USB to UART interface, responsible for the communication

Table 2.2: Instruction for dynamixel.

Name  Function  Number of Parameters

PING No execution. It is used when controller is ready to receive Status Packet

0

READ DATA This command reads data from RX-64

2

WRITE DATA This command writes data to RX-64

2 or more

REG WRITE It is similar to WRITE DATA, but it remains in the standby state without being executed until the ACTION command arrives

2 or more

ACTION This command initiates motions registered with REG WRITE

0

RESET This command restores the state of RX-64 to the factory default setting

0

SYNC WRITE This command is used to control several RX-64 simultaneously at a time 4 or more between the pc and PIC32MX795F. The speed of this communication is currently set at 230400 bps. The microprocessor is responsible for arranging the messages accordingly to the Dynamixel protocol (see figures ?? and ??), so that the servos can read the instruction packets and the pc can view the requested information sent by the Dynamixels in the return packet. A MAX3362EKA#T allows the RS485 communication between the pic and the servos, with a speed of 1000000 bps. The board is supplied with 5 V, which is reduced to 3.3 V by a MCP1703 linear regulator.

This interface was built to control the Dynamixel servos series AX that consume less current then the RX series, so the interface was able to control and supply power to the AX motors. But when building the interface the designers made it capable of controlling other servo series of this brand just not powering them. To use only one power supply a 7805CT voltage regulator was connected to the interface, as seen in figure ??. Figure ?? describes how to connect the power supply to the interface and the data cable that connects to the servo, the connection to the pc is done with an USB-A to USB-B cable shown in figure ?? (grey cable).

Figure 2.5: Deti Dynamixel Interface and tension regulator.

Figure 2.6: Deti Dynamixel Interface connections used.

To protect the DETI Dynamixel Interface a case was designed using the modelling tool Catia V5 and then a 3-D printing machine printed the case in thermoplastic (polylactic acid or PLA). The protection case is assembled with four screws that are inserted in the bottom part, figure ?? depicts the plastic case.

Figure 2.7: Deti Dynamixel Interface protection case.

2.2 University of Aveiro Humanoid Project (PHUA)

PHUA began in 2003/2004, as a result of a partnership between the Mechanical Engineering Department (DEM) and Electronics, Telecommunications and Informatics Department (DETI), of the University of Aveiro, with the purpose of creating a humanoid platform to study control, perception and behaviour. Its main goal is the development and application of hardware and software components in a functional low-budget platform, to carry out research in balance and locomotion tasks. The robot’s current physical appearance is shown in Figure ??.

Figure 2.8: Front and side views of the PHUA platform’s full body ?.

The platform has 27 DOF, visible in figure ??. HITEC®digital and analogue servomotors, combined with elastic elements, actuate 25 of the joints which are arranged as in figure ?? with the servomotors assembled as in table ??. The robot uses a belt and pulley adjustable transmission system on the legs and torso, providing torque to the joints with higher demand. The platform is also equipped with a set of 8 force sensors, 4 on each foot, from which weight distribution can be extracted. When assembled it weights about 6 kg and has an approximated height of 65 cm ?.

Table 2.3: PHUA platform’s degrees-of-freedom and installed servomotors.

Joint  Number of DOF’s Servomotor
Toe  1(×2)  (none)
Ankle  2(×2)  HSR-5980SG
Knee  1(×2)  HSR-5980SG
Hip  3(×2)  HSR-5980SG

Trunk 3

HSR-5980SG(×2)
HSR-8498SG(×1)

Shoulder 3(×2)  HSR-5980SG HSR-5498SG HS-82MG

Elbow  1(×2)  HSR-5498SG
Neck  2  HSR-5498SG HS-5056MG
Total  27  –

Table ?? details the robot’s joint anthropometric ranges and the total angular course, measured from the home position (in degrees), defined as the robot with all limbs at full stretch downwards, with the torso upright and a zero tilting in the head.

A simulation of PHUA, on V-REP, as shown that it’s hip can move +/-50 mm in both sagittal and lateral direction and -50 mm vertically?.

Table 2.4: PHUA robot degrees-of-freedom range limitation.

DOF  Minimum (°) Maximum (°) Total Range (°)
Head Tilt  0  10  10
Shoulder Flexion/Extension  -45  135  180
Shoulder Abduction/Adduction 0  180  180
Elbow Flexion/Extension  0  120  120
Torso Rotation  -90  90  180
Torso Flexion/Extension  -15  90  105
Torso Lateral Flexion/Extension -90  90  180
Ankle Inversion/Eversion  -45  30  75
Ankle Extension/Flexion  -20  40  60
Knee Extension/Flexion  0  130  130
Hip Adduction/Abduction  -40  45  85
Hip Extention/Flexion  -30  120  150

Figure 2.9: PHUA kinematic chains ?.