sensors Article Design, Implementation and Validation of the Three-Wheel Holonomic Motion System of the Assistant Personal Robot (APR) Javier Moreno 1 , Eduard Clotet 1 , Ruben Lupiañez 1 , Marcel Tresanchez 1 , Dani Martínez 1 , Tomàs Pallejà 2 , Jordi Casanovas 1 and Jordi Palacín 1, * 1 2 * Department of Computer Science and Industrial Engineering, University of Lleida, 25001 Lleida, Spain; jmoreno@diei.udl.cat (J.M.); eclotet@diei.udl.cat (E.C.); robotica@udl.cat (R.L.); mtresanchez@diei.udl.cat (M.T.); dmartinez@diei.udl.cat (D.M.); jcasanovas@quimica.udl.cat (J.C.) Barton Laboratory, Cornell University, Geneva, NY 14456, USA; tpc63@cornell.edu Correspondence: palacin@diei.udl.cat; Tel.: +34-973-702-724 Academic Editor: Gonzalo Pajares Martinsanz Received: 15 June 2016; Accepted: 29 September 2016; Published: 10 October 2016 Abstract: This paper presents the design, implementation and validation of the three-wheel holonomic motion system of a mobile robot designed to operate in homes. The holonomic motion system is described in terms of mechanical design and electronic control. The paper analyzes the kinematics of the motion system and validates the estimation of the trajectory comparing the displacement estimated with the internal odometry of the motors and the displacement estimated with a SLAM procedure based on LIDAR information. Results obtained in different experiments have shown a difference on less than 30 mm between the position estimated with the SLAM and odometry, and a difference in the angular orientation of the mobile robot lower than 5◦ in absolute displacements up to 1000 mm. Keywords: holonomic motion; assistant robot; mobile robot motion; omnidirectional wheel 1. Introduction The uses of mobile robots are continuously increasing in non-industrial applications such as military and security settings [1], inspection of power lines in smart grids [2], crop-inspection in smart agriculture [3], disaster recovery [4], interaction with customers [5] and also helping people with mobility impairments [6]. Reports from diverse institutions such as the United Nations [7] and World Health Organizations [8] postulate that the proportion of people aged 60 or more will rise from 12% to 21% during the next 35 years as a result of a clear increase of human life expectancy and the development of assistant robots can be a technological tool that will contribute to increase the quality of life of elderly people and people with mobility impairments. In this direction, the combination of assistant mobile robots [9] and fixed domotic systems [10] can be used at home in an unstructured domestic environment and also contribute to supervise or develop some domestic tasks. In this direction, the Assistant Personal Robot (APR) [9] proposed the conception of a new robotic assistant designed to operate in tight indoor spaces thanks to its holonomic motion system. The new contribution of this paper is the complete description of the optimized mechanical design, kinematics, and basic control of the three-wheel holonomic motion system implemented in the APR mobile robot. This complete description is proposed in order to foster replication and verification of the results. The paper ends with an empirical validation of the trajectory estimated by the internal control system which will be used in the future to improve the implementation of additional trajectory control procedures. Sensors 2016, 16, 1658; doi:10.3390/s16101658 www.mdpi.com/journal/sensors Sensors 2016, 16, 1658 2 of 21 Sensors Sensors2016, 2016,16, 16,1658 1658 2 2ofof2121 2 of 212 of 21 Sensors 2016, 16, 1658 Sensors 2016, 16, 1658 2. Background Sensors 2016, 1658 Sensors 2016, 16,16, 1658 2 of 21 2 of 21 2.2.Background Background Mobile robots can be classified accordingly to the motion system or by the type of mobility 2. Background 2. Background 2. Background (Table 1). The motion system can be based on wheels, tracks, ball-shaped legs. The type of 2.Mobile Background bebeclassified accordingly totothe motion system by type ofofmobility Mobilerobots robotscan can classified accordingly the motion systemororwheels bythe theor type mobility Mobile robots can be accordingly to thetomotion system or byorthe of mobility Mobile robots canclassified be classified accordingly the motion system bytype the type of mobility mobility can bemotion classified as be omnidirectional holonomic) or non-omnidirectional. The holonomic (Table system can bebebased on wheels, tracks, ball-shaped or The type (Table1). 1).The The motion system can based on(or wheels, tracks, ball-shaped wheels orlegs. legs. The typeofof Mobile robots can classified accordingly to to the motion system orwheels by the type mobility robots can be classified accordingly the motion system or by theorof type mobility (Table 1).Mobile The system can be based on wheels, tracks, ball-shaped wheels or legs. The of type of of (Table 1).motion The motion system can be based on wheels, tracks, ball-shaped wheels legs. The type mobility can be classified as (or holonomic) or non-omnidirectional. The mobile robots have the advantage theyon can change the direction of motion without having to (Table 1). The motion system canthat be based wheels, tracks, ball-shaped wheels or legs. The type of mobility can be classified asomnidirectional omnidirectional (or holonomic) or non-omnidirectional. Theholonomic holonomic (Table 1). The motion system can be based on wheels, tracks, ball-shaped wheels or legs. The type of mobility can be classified as omnidirectional (or holonomic) or non-omnidirectional. The holonomic mobility can bebeclassified as omnidirectional omnidirectional holonomic) or non-omnidirectional. The holonomic mobility classified as (or(or holonomic) non-omnidirectional. The holonomic mobile robots have the advantage that can change the direction ofofmotion without having toto mobile robotscan have the advantage thatthey can change theor direction motionfrom without having perform intermediate rotation steps and they are able to move in all directions a given starting mobility can behave classified as omnidirectional (or holonomic) ordirection non-omnidirectional. The holonomic mobile robots have the advantage thatthat they cancan change the direction of without having mobile robots the advantage thatthey they can change the of motion without having mobile robots have the rotating advantage change the direction of motion motion without having to to to perform intermediate rotation steps ininallalldirections from starting perform intermediate rotation stepsand andthey theyare areable abletotomove move directions froma agiven given starting point while simultaneously [11]. mobile robots have the advantage that they can change the direction of motion without having to perform intermediate rotation steps and they are able to move in all directions from a given starting perform intermediate rotation steps and they are able to move in all directions from a given perform intermediate rotation steps and they are able to move in all directions from a given startingstarting point rotating [11]. pointwhile whilesimultaneously simultaneously rotating [11]. intermediate rotation steps and they are able to move in all directions from a given starting pointperform while simultaneously rotating [11]. point while simultaneously rotating [11]. point while simultaneously rotating [11]. Table 1. Classification of mobile robots based on the motion system and type of mobility. point while simultaneously rotating [11]. Table Table1.1.Classification Classificationofofmobile mobilerobots robotsbased basedononthe themotion motionsystem systemand andtype typeofofmobility. mobility. Classification of robots based motion system and type mobility. TableTable 1.Table Classification of mobile robots based onon thethe motion system and type of mobility. 1.1.Classification ofmobile mobile robots based on the motion system andof type of mobility. Motion System Based on Motion System Based on Table 1. Classification of mobile robots based on the motion system and type of mobility. Motion System Based on Motion System Based Wheels Motion System Based onon on Motion System Based Legs Ball Wheels Wheels Wheels Universal Wheels Omnidirectional Ball Legs Motion System Based on Ball Legs Wheels Ball Legs Universal Omnidirectional Universal Omnidirectional Ball Ball Legs Legs Universal Omnidirectional Universal Omnidirectional Universal Wheels Omnidirectional Ball Legs Universal Omnidirectional (a) (a) (a) Not omnidirectional (b) (c) (d) (e) (b) (b) (b) (b) (b) (b) (c)(c) Omnidirectional (d) (e) (d) (e) (a) (c) (c) (d) (d) (e) (e) Type of mobility (a) (a) (c)Omnidirectional (e) Not Notomnidirectional omnidirectional Omnidirectional (d) (a) (c) Omnidirectional(d) (e) Not omnidirectional Omnidirectional Not omnidirectional Omnidirectional Type Typeofofmobility mobility Not omnidirectional Not omnidirectional Omnidirectional Type mobile of mobility Type ofrobots mobility Currently, in order to achieve mobility are typically based on wheels. The use of Type of mobility Type of mobility wheels is more energy efficient than legged or treaded robots on hard and smoot Currently, based on wheels. The Currently,ininorder ordertotoachieve achievemobility mobilitymobile mobilerobots robotsare aretypically typically based onsurfaces wheels.[12–14]. Theuse useofof Currently, order to achieve mobility mobile robots are typically based on wheels. The two use Currently, in order to achieve mobility mobile robots are typically based on wheels. Theofuse of The mostinpopular wheeled mobile robots use two independent fixed driving wheels with wheels is more energy efficient than legged or treaded robots on hard and smoot surfaces [12–14]. wheels is more energy efficient than legged or treaded robots on hard and smoot surfaces [12–14]. Currently, inenergy order to achieve mobility mobile robots are These typically based wheels. The use of[12–14]. wheels in order to achieve mobility mobile robots are typically based on wheels. The use of wheels isCurrently, more efficient than legged or DOF treaded on robots, hard and smoot surfaces [12–14]. degrees-of-freedom (DOF) instead of three (x,y,θ). likeon for example domestic wheels is more energy efficient than legged or treaded robots on hard and smoot surfaces The popular wheeled mobile robots use two fixed wheels with two Themost most popular wheeled mobile robots use twoindependent independent fixeddriving driving wheels with two is more energy efficient than legged or treaded robots on hard and smoot surfaces [12–14]. The most cleaners, havewheeled only wheeled twoefficient actuators, requires lesstwo space to rotate around any point and this wheels also allows is more energy than legged or treaded robots on hard and smoot surfaces [12–14]. The wheels most popular mobile robots use independent fixed driving wheels with two The most popular mobile robots use two independent fixed driving with two degrees-of-freedom (DOF) instead of three DOF (x,y,θ). These robots, like for example domestic degrees-of-freedom (DOF) instead of three DOF (x,y,θ). These robots, like for example domestic three DOF, but(DOF) their limitation that they cannot perform holonomic motion such as sideways popular wheeled mobile robots use two independent fixed driving wheels with two The most popular wheeled mobile robots use two independent fixed driving wheels with two degrees-of-freedom instead ofis three DOF (x,y,θ). These robots, like for example domestic degrees-of-freedom (DOF) instead of three DOF (x,y,θ). These robots, like fordegrees-of-freedom example domestic cleaners, have only two actuators, requires less space to around any point and this allows cleaners, haveof only two actuators, requires less space torotate rotateexample around any pointthis and thisalso also allows movements. An example of this type of less mobile robot isrotate shown on Table 1a, where configuration (DOF) instead DOF (x,y,θ). These robots, domestic have only degrees-of-freedom (DOF) instead of three DOF (x,y,θ). These robots, like forcleaners, example domestic cleaners, have have onlythree two actuators, requires space tolike around any point and this also cleaners, only two actuators, requires less space tofor rotate around any point and this allows also allows three but limitation isisthat they threeDOF, DOF, buttheir theirfour limitation thatwheels. theycannot cannotperform performholonomic holonomicmotion motionsuch suchasassideways sideways is equipped with fixed universal cleaners, have only two actuators, requires less space to rotate around any point and this also allows two actuators, requires less space to rotate around any point and this also allows three DOF, but their threethree DOF,DOF, but their limitation is that cannot perform holonomic motion such such as sideways but their limitation is they that they cannot perform holonomic motion as sideways movements. ofofmobile on ToAn overcome thisof limitation, other mobile robots an omnidirectional motion system, like for movements. Anexample example ofthis thistype type mobilerobot robotisuses isshown shown onTable Table1a, 1a,where wherethis thisconfiguration configuration three DOF, but their is that they cannot perform holonomic motion asexample sideways movements. An example oflimitation this type ofholonomic mobile robot is shown on 1a, where this such configuration limitation is that they cannot perform motion such as Table sideways movements. An of movements. An example of this type of mobile robot is shown on Table 1a, where this configuration example, mobile robots equipped with steerable and coordinated driving wheels and isisequipped with four universal wheels. equipped with fourfixed fixed universal wheels. movements. An example of this type ofwheels. mobile robotthis is shown on Table is 1a,equipped where this configuration is equipped with four fixed universal wheels. this type of mobile robot is shown on Table 1a, where configuration with four fixed is equipped with four fixed universal omnidirectional mobile robotsother basedmobile in wheels, ball-shaped wheel robots or legged robots. These To overcome limitation, robots uses motion system, like To overcomethis this limitation, other mobile robots usesananomnidirectional omnidirectional motion system, likefor for is with four universal wheels. Toequipped overcome this limitation, otherother mobile robots uses an omnidirectional motion system, like for To overcome thisfixed limitation, mobile robots uses an omnidirectional motion system, like for universal wheels. devices offer interesting features when operating in tight spaces. Table 1b shows a mobile robot example, example, mobile mobile robots robots equipped equipped with with steerable steerable and and coordinated coordinated driving driving wheels wheels and and Tomobile overcome this limitation, other mobile robots uses an omnidirectional motion system, like for example, robots equipped with steerable andan coordinated driving wheels and example, mobile robots equipped with steerable and coordinated driving wheels design equipped with steerable wheels published by uses Wada and Mori [15]. They allow both rotation To overcome this limitation, other robots omnidirectional motion system, likeand for omnidirectional mobile robots inmobile ball-shaped wheel omnidirectional mobile robotsbased based inwheels, wheels, ball-shaped wheelrobots robotsororlegged leggedrobots. robots.These These example, mobile robots equipped with steerable and coordinated driving wheels and omnidirectional mobile based insteerable wheels, ball-shaped wheel robots orovercome legged robots. These and also sideways motion, but not simultaneously. This limitation canrobots bewheels by using a These omnidirectional mobile robots based in wheels, ball-shaped wheel or and legged robots. example, mobile robots equipped with and coordinated driving omnidirectional devices devicesoffer offerinteresting interestingfeatures featureswhen whenoperating operatinginintight tightspaces. spaces.Table Table1b1bshows showsa amobile mobilerobot robot holonomic omnidirectional motion system, which can inspaces. all directions at omnidirectional mobile robots based in wheels, wheel robots orany legged robots. These devices offer offer interesting features when operating in ball-shaped tight spaces. Table 1b shows atime mobile robot devices interesting features when operating inmove tight Table 1b shows awithout mobile robot mobile robots based insteerable wheels, ball-shaped wheel robots or legged robots. These devices offer design equipped with wheels published by Wada and Mori [15]. They allow both rotation design equipped with steerable wheels published by Wada and Mori [15]. They allow both rotation changing wheel direction, because they can achieve 3-DOF motion on Mori a[15]. 2-dimensional plane thenrotation devices offer interesting features when operating in Wada tight spaces. Table 1bThey shows aand mobile robot design equipped with steerable wheels published by Wada and Mori They allow both rotation design equipped with steerable wheels published by and [15]. allow both interesting features when operating in tight spaces. Table 1b shows a mobile robot design equipped and also sideways motion, but not simultaneously. This limitation can be overcome by using and also sideways motion, but not simultaneously. This limitation can be overcome by usinga a thesideways main limitation is steerable wheel equipped with wheels published This by Wada and Mori They allow rotation and design also motion, but slippage not simultaneously. limitation can [15]. be overcome byboth using a and also sideways motion, but not[14]. simultaneously. This limitation can be overcome by using a with steerable wheels published by Wada and Mori [15]. They both rotation and also sideways holonomic omnidirectional motion system, which can inallow atatany without holonomic omnidirectional motion system, which can move inallalldirections directions any time without Holonomic robots are based in the use of three ormove four omnidirectional wheels, seetime Table 1c, and also sideways motion, but not simultaneously. This limitation can be overcome by using a holonomic omnidirectional motion system, which can move in all directions at any time without holonomic omnidirectional motion system, which can move in all directions at any time without motion, butwheel not This limitation can be overcome by using a holonomic omnidirectional changing direction, they can 3-DOF motion on a a2-dimensional and which aresimultaneously. composed by several passive rollers or balls whose axes are tangent toplane the wheel changing wheel direction,because because they canachieve achieve 3-DOF motion on 2-dimensional plane andthen then holonomic omnidirectional motion system, which can move in aall directions atplane anyplane time without changing wheel direction, because they can achieve 3-DOF motion on 2-dimensional and then changing wheel direction, because they can achieve 3-DOF motion on a 2-dimensional and then circumference, and free move to rotate. three-wheeled mobilechanging robots can wheel have three the limitation is slippage [14]. motion system, which can in The all directions atomnidirectional any time without direction, themain main limitation iswheel wheel slippage [14]. changing wheel direction, because they[14]. can achieve 3-DOF motion on a 2-dimensional plane and then the main limitation is wheel slippage [14]. theindependent main limitation is wheel slippage actuators and they achieve independent translational one rotational DOF, Holonomic are based incan use three ororfour wheels, see Table Holonomic robots are based inthe the useof of2-dimensional three fouromnidirectional omnidirectional wheels, seelimitation Table1c, 1c, is because they limitation can robots achieve 3-DOF motion on atwo plane andand then the main the main is wheel slippage [14]. Holonomic robots are based in theinuse of three or four omnidirectional wheels, seedomestic Table 1c, 1c, Holonomic robots are based the maneuver use of three or four omnidirectional wheels, see Table for the total of 3-DOF on a flat surface and and navigate in tight spaces such as in which are by which arecomposed composed byseveral severalpassive passiverollers rollersororballs ballswhose whoseaxes axesare aretangent tangenttotothe thewheel wheel wheel slippage [14]. robots Holonomic are based inpassive therollers use ofor three four omnidirectional wheels, see Table 1c, which are composed by several balls whose axes are tangent towhen the wheel which are composed by several rollers or orballs axes are tangent to they the wheel environments. However due topassive their high center of gravity theywhose have stability problems circumference, and totorotate. three-wheeled omnidirectional mobile can three circumference, andfree free rotate.The The three-wheeled omnidirectional mobilerobots robots canhave haveTable three1c, Holonomic robots are based in the use of three or four omnidirectional wheels, see which are composed by several passive rollers or balls whose axes are tangent to the wheel circumference, and free to rotate. The three-wheeled omnidirectional mobile robots can have three are moving on a ramp because of the triangular contact area with the ground [5,16]. This stability circumference, and free to rotate. The three-wheeled omnidirectional mobile robots can have three independent actuators and they achieve two translational and one DOF, independent actuators and theycan can achieve twoindependent independent translational andtangent onerotational rotational DOF, which are composed by several passive rollers or balls whose axesmobile are to have the wheel problem canactuators be overcome using four wheels with 4-DOF [11]. circumference, and freethey to by rotate. The three-wheeled omnidirectional robots can three independent actuators and can achieve two independent translational and one rotational DOF, independent and they can achieve two independent translational and one rotational DOF, for the total of 3-DOF on a flat surface and maneuver and navigate in tight spaces such as in domestic for the total of 3-DOF on a flat surface and maneuver and navigate in tight spaces such as in domestic circumference, and free to rotate. The three-wheeled omnidirectional mobile robots can have three Table 1d shows a robot with ball-shaped wheels, such as the design proposed by West and independent actuators and they can twoand independent translational and rotational DOF, for the of 3-DOF on a flat andachieve maneuver navigate in tight spaces suchone as in domestic fortotal the total of 3-DOF on asurface flat surface and maneuver and navigate in tight spaces such as in domestic environments. However due to high center of they have stability problems when environments. However due totheir their high[18–20] center ofgravity gravity they have stability problems whenthey they Asada [17] canand run any direction not over rough grounds orspaces steps. Table 1as shows independent actuators can achieve two independent translational and one for the total ofthat 3-DOF on they ain flat surface and maneuver and navigate in tight suchrotational inwhen domestic environments. However due to their high center ofbut gravity they have stability problems when theyDOF, environments. However due to their high center of gravity they have stability problems they are moving on because ofofthe triangular contact area ground [5,16]. This stability moving ona aramp ramp the triangular contact areawith withthe the ground [5,16]. stability that omnidirectional mobile robots based incenter wheels can have universal or omnidirectional wheels. forare the total of 3-DOF on abecause flat surface and maneuver navigate tight spaces suchThis as inwhen domestic environments. However due to their high ofand gravity they in have stability problems they are moving on a on ramp because of theoftriangular contact area area with with the ground [5,16]. This This stability are moving a ramp because the triangular contact the ground [5,16]. stability problem problemcan canbebeovercome overcomeby byusing usingfour fourwheels wheelswith with4-DOF 4-DOF[11]. [11]. environments. However due to their high center of gravity they have stability problems when they are are moving on a ramp because of the triangular contact area with the ground [5,16]. This stability problem can be overcome by using four wheels with 4-DOF [11]. problem can be overcome by using four wheels with 4-DOF [11]. Table Table1d 1dshows showsa arobot robotwith withball-shaped ball-shapedwheels, wheels,such suchasasthe thedesign designproposed proposedby byWest Westand and problem can be overcome by using four wheels with 4-DOF [11]. moving onTable a ramp the triangular contact areasuch with ground [5,16]. This by stability problem Table 1d shows a robot with ball-shaped wheels, asthe the design proposed West and and 1d because shows aofrobot with ball-shaped wheels, such as the design proposed by West Asada Asada[17] [17]that thatcan canrun runininany anydirection direction[18–20] [18–20]but butnot notover overrough roughgrounds groundsororsteps. steps.Table Table1 1shows shows Table shows aany robot with ball-shaped wheels, asgrounds the grounds design proposed by West and Asada [17] that can run in [18–20] but not over rough or steps. TableTable 1 shows can be overcome by using four wheels with 4-DOF [11]. Asada [17]1d that can run indirection any direction [18–20] but not such over rough or steps. 1 shows that omnidirectional mobile robots based in wheels can have universal or omnidirectional wheels. that omnidirectional mobile robots based in wheels can have universal or omnidirectional wheels. [17] that can run in anyrobots direction but rough grounds or steps. Table 1wheels. shows that Asada omnidirectional mobile robots basedbased in [18–20] wheels cannot have universal or omnidirectional wheels. that omnidirectional mobile in wheels canover have universal or omnidirectional that omnidirectional mobile robots based in wheels can have universal or omnidirectional wheels. Sensors 2016, 16, 1658 3 of 21 Table 1d shows a robot with ball-shaped wheels, such as the design proposed by West and Asada [17] that can run in any direction [18–20] but not over rough grounds or steps. Table 1 shows that omnidirectional mobile robots based in wheels can have universal or omnidirectional wheels. Alternatively, Table 1e shows also a legged robot because these can move in any direction and can move on any type of surface, however, the mechanism of legged robots are very complex and have velocity limitations [21]. In general, the principles of operation of omnidirectional mobile robots are based on kinematic models. One of the most popular references is the technical report by Muir and Neuman [12] which formulates the equations of motion of wheel-based mobile robots, incorporating also conventional omnidirectional and ball wheels. Currently there are a lot authors working in research about the locomotion of this mobile robots [5,13]. There are many holonomic mobile robot designs available in the literature. The first omnidirectional mobile robot was proposed in 1987 by Muir and Neuman [22] and was named Uranus. This proposal was based on introducing a methodology for the kinematic modeling of an omnidirectional wheeled mobile robot equipped with four omnidirectional wheels which was based in passive rollers arranged in an overlapping way. These wheels were positioned in pairs on the same axle but with opposite orientation. Alternatively, in 1996 Wada and Mori [15] proposed a new type of holonomic mobile robot which was equipped with steerable and coordinated driving wheels using conventional tires to provide an omnidirectional capability by actuating a wheels axis and a steering axis independently. There are a several types of omnidirectional wheels but in all of them the principle of function is based in providing traction in the direction normal to the motor axis, and the use of inner passive rollers that can slide in the direction of the motor axis. These inner passive wheels, balls or rollers are placed along the periphery or the main wheels [14,23]. These omnidirectional wheels can be grouped in four types according to their traces. Figure 1a shows a wheel design which consists of multiple passive rollers (or inner passive wheels) whose axes are positioned tangent to the main wheel circumference. This construction cannot avoid the discontinuous traces and originate an irregular contact with surfaces because of gaps between successive rollers or wheels, which produce vibrations in the robot. To cancel these effects in these types of wheels there are some solutions which reduce the size gap between the passive rollers [24]. Mecanum [25] (Figure 1b), was invented in 1973 by Ilon, an engineer working for the Swedish Company Macanum AB and is other design type of wheel based on rollers arranged in an overlapping way in such a way that contact between the wheel and the ground is continuous. These wheels are thus usually positioned in pairs on the same axle but with opposite orientations to form a four-wheel structure. The drawback of these wheels is the generation of horizontal vibrations because of the parasite torques which are generated by the fact the contact point moves along a line parallel to the wheel shaft. The double wheel concept, presented in Figure 1c, is a solution based on two overlapping parallel wheels. The contact between the assembly wheel and the ground is continuous. This design generates an important horizontal vibration originated by the gaps between the rotating inner wheels. Finally, in the design of the Figure 1d, the contact points are in line, which avoids the horizontal vibrations and the alternated use of passive rollers of different sizes and shapes minimizes the gap between them thus causing little vertical vibration. of the parasite torques which are generated by the fact the contact point moves along a line parallel to the wheel shaft. The double wheel concept, presented in Figure 1c, is a solution based on two overlapping parallel wheels. The contact between the assembly wheel and the ground is continuous. This design generates an important horizontal vibration originated by the gaps between the rotating inner wheels. Finally, in the design of the Figure 1d, the contact points are in line, which avoids the vibrations and the alternated use of passive rollers of different sizes and shapes minimizes4 of 21 Sensors horizontal 2016, 16, 1658 the gap between them thus causing little vertical vibration. (a) (b) (c) (d) Figure 1. Types of omnidirectional wheels and their traces: (a) multiple passive rollers (or inner Figure 1. Types of omnidirectional wheels and their traces: (a) multiple passive rollers (or inner passive wheels) whose axes are positioned tangent to the main wheel circumference; (b) with the passive wheels) whose axes are positioned tangent to the main wheel circumference; (b) with the rollers arranged in an overlapping way where the contact between the wheels and the ground is rollerscontinuous; arranged in an overlapping way where the contact between the wheels and the ground is (c) based on two overlapping parallel wheels; (d) based on using alternated passive continuous; (c) based on two rollers with different size overlapping and shape. parallel wheels; (d) based on using alternated passive rollers with different size and shape. Sensors 2016, 16, 1658 4 of 21 3. The Assistant Personal Robot 3. The Assistant Personal Robot The concept and design of the Assistant Personal Robot (APR, Figure 2) was presented in [9] with The concept and design of the Assistant Personal Robot (APR, Figure 2) was presented in [9] the aim to provide personal assistance services in households or institutions without interfering with with the aim to provide personal assistance services in households or institutions without interfering the inhabitants. The APR was designed to be very maneuverable and capable of navigating in tight with the inhabitants. The APR was designed to be very maneuverable and capable of navigating in spaces. physical design of the APR was inspired and includes several resemblances with humans tightThe spaces. The physical design of the APR was inspired and includes several resemblances with in order to operate, and moveand themove headthe and theand arms a similar way. way. humans in order maneuver to operate, maneuver head theinarms in a similar (a) (b) Figure 2. Assistant Personal Robot (APR): (a) CAD design; (b) prototype implementation. Figure 2. Assistant Personal Robot (APR): (a) CAD design; (b) prototype implementation. The APR (Figure 2) is a holonomic mobile robot, based on a mechanical structure where all The APR a holonomic robot, based on a mechanical structure parts where all elements of (Figure the APR 2) areissupported mademobile with a combination of stainless steel and aluminum to guarantee the durability, resistance andwith control the weight. The structure steel of theand APRaluminum is divided parts elements of the APR are supported made a combination of stainless into a circular base containing motion system based on The threestructure omnidirectional to guarantee the section durability, resistancethe and control the weight. of thewheels, APR isand divided body,section which has two rotating arms a multi-touch panoramic screenomnidirectional for interacting with into aa thin circular base containing theand motion system based on three wheels, humans. This agile, compact and reliable design avoids the presence of sharp edges or projecting and a thin body, which has two rotating arms and a multi-touch panoramic screen for interacting with parts, and facilitates its application in a domestic environment. Moreover, the mechanical structure formed by the body simplifies the application and development of supplementary mechanical devices. The APR has a weight of 35 kg with the heavy elements placed on the base and close to the ground in order to provide a lower center of mass and stable displacement. The APR has a triangular contact area with the ground because of the three wheeled motion system. The base contains the Sensors 2016, 16, 1658 5 of 21 humans. This agile, compact and reliable design avoids the presence of sharp edges or projecting parts, and facilitates its application in a domestic environment. Moreover, the mechanical structure formed by the body simplifies the application and development of supplementary mechanical devices. The APR has a weight of 35 kg with the heavy elements placed on the base and close to the ground in order to provide a lower center of mass and stable displacement. The APR has a triangular contact area with the ground because of the three wheeled motion system. The base contains the motion system based on three omnidirectional wheels, the batteries, the LIDAR, and the main electronic boards. The external design of the base is completed with a bent plastic ABS case, which provides a flexible protection that will absorb part of the impact in case of collision. The interactive zone contains a multi-touch panoramic screen and two shoulders with one degree of freedom in order to move the arms forwards and backwards. The chest and shoulders of the APR are located at approximately 1.3 m height which is slightly lower than the shoulders of an average Sensors 2016, 16, 1658 5 of human. 21 This position was chosen in order to give elderly people direct access to hold the arms of the robot. average human. order to give elderly people direct to hold The shoulders of theThis APRposition containwas twochosen heavyinMicromotor DC motors which are access connected to the two soft arms of the robot. The shoulders of the APR contain two heavy Micromotor DC motors which are arms with a 35 cm separation between them. The arms are 55 cm long just for esthetical reasons and connected to two soft arms with a 35 cm separation between them. The arms are 55 cm long just for can be used as a support by elder people when walking or used for basic gesture interactions. The arms esthetical reasons and can be used as a support by elder people when walking or used for basic are periodically moved The during forward displacement in order to mimic the natural movements gesture interactions. armsaare periodically moved during a forward displacement in order to performed by humans while walking. mimic the natural movements performed by humans while walking. The The APRAPR hashas a height of of 164 of48 48cm cmininorder order simplify remote tele-control a height 164cm cmand andaa width width of to to simplify the the remote tele-control the mobile robot when passingthrough throughdoorways, doorways, small or or complicated paths. The most of theofmobile robot when passing smallcorridors corridors complicated paths. The most characteristic parts of the APR is the holonomic motion system and this paper describes the characteristic parts of the APR is the holonomic motion system and this paper describes the mechanical mechanical implementation and the control of the motion system. implementation and the control of the motion system. 3.1. Mechanical Implementation theMotion MotionSystem System of 3.1. Mechanical Implementation of ofthe of the theAPR APR The omnidirectional robots can maneuver in small spaces and perform complex trajectory paths. The omnidirectional robots can maneuver in small spaces and perform complex trajectory paths. The inclusion of a circular design also minimizes the probability of it getting accidentally caught on The inclusion of a circular design also minimizes the probability of it getting accidentally caught on furniture objects such as mats, curtains or clothing. Figure 3 shows the motion system of the APR, furniture such as use mats, or clothing. wheels, Figure shifted 3 shows theand motion system of the APR, whichobjects is based in the of curtains three omnidirectional 120° composed of passive ◦ which is based the use of three omnidirectional wheels, shifted 120motors and composed passive rollers. rollers. Thisinthree-wheeled robot has three independent geared DC attached toofthe wheels This three-wheeled robot3-DOF. has three independent geared DC motors attached to the and and they can achieve Each wheel has the same distance, R, from its center to wheels the center of they the can achieve 3-DOF. Each wheel has the same distance, R, from its center to the center of the mobile robot. mobile robot. Figure 3. CADmodel model of system based on theon usethe of three omnidirectional wheels shifted Figure 3. CAD of the themotion motion system based use of three omnidirectional wheels 120°. ◦ shifted 120 . In the future, this motion system will include additional suspension in order to minimize the vertical vibrations caused by the gap between the omnidirectional wheels. The inclusion of a suspension system based on springs allows the adaptation of the preload to different floor conditions. The design of the APR is based on the operating principle of a pendulum. This design allows individual damping and pillar oscillation. The pivoting point is placed over the center of mass, mainly formed by the batteries, so the forces that appear during the oscillations tend to put the body to rest, reaching the natural damping equilibrium of the device. Sensors 2016, 16, 1658 6 of 21 In the future, this motion system will include additional suspension in order to minimize the vertical vibrations caused by the gap between the omnidirectional wheels. The inclusion of a suspension system based on springs allows the adaptation of the preload to different floor conditions. The design of the APR is based on the operating principle of a pendulum. This design allows individual damping and pillar oscillation. The pivoting point is placed over the center of mass, mainly formed by the batteries, so the forces that appear during the oscillations tend to put the body to rest, reaching the natural damping equilibrium of the device. 3.2. Omnidirectional Wheels The design of the omnidirectional wheels is based on alternating passive rollers with different Sensors 2016, 16,in 1658 6 ofvertical 21 size and shapes order to minimize the gap between the rollers (see Figure 4) which causes vibration. This16,implementation allows wheel spin and perpendicular displacements from 6the Sensors 2016, 1658 of 21wheel vibration. This implementation allows wheel spin and perpendicular displacements from the wheel forwarding direction and thus the direct displacement in any direction. forwarding direction and thus the direct displacement in any direction. vibration. This implementation allows wheel spin and perpendicular displacements from the wheel forwarding direction and thus the direct displacement in any direction. Figure 4. Detail of the gap between the passive rollers. Figure 4. Detail of the gap between the passive rollers. Detailinofthe the gap the passive rollers. The omnidirectionalFigure wheel4.used APRbetween has seven passive rollers of two different types, whose axes are positioned tangent circumference. Figureof 5atwo shows the CAD design The omnidirectional wheel usedto inthe themain APRwheel has seven passive rollers different types, whose The omnidirectional wheel used in the APR has seven passive rollers of two different types, of the omnidirectional wheels and Figure 5b the prototype implementation. Additionally, Figure axes are positioned tangent to the main wheel circumference. Figure 5a shows the CAD design 6of the whose axes are positioned tangent to the main wheel circumference. Figure 5a shows the CAD design shows a detail of the passive rollers and shape of the circumference ofAdditionally, the wheel. omnidirectional wheels and Figure thethe prototype implementation. Figure 6 shows of the omnidirectional wheels and5b Figure 5b the prototype implementation. Additionally, Figure 6 a detail of the passive rollers and the shape of the circumference of the wheel. shows a detail of the passive rollers and the shape of the circumference of the wheel. (a) (b) Figure 5. Design of the (a)omnidirectional wheel: (a) CAD model (b) prototype (b)implementation. Figure 5. Design of the omnidirectional wheel: (a) CAD model (b) prototype implementation. Figure 5. Design of the omnidirectional wheel: (a) CAD model (b) prototype implementation. Sensors 2016, 16, 1658 (a) 7 of 21 (b) Figure 5. Design of the omnidirectional wheel: (a) CAD model (b) prototype implementation. Sensors 2016, 16, 1658 7 of 21 The shape of bracket rollers allows that the small roller can be partially housed in the big roller, allowing dismiss the gap between the rollers. The circumference of the wheels has an external diameter of 300 mm and a width of 46 mm. The weight of each omnidirectional wheel implemented in aluminum is 2.6 kg. The main parts of the omnidirectional wheel (Figure 7) are the roller brackets Figure 6. CAD section showing the alternate use of the two passive roller types. (FiguresFigure 8 and 9) passive rollers. the Thealternate shape of the rollers allows the overlapping of 6. and CADthe section showing use bracket of the two passive roller types. the rollers in order to reduce the size of the gap (2.5 mm in this implementation) and to minimize the vertical vibrations in the transitions. Figure 7 shows an exploded view of the basic components of the Thewheel. shapeSensors of bracket rollers allows that the small roller can be partially housed in the big roller, 2016, 16, 1658 7 of 21 allowing dismiss the gap between the rollers. The circumference of the wheels has an external diameter The shape of bracket rollers allows that the small roller can be partially housed in the big roller, of 300 mm and aallowing widthdismiss of 46 mm. The weight of each omnidirectional wheel implemented in aluminum the gap between the rollers. The circumference of the wheels has an external diameter of 300 of mmthe and aomnidirectional width of 46 mm. The weight of each omnidirectional wheelroller implemented is 2.6 kg. The main parts wheel (Figure 7) are the brackets (Figures 8 aluminum is 2.6 kg. The main parts of the omnidirectional wheel (Figure 7) are the roller brackets and 9) and the in passive rollers. The shape of the bracket rollers allows the overlapping of the rollers (Figures 8 and 9) and the passive rollers. The shape of the bracket rollers allows the overlapping of in order to reduce the in size oftothe gap (2.5ofmm in(2.5 this and to minimize the vertical the rollers order reduce the size the gap mmimplementation) in this implementation) and to minimize the vertical vibrations inFigure the transitions. Figure 7 shows an exploded view the basic components of the of the wheel. vibrations in the transitions. 7 shows an exploded view ofofthe basic components wheel. Figure 7. Exploded view of the basic components of the wheel. In the first prototype some parts like rollers and rollers brackets were made in ABS plastic using the technique of rapid prototyping by fusion deposition modeling (FDM). The main advantage of a rapid prototyping manufacturing is the simple implementation of any type of complex piece. Figure 7. Exploded viewend of the basic components the wheel. Nevertheless, several plastic rollers brackets up breaking in of areas of accumulation of tension due Figure 7. Exploded view of the basic components of the wheel. to fatigue stresses. In the first prototype some parts like rollers and rollers brackets were made in ABS plastic using the technique of rapid prototyping by fusion deposition modeling (FDM). The main advantage of a rapid prototyping manufacturing is the simple implementation of any type of complex piece. Nevertheless, several plastic rollers brackets end up breaking in areas of accumulation of tension due to fatigue stresses. Figure 8. Drawing front and side elevation of roller bracket (units in mm). 8. Drawing front and side elevation of roller bracket (units in mm). FigureFigure 8. Drawing front and side elevation of roller bracket (units in mm). Sensors 2016, 16, 1658 8 of 21 Figure 8 shows the simplified symmetric aluminum implementation of the roller brackets in order to improve the durability, reduce the cost and simplify the construction of the wheels. The rollers brackets are simple part which is based on an aluminum plate (8 mm height), cut with a laser Sensors 2016, 16, 1658 by numeric control and combined with holes also implemented with a computer numeric control to allow the correct orientation of edges to passive rollers (see Figure 9). Sensors 2016, 16, 1658 8 of 21 8 of 21 Figure 8 shows the simplified symmetric aluminum implementation of the roller brackets in order to improve the durability, reduce the cost and simplify the construction of the wheels. The rollers brackets are simple part which is based on an aluminum plate (8 mm height), cut with a laser by numeric control and combined with holes also implemented with a computer numeric control to allow the correct orientation of edges to passive rollers (see Figure 9). (a) (b) Figure 9. Rollers brackets with axis of big passive roller (green axis) and small passive roller (blue Figure 9. Rollers of plastic big passive roller (green axis) and (b) small passive roller (blue axis). axis). brackets (a) Examplewith madeaxis of ABS with a rapid prototyping 3D printer; made of aluminum with laser cut and numeric control. (a) Example made of ABS plastic with a rapid prototyping 3D printer; (b) made of aluminum with laser cut and numeric control. The rollers were also made of aluminum using a numerical control lathe (see Figures 10–13) and covered with 0.8 mm adherent plastic to increment the grip. The rollers with barrel-shaped are alternated in order to achieve a continuous contact. The big passive roller has a maximum diameter In the first prototype some parts like rollers and rollers brackets were made in ABS plastic of 44.48 mm and a length of 67.5 mm (see Figures 10 and 11). The small passive roller has a maximum using the technique of26.52 rapid by fusion (FDM). The main advantage diameter of mmprototyping and a length of 60.5 mm (see deposition Figures 12 andmodeling 13). of a rapid prototyping manufacturing is the simple implementation of any type of complex piece. Nevertheless, several plastic rollers brackets end up breaking in areas of accumulation of tension due to fatigue stresses. Figure 8 shows the simplified symmetric aluminum implementation of the roller brackets in order to improve the durability, reduce the cost and simplify the construction of the wheels. The rollers (a) (b) brackets are simple part which is based on an aluminum plate (8 mm height), cut with a laser by Figure 9. Rollers brackets with axis of big passive roller (green axis) and small passive roller (blue numeric control and combined with holes also implemented with a computer numeric control to allow axis). (a) Example made of ABS plastic with a rapid prototyping 3D printer; (b) made of aluminum the correct orientation of edges passive rollers (see Figure 9). with laser cut and numerictocontrol. The rollers were also made of aluminum using a numerical control lathe (see Figures 10–13) rollers made ofplastic aluminum using a numerical control lathe (see Figures 10–13) and and coveredThe with 0.8were mmalso adherent to increment the grip. The rollers with barrel-shaped are covered with 0.8 mm adherent plastic to increment the grip. The rollers with barrel-shaped are alternated in order to achieve a continuous contact. The big passive roller has a maximum diameter of alternated in order to achieve a continuous contact. The big passive roller has a maximum diameter 44.48 mm and a length of 67.5 mm (see Figures 10 and 11). The small passive roller has a maximum of 44.48 mm and a length of 67.5 mm (see Figures 10 and 11). The small passive roller has a maximum diameter of 26.52 a length of of 60.5 and diameter of mm 26.52 and mm and a length 60.5mm mm(see (see Figures Figures 1212and 13).13). Figure 10. Drawing front and side elevation of big passive roller (units in mm). Figure 10. Drawing front and side elevation of big passive roller (units in mm). Figure 10. Drawing front and side elevation of big passive roller (units in mm). Sensors 2016, 16, 1658 9 of 21 Sensors 2016, 16, 1658 Sensors 2016, 16, 1658 Sensors 2016, 16, 1658 (a) (b) (a) (b) Figure 11. Big passive roller implemented in (a) plastic ABS and (b) (a) (b) aluminum. Figure 11. Big passive roller implemented in (a) plastic ABS and aluminum. Figure 11. Big passive roller implemented in (a) plastic ABS and (b)(b) aluminum. Figure 11. Big passive roller implemented in (a) plastic ABS and (b) aluminum. Figure 12. Drawing front and side elevation of small passive roller (units in mm). Figure 12. Drawing front and side elevation of small passive roller (units in mm). Figure 12. Drawing front and side elevation of small passive roller (units in mm). Figure 12. Drawing front and side elevation of small passive roller (units in mm). (a) (b) (a) (b) Figure 13. Small (b) aluminum. (a) passive roller implemented in (a) plastic ABS and(b) Figure 13. Small passive roller implemented in (a) plastic ABS and (b) aluminum. Figure 13. Small passive roller implemented in (a) plastic ABS and (b) aluminum. Figure 13. Small passive roller implemented in (a) plastic ABS and (b) aluminum. 9 of 21 9 of 21 9 of 21 Sensors 2016, 16, 1658 Sensors 2016, 16, 1658 10 of 21 10 of 21 3.3. Inverse Kinematic Model 3.3. Inverse Kinematic Model The functioning principle of the three omnidirectional wheels shifted 120◦ is based on providing The functioning principle of the three omnidirectional wheels shifted 120° is based on providing traction in the direction normal to the motor axis while the passive rollers slide in the direction of the traction in the direction normal to the motor axis while the passive rollers slide in the direction of the motor axis. The design of the omnidirectional motion allows simultaneous sideways and rotation motor axis. The design of the omnidirectional motion allows simultaneous sideways and rotation motion. However, for the shake of simplicity, the study the mobile robot mobility has been divided in motion. However, for the shake of simplicity, the study the mobile robot mobility has been divided two parts: translation and rotation. The relationship between the forces exerted by the wheels and the in two parts: translation and rotation. The relationship between the forces exerted by the wheels and robot was based in a dynamic model. The linear and and angular velocities of the mobile robot the movement robot movement was based in a dynamic model. The linear angular velocities of the mobile arerobot the inputs of kinematic model whereas the outputs are robot wheels velocities. are the inputs of kinematic model whereas the outputs are robot→wheels velocities. Figure the mobile mobile robot, robot, v, which , whichcan can represented Figure1414show showthe theinput inputvelocity velocity vector vector of of the bebe represented in in polar form velocityvector vectorisisthe thetarget target vector which is discomposed in each polar formasas(υ, (υ,α). α). This This velocity vector which is discomposed in each wheelwheel in in two twovectors: vectors:one one projection is normal direction to the motor axis and the other is transversal. projection is normal direction to the motor axis and the other is transversal. The The translation velocities of wheels the wheels b, c been havenamed been named , vtb , and vtcwheels . The wheels translation velocities of the a, b, ca,have as , as v, taand . The can slidecan slide in the direction of motor the motor thanks theofuse of passive in the direction of the axis axis thanks to thetouse passive rollers.rollers. Figure Kinematic diagram translation mobile robot: define the velocity Figure 14.14. Kinematic diagram of of thethe translation of of thethe mobile robot: v andand α define the velocity vector , , and are the velocity in each of the wheels vector of the mobile robot in polar form and of the mobile robot in polar form and vta , vtb , and vtc are the velocity in each of the wheels caused by translation. bycaused translation. Figure 15 shows the projection on the normal direction, , , and due to the rotation ω. Figure 15 shows the projection on the normal vra , vrb , and vrc due to the rotation ω. The rotational movement provides equivalent speeddirection, at each wheel. The rotational movement providesthe equivalent speed each wheel. The equations that describe velocity of each at wheel, , in terms of rotation and translation The equations that describe the velocity of each wheel, ν , in terms of rotation and translation are w are Equations (1) and (2): Equations (1) and (2): , , , , , , , (1) νw (νa , νb , νc ) = vtraslation (νta , cos νtb , ν30 (1) tc ) + vrotation ( νra , νrb , νrc ), ∙ cos 150 ∙ , , , (2) cos cos (270 30 − α) ν (νa , νb , νof v · cos (150 · R, (2) − αmodule ) +ω c) = , , are thew velocity the wheels, is the of the mobile robot velocity, where α) is the angular orientation expressed in degrees, cosis(270 the − rotation of the mobile robot and is the Sensors 2016, 16, 1658 11 of 21 where νw (νa , νb , νc ) are the velocity of the wheels, v is the module of the mobile robot velocity, α is the Sensors 2016, 16, 1658 11 of 21 angular orientation expressed in degrees, ω is the rotation of the mobile robot and R is the distance between wheelsthe and the center mobile mm). Equations (1) and (2) can be used distancethe between wheels and theofcenter of robot mobile(220 robot (220 mm). Equations (1) and (2) can be to used estimate the velocity of the wheels required to move the mobile robot at a desired velocity and to estimate the velocity of the wheels required to move the mobile robot at a desired velocity angular rotation. and angular rotation. Figure 15. Kinematic diagram of the rotation of the mobile robot: is the rotation and , , and Figure 15. Kinematic diagram of the rotation of the mobile robot: ω is the rotation and vra , vrb , and vrc are the velocity in each of the wheels caused by rotation motion. is the distance between the are the velocity in each of the wheels caused by rotation motion. R is the distance between the wheels wheels and the center of mobile robot. and the center of mobile robot. 3.4. Kinematic Model 3.4. Kinematic Model The kinematic model of the mobile robot is based on the analysis of the rotation of the wheels in The of the mobile robot is based the mobile analysis of the rotation of the wheels order tokinematic estimate υmodel (in m/s), α (in rad) and ω (in rad/s) on of the robot. The APR estimates the in velocity order toof estimate υ (in m/s), α (in rad) and ω (in rad/s) of the mobile robot. The APR the wheels by using the encoders in the motors of the wheels. The computationestimates of the thekinematic velocity model of the wheels by using encoders in the motors of the wheels. computation from Equation (2) the is not trivial because it is a non-linear system.The In this paper, the of thekinematic kinematic model from Equation not trivial because it is abecause non-linear In this model of the mobile robot(2) hasisbeen obtained graphically onlysystem. the velocities ofpaper, the are available. 16 shows thehas kinematic diagramgraphically of the motion of the mobile robot, where of thewheels kinematic model ofFigure the mobile robot been obtained because only the velocities , , are velocityFigure of the wheels, represented on thediagram projections directions of mobile the wheels; the wheels arethe available. 16 shows the kinematic of of thethe motion of the robot, , νa ,, νb , ν, c are , the , are the projections of therepresented possible velocity vector of motion; and directions , , arethe where velocity of the wheels, on the projections of the of the points cuts. The interpretation of Figure 16 is as follows: the dashed lines show the normal wheels; wa , wb , wc , r a , rb , rc are the projections of the possible velocity vector of motion; and P1 , P2 , P3 to the motor of each wheel the 16 arrow of rotation of aredirection the points cuts. Theaxis interpretation of and Figure is asindicates follows:the thepositive dasheddirection lines show the normal the wheel andmotor on which project the and speed each wheel, which it is a sum of the speed of direction to the axis we of each wheel theofarrow indicates the positive direction of rotation translation and rotation. In the case of no rotation in the displacement of the mobile robot (Figure 14), of the wheel and on which we project the speed of each wheel, which it is a sum of the speed of the velocity vector of translation are at some point at the normal line established at the end of the translation and rotation. In the case of no rotation in the displacement of the mobile robot (Figure 14), vector speed of each wheel, and then the solution is the cutoff point. In the case of rotation in the the velocity vector of translation are at some point at the normal line established at the end of the displacement of the mobile robot (Figure 15), the velocity vector is equidistance to the normal lines vector speed of each wheel, and then the solution is the cutoff point. In the case of rotation in the because the rotational movement provides equivalent speeds at each wheel. displacement of the mobile robot (Figure 15), the velocity vector is equidistance to the normal lines because the rotational movement provides equivalent speeds at each wheel. Sensors 2016, 16, 1658 12 of 21 Sensors 2016, 16, 1658 12 of 21 Figure 16. Graphic diagram to solve the kinematic of mobile robot based on use the projections of the Figure 16. Graphic diagram to solve the kinematic of mobile robot based on use the projections of the velocity vectors of each wheel. velocity vectors of each wheel. The equations to calculate the projection line of velocity of each wheel , , are: The equations to calculate the projection line of velocity of each wheel r a , rb rc , are: : tan 30 ∙ ∙ cos 30 √3 √3 √3 1 ∙ ∙ ! √ √ 22 3√ 2 2 2 3 3 3 3 1 (3) r a : y = −tan30 · x + (v a · cos30 + v a · tan30 + · 2 )√3= − 3 · x + v a √3· sin30 2 3 2 : ∙ (3) 3 3√ √ 2 3 223 · x30 + v a ∙ tan 30 ∙ sin 30 : tan 30r a∙ : y = − 3∙ cos 3 √3 √3 √3 1 √ ! √ √ ∙ ∙ 2 2 3 2 3 2 23 3 3 1 (4) rb : y = tan30 · x + ((−vb ) · cos30 + (−vb ) · tan30 · sin30) = · x − vb + · 3 2 3 2 2 √3 √3 (4) √ : √ ∙ 2 3 3 232 3 rb : y = ·x− v (5) 3: 3 b rc : as x= vc This equidistant point can be obtained the−centroid of the triangle formed, which can be (5) obtained using the cutoffs of , , ∙ tan 30 ∙ sin 30 : This equidistant point can be obtained as the centroid of the triangle formed, which can be obtained using the cutoffs of r a , rb , rc : √3 ⟺ : , rc ⇔ rb : P1 = ⟺ : 2 3 ! √ 2 3 −vc , − (vc + 2vb ) 3 √3 , 2 3 ! √ 2 3 rc ⇔ r a : P2 = −vc , (vc + 2v a ) 3 √3 ⟺ : , 3 ! √ 2 3 r a ⇔ rb : P3 = v a + vb , (v a − vb ) 2 √3 3 , , ! √ 3 3 3 3 v a + vb − 2vc 2 3 (v a − vb ) P1x + P2x + P3x P1y + P2y + P3y , = , G= 3 3 3 3 (6) (6) (7) (7) (8) (8) Sensors 2016, 16, 1658 Sensors 2016, 16, 1658 13 of 21 13 of 21 Andthen, then,the theequations equationsfor forcalculating calculatingthe thevelocity velocityvector vector of ofthe themobile mobilerobot, robot,→ whichcan canbe be v ,,which And represented in polar form as (υ, α) and ω are: represented in polar form as (υ, α) and ω are: v= q 2 s ( Gx )2 + Gy 2 = 2 2 v a + vb − 2vc 2 (v a − vb )2 + 3 3 3 3 √3 ! √ 2 3 (v a − v2b ) v a + vb − 2vc 2 ω∙ v a + vb − 2vc 3 − (−vc ) ω · R = Gx − r c = 3 v a + vb + vc ωω= 3 3R α 90 tan α = 90 − tan−1 (9) (9) (10) (10) (11) (11) being v the thevelocity velocityofof the mobile robot, α the angular orientation ω angular the angular rotation of being the mobile robot, α the angular orientation andand ω the rotation of the the mobile robot. mobile robot. 4. Control of of the the Motion System 4. Control The system of of the theAPR APRisiscontrolled controlled with ARM Cortex-M4 microcontroller [9]. The motion system with an an ARM Cortex-M4 microcontroller [9]. The The control of motion the motion is based oninformation the information provided byencoders the encoders themotors DC motors control of the is based on the provided by the of theofDC of the of the mobile The magnetic encoders available in the DCgenerate motors generate three mobile robot. robot. The magnetic encoders available in the low costlow DC cost motors three impulses impulses per turn and the motor velocity is estimated by counting the time between the pulses per turn and the motor velocity is estimated by counting the time between the pulses with a 16with bits atimer 16 bitscounter timer counter so are theretree are velocity tree velocity estimates motor turn. Thewheel wheelvelocity velocity is directly so there estimates perper motor turn. The directly estimated estimated by by dividing dividing the the motor motor velocity velocity by by the the fixed fixed mechanical mechanical gear gear ratio ratio of of the the DC DC motors motors (43:1). (43:1). The microcontroller generates three Pulse Width Modulation (PWM) signals which are expressed The microcontroller generates three Pulse Width Modulation (PWM) signals which are expressedin in percentage H-bridges in in order to convert thethe 12 V V atVfull charge) of the percentage(%) (%)and andapplied appliedtotothree three H-bridges order to convert 12(13.8 V (13.8 at full charge) of battery into into an average DC voltage in the Figure 17 shows the wheel labeling used:used: wheel 1 is the battery an average DC voltage inmotors. the motors. Figure 17 shows the wheel labeling wheel the wheel 2 is the and wheel 3 is the wheel. 1 isfront-left, the front-left, wheel 2 isfront-right, the front-right, and wheel 3 isback the back wheel. Figure17. 17.Detail Detailof ofthe thelabeling labelingand andpositive positiveangular angularvelocity velocityof ofthe thewheels. wheels. The Thegreen greenarrow arrowdepicts depicts Figure the front of the mobile robot. the front of the mobile robot. The DC motors are powerful enough to displace the 35 kg of the mobile robot with a forward The DC motors are powerful enough to displace the 35 kg of the mobile robot with a forward velocity comparable with that of a walking human. Figure 18 shows the profile of the velocity of the velocity comparable with that of a walking human. Figure 18 shows the profile of the velocity of the wheels of the APR in case of applying a fixed PWM of 62%, 40%, 25% during 4 s to the motors of the wheels of the APR in case of applying a fixed PWM of 62%, 40%, 25% during 4 s to the motors of the APR in an open loop operation without any feedback control. The average velocities of the wheels APR in an open loop operation without any feedback control. The average velocities of the wheels were approximately 45, 30 and 15 rpm respectively. Figure 19 shows an image of the initial and were approximately 45, 30 and 15 rpm respectively. Figure 19 shows an image of the initial and ending ending mobile robot position obtained after this experiment. Figure 18 shows that, in this case, the mobile robot position obtained after this experiment. Figure 18 shows that, in this case, the wheels wheels reach the 80% of the maximum speed in only 0.1 s which means that the mobile robot reaction is very fast but then the mechanical stress suffered by the onboard mechanical and electronic elements Sensors 2016, 16, 1658 14 of 21 reach the 80% of the maximum speed in only 0.1 s which means that the mobile robot reaction is Sensors 2016, 16, 1658 of 21 very fast but then the mechanical stress suffered by the onboard mechanical and electronic14elements is also very high. Figure 18 also shows that there are an unwanted peak prior velocity stabilization. is also very high. Figure 18 also shows that there are an unwanted peak prior velocity stabilization. Despite thesethese citedcited effects, thethe trajectory ofof the anopen openloop loopininthe the motors is Despite effects, trajectory theAPR APRininthe thecase case of of using using an motors very stable and visually predictable. The only drawback is a violent acceleration and deceleration is very stable and visually predictable. The only drawback is a violent acceleration and deceleration due to thedue power ofpower the motors used inused the in motion system. to the of the motors the motion system. 50 45 40 Velocity (rpm) 35 30 25 20 15 10 5 0 0 Wheel 1 Wheel 2 Wheel 3 1 2 Time (s) 3 4 5 Figure 18. Wheel velocity profile during an open loop operation. Figure 18. Wheel velocity profile during an open loop operation. The control of the velocity of the wheels of the mobile robot has been performed by applying a The control of the velocity of theand wheels of the(PID) mobile robot to has performed applying conventional Proportional, Integral, Derivative controller thebeen velocity of the DCby motors in a closedProportional, loop control. In general,and the PID controller is designed to provide fast reaction target a conventional Integral, Derivative (PID) controller to the velocity of thetoDC motors changes. However, of the PID alsoisallows a smoothed supervised evolution in a closed loop control.anInadequate general,design the PID controller designed to provide fast reaction toof target the power applied to the device controlled. In this paper, the tuning of the PID controller constants changes. However, an adequate design of the PID also allows a smoothed supervised evolution of has been performed a trial controlled. and error procedure with the of obtaining a smooth, stableconstants and the power applied to thebydevice In this paper, theaim tuning of the PID controller visually predictable mobile robot motion. At the end of this subjective manual tuning procedure the has been performed by a trial and error procedure with the aim of obtaining a smooth, stable and PID controller has been simplified as a Proportional and Integral (PI) controller with KP and KI values visually predictable mobile robot motion. At the end of this subjective manual tuning procedure of 0.01 and 1.50 respectively (Figure 20). As a summary, the control procedure applied is as follows: the PID has been simplified a aProportional Integral controller KP and KI (1) acontroller target velocity (in rpm) is definedasfor wheel; (2) oneand internal timer(PI) is used to countwith the encoder values of 0.01 and 1.50 respectively (Figure 20). As a summary, the control procedure applied pulses and to estimate the velocity of the DC motor velocity (in rpm); (3) the motor velocity is then is as follows: (1) a target velocity (in(inrpm) forthe a gear wheel; (2)(4) one timer is usedwheel to count converted to wheel velocity rpm)isbydefined applying ratio; theinternal target and measured velocity pulses are thenand compared; and the (5) the difference is DC multiplied KD and and integrated the encoder to estimate velocity of the motor by velocity (inKIrpm); (3) the motor (cumulated). In this paper, the cumulative converted in target PWM and velocity is then converted to wheel velocity (indifference rpm) by expressed applying in therpm gearis ratio; (4) the percentage by applying a conversion factor of approximately 1.42%/rpm. measured wheel velocity are then compared; and (5) the difference is multiplied by KD and KI and 21 showsInthe profile of the of thedifference wheels of expressed the APR inin case of activating the in DCPWM integratedFigure (cumulated). this paper, the velocity cumulative rpm is converted motors during 4 s and controlling the velocity with the proposed closed loop. Figure 21 shows that, percentage by applying a conversion factor of approximately 1.42%/rpm. in this case, the wheels reach the 80% of the maximum speed in more than 1 s. The drawback of this Figure 21 shows the profile of the velocity of the wheels of the APR in case of activating the DC closed loop control is that the integral controller does not stop the mobile robot instantaneously motors during s and controlling the velocity with the proposed loop. Figure 21 shows because the4deceleration profile is similar to the acceleration profile.closed In the practice, the selection of a that, in this case,wheel the wheels than 1 creates s. The adrawback target velocityreach up tothe the80% 95%ofofthe themaximum maximum speed velocityinofmore the motors smooth of this closed loop control is that the integral controller not stop the mobile robot acceleration and deceleration profile that not saturatedoes the motors, reduce vibrations and instantaneously improve the external predictability of the trajectory of the robot. In anyprofile. case, theIn high control system because the deceleration profile is similar to mobile the acceleration theorder practice, the selection of the wheel APR can force an the mobile robot by the integral of a target velocity up instantaneous to the 95% ofstop the of maximum velocity of disconnecting the motors creates a smooth controller and short-cuttingprofile the H-bridges order to block the motors (applying an electrical brake). the acceleration and deceleration that notinsaturate the motors, reduce vibrations and improve external predictability of the trajectory of the mobile robot. In any case, the high order control system of the APR can force an instantaneous stop of the mobile robot by disconnecting the integral controller and short-cutting the H-bridges in order to block the motors (applying an electrical brake). Sensors 2016, 16, 1658 15 of 21 Sensors 2016, 16, 1658 15 of 21 Sensors 2016, 16, 1658 15 of 21 Sensors 2016, 16, 1658 15 of 21 Figure 19. Composite image created to show the relative displacement of the mobile robot originated Figure 19. Composite created to show therelative relativedisplacement displacement the mobile robot originated Figure 19. Compositeimage image created to18. show the relative ofof the mobile robot originated Figure 19. image to show the of the mobile robot originated byComposite wheel velocity profilecreated of Figure The APR maintainsdisplacement the absolute angular orientation. byby wheel 18. The TheAPR APRmaintains maintainsthe theabsolute absolute angular orientation. by wheelvelocity velocityprofile profileof ofFigure Figure 18. APR maintains the absolute angular orientation. wheel velocity profile of Figure angular orientation. Target velocity Target Targetvelocity velocity Error Error Error KP KP KP KI RPM PWM MOTOR RPM PWM RPM PWM MOTOR MOTOR KI KI RPM PULSE Figure 20. Detail of the PI controller implementation. RPM PULSE RPM PULSE 50 Figure Figure 20. Detail ofthe thePI PIcontroller controllerimplementation. implementation. Figure20. 20.Detail Detailof controller implementation. 45 Velocity (rpm) Velocity (rpm) Velocity (rpm) 50 40 50 35 45 45 30 40 40 25 35 35 20 30 15 30 25 10 Wheel 1 25 Wheel 2 20 5 Wheel 3 20 0 15 0 1 2 3 4 5 15 Time (s) 10 Wheel 1 during a closed loop operation. 10 Figure 21. Wheel velocity profile Wheel Wheel2 1 5 Wheel Wheel3 2 5 0 Wheel 3 0 1 2 3 4 5 0 Time (s) 0 1 2 3 4 5 Time (s) Figure 21. Wheel velocity profile during a closed loop operation. Figure duringaaclosed closedloop loopoperation. operation. Figure21. 21.Wheel Wheelvelocity velocity profile profile during Sensors 2016, 16, 1658 16 of 21 Sensors 2016, 16, 1658 Sensors 2016, 16, 1658 Finally, Sensors 2016,Figures 16, 1658 16 of 21 16 of 21 the 16 ofwheels, 21 22–24 show the target velocity setpoint applied to the PID of Finally, Figures 22–24 show the target velocity setpoint applied to the PID of the wheels, the the evolution of the wheel estimated with setpoint the encoders, evolution of the Finally, Figures 22–24velocity show the target velocity applied and to thethe PID of the wheels, thePWM evolution of the wheel velocity estimated with the encoders, and the evolution ofof thethe PWM applied Finally, Figures 22–24 show the target velocity setpoint applied to the PID wheels, the evolution of the wheel velocity estimated with the encoders, and the evolution theexample, PWM applied applied to the DC motors. This control system is simple but extremely effective.ofFor when the to the DC of motors. This control system is simple butencoders, extremelyand effective. For example, when the APR the wheel estimated with the the predictable evolution of trajectories the when PWMthe applied to the DC motors. This velocity control system is simple but extremelyalways effective. For example, APR are APR evolution is remotely tele-operated this control system generates which is remotely tele-operated this control system generates always predictable trajectories which are very to the DC motors. This control systemsystem is simple but extremely effective. For example, which when the remotely tele-operated this control generates always predictable trajectories are APR verytakes very is easy tosupervise. supervise. The combination of inverse the inverse kinematic model and the control system easy to The combination of the kinematic model and the control system takes full is remotely tele-operated this controlofsystem generates alwaysmodel predictable trajectories whichtakes are very easy to supervise. The combination the inverse kinematic and the control system full full advantage of the theholonomic holonomic motion of the mobile robot inofcase of severe trajectory advantage of motion of the mobile robot eveneven in case severe trajectory changes.changes. easy to supervise. The combination kinematic the control system takes full advantage of the holonomic motion of of the the inverse mobile robot evenmodel in caseand of severe trajectory changes. advantage of the holonomic motion of the mobile robot even in case of severe trajectory changes. 40 40 40 Velocity (rpm) Velocity (rpm) Velocity (rpm) 100 100 100 Velocity Velocity Setpoint Setpoint Velocity PWM (%) PWM (%) Setpoint PWM (%) 80 80 80 30 30 30 60 60 60 20 20 20 40 40 40 10 10 10 20 20 20 0 00 0 0 0 1 1 1 2 2 2 3 4 5 3 (s) 4 5 Time Time (s) 3 4 5 velocity Time and (s) applied motor PWM PWM (%)(%) PWM PWM (%) 50 50 50 0 60 6 0 6 Figure 22. Wheel 1. Evolution of wheel for a target velocity of 44 rpm. Figure 22.22. Wheel 1. 1.Evolution andapplied appliedmotor motorPWM PWM a target velocity ofrpm. 44 rpm. Figure Wheel Evolutionof ofwheel wheel velocity velocity and forfor a target velocity of 44 Figure 22. Wheel 1. Evolution of wheel velocity and applied motor PWM for a target velocity of 44 rpm. 40 40 40 Velocity (rpm) Velocity (rpm) Velocity (rpm) 100 100 100 Velocity Velocity Setpoint Setpoint Velocity PWM (%) PWM (%) Setpoint PWM (%) 80 80 80 30 30 30 60 60 60 20 20 20 40 40 40 10 10 10 20 20 20 0 00 0 0 0 1 1 1 2 2 2 3 4 3 (s) 4 Time Time 3 (s) 4 Time and (s) applied motor 5 5 5 PWM (%)(%) PWM PWM (%) 50 50 50 0 60 6 0 6 Figure 23. Wheel 2. Evolution of wheel velocity PWM for a target velocity of 29 rpm. Figure 23. Wheel 2. Evolution of wheel velocity and applied motor PWM for a target velocity of 29 rpm. Figure 23.23. Wheel 2. 2.Evolution andapplied appliedmotor motorPWM PWM a target velocity ofrpm. 29 rpm. Figure Wheel Evolutionof ofwheel wheel velocity velocity and forfor a target velocity of 29 Velocity Velocity Setpoint Setpoint Velocity PWM (%) PWM (%) Setpoint PWM (%) Velocity (rpm) Velocity (rpm) Velocity (rpm) 40 40 40 100 100 100 80 80 80 30 30 30 60 60 60 20 20 20 40 40 40 10 10 10 20 20 20 0 00 0 0 0 1 1 1 2 2 2 3 4 3 (s) 4 Time Time 3 (s) 4 Time applied (s) and motor 5 5 5 PWM (%)(%) PWM PWM (%) 50 50 50 0 60 6 0 6 Figure 24. Wheel 3. Evolution of wheel velocity PWM for a target velocity of 15 rpm. Figure 24. Wheel 3. Evolution of wheel velocity and applied motor PWM for a target velocity of 15 rpm. Figure 24. Wheel 3. Evolution of wheel velocity and applied motor PWM for a target velocity of 15 rpm. Figure 24. Wheel 3. Evolution of wheel velocity and applied motor PWM for a target velocity of 15 rpm. Sensors 2016, 2016, 16, 16, 1658 1658 Sensors 17 of of 21 21 17 5. Validation 5. Validation The validation of the three-wheels holonomic motion system consisted of the comparison of the trajectory of the of mobile robot obtained by usingmotion two alternative methods:of (1)the by comparison using a SLAM The validation the three-wheels holonomic system consisted of procedure (used in [26]) forrobot precise absolute based on the information by the the trajectory of the mobile obtained bypositioning using two alternative methods: (1) byprovided using a SLAM onboard LIDAR; usingabsolute the information ofbased the encoders and the kinematic model procedure (used inand [26])(2) forby precise positioning on the information provided by the presented in this paper. objective of validation is tomodel compare both onboard LIDAR; and (2) by The usingmain the information of the encoders andprocedure the kinematic presented measurements. in this paper. The main objective of the validation procedure is to compare both measurements. summarizes eight trajectories of the mobile robot obtained in a first first validation validation Figure 25 summarizes maintain its orientation orientation while moving moving aa straight straight experiments. In this case, the mobile robot has to maintain α (see (seeFigure Figure 19 19 for foraareference). reference). This This capability capability of of fixed distance in a predefined angular direction, α moving without withoutchanging changingthe theorientation orientation a characteristic feature a holonomic motion system moving is is a characteristic feature of aofholonomic motion system that ◦ , 90 ◦, that is validated in experiment. this experiment. The angular direction tested the displacements (0°, 45°, is validated in this The angular direction tested in theindisplacements werewere (0◦ , 45 90°,◦ ,135°, the angular velocity always 135 180◦ ,180°, 225◦225°, , 270◦270°, , 315◦315°) ) and and the angular velocity was was always 0◦ . 0°. The procedure procedureofofeach eachmeasurement measurement follows: a specific mobile robot velocity, distance The is is asas follows: (1)(1) a specific mobile robot velocity, distance and and angular direction the displacement is fixed; the mobile computes the angular velocity angular direction of theofdisplacement is fixed; (2) the(2) mobile robot robot computes the angular velocity of the of the wheels according the kinematic inverse kinematic model, thiswill velocity will remainduring constant the wheels according the inverse model, this velocity remain constant theduring validation validation experiment; (3) robot the mobile robot ideal-time required for the according displacement experiment; (3) the mobile estimates theestimates ideal-timethe required for the displacement the according model; the kinematic model; time (4) the internal time is reset;velocities (5) the angular velocities kinematic (4) the internal measurement is measurement reset; (5) the angular of the wheels are of the wheels are stablished setpoints of the three PI controllers of the robotisand the motion stablished as setpoints of theasthree PI controllers of the mobile robot andmobile the motion automatically is automatically when reaching the experiment, ideal-time ofthe thesetpoints experiment, setpoints of the started; (6) whenstarted; reaching(6)the ideal-time of the of thethe angular velocities angular velocities of the wheels are set to zero and the PI controllers deaccelerate the mobile robot of the wheels are set to zero and the PI controllers deaccelerate the mobile robot until completely until completely stopping device. Figure summarizes the mobile robot with trajectories obtained stopping the device. Figure the 25 summarizes the 25 mobile robot trajectories obtained the information with information the encoders and the kinematic model and with SLAM procedure: the of thethe encoders and theofkinematic model and with the SLAM procedure: thethe circle depicts the position circle depicts position according thecross SLAM procedure the cross of according the information of according the the SLAM procedure and the according theand information the encoders; in both cases encoders; in depicts both cases small line also depicts the final orientation the mobile robot is athe small line also theafinal orientation of the mobile robot which isofapproximately the which same in approximately the same in all trajectories. all trajectories. 1200 1000 800 Y position (mm) 600 400 200 0 -200 -400 -600 -800 -1000 -1000 -500 0 X position (mm) 500 1000 Figure 25. 25. Trajectories followed by by the the mobile mobile robot robot in in eight eight displacements. displacements. The The circle circle depicts depicts the the final final Figure Trajectories followed position and orientation of the mobile robot obtained with the SLAM procedure. The cross depicts position and orientation of the mobile robot obtained with the SLAM procedure. The cross depicts the the final position orientation of mobile the mobile robot according the information of encoders the encoders final position and and orientation of the robot according the information of the and and the the kinematic model. kinematic model. The results shown in Figure 25 show small differences in the mobile robot trajectory estimated The results shown in Figure 25 show small differences in the mobile robot trajectory estimated with the SLAM procedure and with the encoders and kinematic model of the motion system. with the SLAM procedure and with the encoders and kinematic model of the motion system. Figure 26 Figure 26 details the absolute error in the position estimated with the LIDAR and the kinematic details the absolute error in the position estimated with the LIDAR and the kinematic model compared model compared with the planned displacement. The maximum difference between the desired with the planned displacement. The maximum difference between the desired theoretical and estimated theoretical and estimated distance was always lower than 60 mm in all measurements distance was always lower than 60 mm in all measurements corresponding to a planned straight corresponding to a planned straight trajectory displacement of 1000 mm with the mobile robot. Sensors 2016, 16, 1658 Sensors 2016, 2016, 16, 16, 1658 1658 Sensors 18 of 21 18 of of 21 21 18 Moreover,displacement the difference difference of themm position estimated with the SLAM procedure procedure and of the kinematic trajectory ofof 1000 with the mobile with robot.the Moreover, the difference the position Moreover, the the position estimated SLAM and the kinematic model were always lower than 30 mm, which may be considered a very low difference. Finally, estimated with the SLAM procedure and the kinematic model were always lower than 30 mm, model were always lower than 30 mm, which may be considered a very low difference. Finally, Figure 27 shows the differences between the planned angular orientation of the mobile robot and which be considered a verybetween low difference. Finally, Figure 27 shows of thethe differences between Figure may 27 shows the differences the planned angular orientation mobile robot and the values values estimated estimated according the the SLAM procedure and the according the information of the thethe encoders the planned angular according orientation of SLAM the mobile robot and values the estimated according SLAM procedure and according information of encoders and the kinematic model which are always lower than 5° in all trajectories measured in this first procedure and according the information of the encoders and the kinematic model which are always and the kinematic model which are always lower than 5° in all trajectories measured in this first ◦ validation experiment. The displacement estimated with the information of the encoders has been lower thanexperiment. 5 in all trajectories measuredestimated in this first experiment. The displacement validation The displacement withvalidation the information of the encoders has been also compared with manual measurements and with measurements obtained with an external estimated with the information of the encoders has been also compared with manual measurements also compared with manual measurements and with measurements obtained with an external LIDAR [27] obtaining similar results than the displacement estimated with the SLAM procedure. and with measurements obtained with an the external LIDAR [27] obtaining results than the LIDAR [27] obtaining similar results than displacement estimated withsimilar the SLAM procedure. However, the theestimated use of of the thewith SLAM onboard procedure has the the the advantage ofSLAM an easy easy synchronization displacement the SLAM procedure. However, use of the onboard procedure However, use SLAM onboard procedure has advantage of an synchronization between the trajectories trajectories estimated with both both between methods.the trajectories estimated with both methods. has the advantage of an easy synchronization between the estimated with methods. 10 10 00 SLAM estimate estimate SLAM Encoders estimate estimate Encoders Error Error(mm) (mm) -10 -10 -20 -20 -30 -30 -40 -40 -50 -50 11 22 33 44 55 Experiment Experiment 66 77 88 Figure 26. 26. Absolute Absolute displacement displacement error error obtained obtained when when comparing comparing the the planned planned displacement displacement and and the the Figure displacement final displacement estimated with the SLAM procedure and with the encoders and the kinematic model. final displacement estimated with the SLAM procedure and with the encoders and the kinematic model. 66 Relative Relativeerror error(Degrees) (Degrees) 55 44 33 22 11 00 -1 -1 -2 -2 -3 -3 -4 -4 11 22 33 44 55 Experiment Experiment SLAM estimate estimate SLAM Encoders estimate Encoders estimate 6 7 6 7 88 Figure 27. 27. Absolute Absolute final final angular angular orientation orientation error error obtained obtained when when comparing comparing the the planned planned angular angular Figure Figure 27. Absolute final angular orientation error obtained when comparing the planned angular orientation and the final orientation estimated with the SLAM procedure and with the encoders and orientation and the final orientation estimated with the SLAM procedure and with the encoders and the kinematic model. the kinematic model. Finally, Figure Figure 28 summarizes summarizes the mobile mobile robot trajectories trajectories obtained obtained with with the the information information of of the the Finally, Finally, Figure 28 28 summarizesthe the mobilerobot robot trajectories obtained with the information of encoders and and the the kinematic kinematic models models and and with with the the SLAM SLAM procedure. procedure. In In this this second second validation validation encoders the encoders and the kinematic models and with the SLAM procedure. In this second validation experiment, the the mobile robot robot has to to maintain its its orientation while while moving aa fixed fixed distance following following a experiment, experiment, the mobile mobile robot has has tomaintain maintain itsorientation orientation whilemoving moving a fixeddistance distance followinga curved path. path. The The angular angular direction direction tested tested in in the the displacements displacements were were (0°, (0°, 45°, 45°, 90°, 135°, 180°, 180°, 225°, 270°, 90°, 225°, 270°, ◦ , 45 ◦ , 135°, ◦ , 180 ◦ , 225 ◦, acurved curved path. The angular direction tested in the displacements were (0 90◦ , 135 315°) and the angular velocity was always 5% of the maximum velocity. In these measurements, the 315°) and the angular velocity was always 5% of the maximum velocity. In these measurements, the ◦ ◦ 270 , 315 ) and the angular velocity was always 5% of the maximum velocity. In these measurements, difference between between the the position position estimated estimated with with the the SLAM SLAM procedure procedure and and with with the the encoders encoders and and the the difference Sensors 2016, 16, 1658 19 of 21 Sensors 2016, 16, 1658 19 of 21 the difference between the position estimated with the SLAM procedure and with the encoders and the kinematic model was of1000 1000mm mmwhereas whereasthe thedifference difference kinematic model wasagain againlower lowerthan than30 30mm mm in in aa total total distance distance of ◦ between thethe estimates ofthe themobile mobilerobot robot was also lower than between estimatesofofthe theangular angular orientation orientation of was also lower than 5°. 5 . 1200 1000 800 Y position (mm) 600 400 200 0 -200 -400 -600 -800 -1000 -1000 -500 0 X position (mm) 500 1000 Figure Trajectories followedby bythe themobile mobilerobot robot in in eight thethe final Figure 28.28. Trajectories followed eight displacements. displacements.The Thecircle circledepicts depicts final position and orientation of the mobile robot obtained with the SLAM procedure. The cross depicts position and orientation of the mobile robot obtained with the SLAM procedure. The cross depicts the the final position and orientation of the mobile robot according the information of the encoders and final position and orientation of the mobile robot according the information of the encoders and the the kinematic model. kinematic model. The comparative empirical results obtained validate the design of the three-wheel holonomic The empirical results obtained design of the three-wheel holonomic motioncomparative system for mobile robot displacement and validate the utilitythe of the proposed inverse kinematic model motion system for mobile robot displacement and the utility of the proposed inverse kinematic in order to estimate the relative displacement of the mobile robot according the information ofmodel the in order to estimate the relative displacement of the mobile robot according the information of the encoders of the wheels. encoders of the wheels. 6. Conclusions 6. Conclusions This paper presents the design and implementation of the mechanical design of the three-wheel holonomic motion system implemented in the Assistant Personal Robot design (APR),ofa the mobile robot This paper presents the design and implementation of the mechanical three-wheel designedmotion to operate at home. The paper analyzes the Personal inverse and direct kinematics the motion, holonomic system implemented in the Assistant Robot (APR), a mobileofrobot designed describesatthe control system shows the result of and different experiments to validate the to operate home. The paperand analyzes inverse direct kinematicsproposed of the motion, describes complete motion system. The trajectory of the mobile robot has been estimated by using the the control system and shows the result of different experiments proposed to validate the complete information the trajectory encoders ofofthe and the proposed This trajectory has been motion system.ofThe thewheels mobile robot has been kinematic estimatedmodel. by using the information of the compared with the trajectory obtained with a SLAM procedure based on the information obtained encoders of the wheels and the proposed kinematic model. This trajectory has been compared with an onboard LIDAR. Results have procedure shown a discrepancy in both estimatesobtained of less than 30 mm in theby trajectory obtained with a SLAM based on the information by an onboard distance, and less than 5° in angular orientation for absolute displacements of up to 1000 mm. These LIDAR. Results have shown a discrepancy in both estimates of less than 30 mm in distance, and less results confirm the utility of the three-wheel holonomic motion system proposed for the than 5◦ in angular orientation for absolute displacements of up to 1000 mm. These results confirm the implementation of an Assistant Personal Robot. utility of the three-wheel holonomic motion system proposed for the implementation of an Assistant Personal Robot. Acknowledgments: This work was partially funded by Indra, the University of Lleida, the RecerCaixa 2013 grant, and by the Government of Catalonia (Comissionat per a Universitats i Recerca, Departament d’Innovació, Acknowledgments: This work was partially funded by Indra, the University of Lleida, the RecerCaixa 2013 Universitats i Empresa) and the European Social Fund (ECO/1794/2015). grant, and by the Government of Catalonia (Comissionat per a Universitats i Recerca, Departament d’Innovació, Universitats i Empresa) and the Moreno, European Social Clotet, Fund (ECO/1794/2015). Author Contributions: Javier Eduard Ruben Lupiañez, Marcel Tresanchez and Dani Martínez designed the holonomic motion system and also designed performed theTresanchez experiments; Tomàs Author Contributions: Javier Moreno, Eduard Clotet, Ruben and Lupiañez, Marcel and Dani Pallejà, Martínez Jordi Casanovas and Jordi Palacín supervised the experiments; Eduard Clotet and Jordi Palacín analyzed the designed the holonomic motion system and also designed and performed the experiments; Tomàs Pallejà, data; Javier Moreno andPalacín Jordi Palacín wrote the the experiments; paper. Jordi Casanovas and Jordi supervised Eduard Clotet and Jordi Palacín analyzed the data; Javier Moreno and Jordi Palacín wrote the paper. Conflicts of Interest: The authors declare no conflict of interest. Conflicts of Interest: The authors declare no conflict of interest. Sensors 2016, 16, 1658 20 of 21 References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Fish, S. UGVs in future combat systems. In Proceedings of the SPIE 5422 Unmanned Ground Vehicle Technology VI, Orlando, FL, USA, 13–15 April 2004; pp. 288–291. Byambasuren, B.E.; Kim, D.; Oyun-Erdene, M.; Bold, C.; Yura, J. Inspection Robot Based Mobile Sensing and Power Line Tracking for Smart Grid. Sensors 2016, 16, 250. [CrossRef] [PubMed] Bengochea-Guevara, J.M.; Conesa-Muñoz, J.; Andújar, D.; Ribeiro, A. Merge Fuzzy Visual Servoing and GPS-Based Planning to Obtain a Proper Navigation Behavior for a Small Crop-Inspection Robot. Sensors 2016, 16, 276. [CrossRef] [PubMed] Blitch, J.G. Artificial intelligence technologies for robot assisted urban search and rescue. Expert Syst. Appl. 1996, 11, 109–124. [CrossRef] Lafaye, J.; Gouaillier, D.; Wieber, P.B. Linear model predictive control of the locomotion of Pepper, a humanoid robot with omnidirectional wheels. In Proceedings of the IEEE-RAS International Conference on Humanoid Robots, Madrid, Spain, 18–20 November 2014; pp. 336–341. Wada, M.; Asada, H.H. Design and control of a variable footprint mechanism for holonomic omnidirectional vehicles and its application to wheelchairs. IEEE Trans. Robot. Autom. 1999, 15, 978–989. [CrossRef] United Nations. World Population Ageing 2013. Available online: http://www.un.org/en/development/desa/ population/publications/pdf/ageing/WorldPopulationAgeing2013.pdf (accessed on 15 December 2015). World Health Organization. World Report on Ageing and Health, 2015. Available online: http://apps.who. int/iris/bitstream/10665/186463/1/9789240694811_eng.pdf (accessed on 18 February 2016). Clotet, E.; Martínez, D.; Moreno, J.; Tresanchez, M.; Palacín, J. Assistant Personal Robot (APR): Conception and Application of a Tele-Operated Assisted Living Robot. Sensors 2016, 16, 610. [CrossRef] [PubMed] Morón, C.; Payán, A.; García, A.; Bosquet, F. Domotics Project Housing Block. Sensors 2016, 16, 741. [CrossRef] [PubMed] Mariappan, M.; Sing, J.C.; Wee, C.C.; Khoo, B.; Wong, W.K. Simultaneous rotation and translation movement for four omnidirectional wheels holonomic mobile robot. In Proceedings of the IEEE International Symposium of Robotics and Manufacturing Automation, Kuala Lumpur, Malaysia, 15–16 December 2014; pp. 69–73. Muir, P.F.; Neuman, C.P. Kinematic Modeling of Wheeled Mobile Robots; Technical Report, CMU-RETR-8612; Carnegie Mellon University: Pittsburgh, PA, USA, 1986. Alakshendra, V.; Chiddarwar, S.S.; Jha, A. Trajectory Tracking Control of Three-Wheeled Omnidirectional Mobile Robot: Adaptive Sliding Mode Approach. In CAD/CAM, Robotics and Factories of the Future; Springer: New Delhi, India, 2016; pp. 275–286. Byun, K.S.; Song, J.B. Design and construction of continuous alternate wheels for an omnidirectional mobile robot. J. Robot. Syst. 2003, 20, 569–579. [CrossRef] Wada, M.; Mori, S. Holonomic and Omnidirectional Vehicle with Conventional Tires. In Proceedings of the IEEE International Conference on Robotics and Automation, Minneapolis, MN, USA, 22–28 April 1996; pp. 3671–3676. Song, J.B.; Byun, K.S. Steering control algorithm for efficient drive of a mobile robot with steerable omni-directional wheels. J. Mech. Sci. Technol. 2009, 23, 2747–2756. [CrossRef] West, M.; Asada, H. Design of Ball Wheel Mechanisms for Omnidirectional Vehicles with Full Mobility and Invariant Kinematics. J. Mech. Des. 1997, 119, 153–161. [CrossRef] Endo, T.; Nakamura, Y. An omnidirectional vehicle on a basketball. In Proceedings of the 12th International Conference on Advanced Robotics, Seattle, WA, USA, 18–20 July 2005; pp. 573–578. Lauwers, T.B.; Kantor, G.A.; Hollis, R.L. A dynamically stable single-wheeled mobile robot with inverse mouse-ball drive. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Orlando, FL, USA, 15–19 May 2006; pp. 2884–2889. Kumagai, M.; Ochiai, T. Development of a robot balancing on a ball. In Proceedings of the International Conference on Control, Automation and Systems, Seoul, Korea, 14–17 October 2008; pp. 433–438. Endo, G.; Hirose, S. Study on roller-walker (system integration and basic experiments). In Proceedings of the 1999 IEEE International Conference on Robotics and Automation, Detroit, MI, USA, 10–15 May 1999. Muir, P.F.; Neuman, C.P. Kinematic Modeling for Feedback Control of an Omnidirectional Wheeled Mobile Robot. Auton. Robot Veh. 1987, 1, 25–31. Sensors 2016, 16, 1658 23. 24. 25. 26. 27. 21 of 21 Ferriere, L.; Raucent, B.; Campion, G. Design of omnimobile robot wheels. In Proceedings of the IEEE International Conference on Robotics and Automation, Minneapolis, MN, USA, 22–28 April 1996; pp. 3664–3670. Blumrich, J. Omnidirectional Wheel. U.S. Patent 3,789,947, 5 February 1974. Ilon, B.E. Wheels for a Course Stable Selfpropelling Vehicle Movable in Any Desired Direction on the Ground or Some Other Base. U.S. Patent 3,876,255, 8 April 1975. Martinez, D.; Teixidó, M.; Font, D.; Moreno, J.; Tresanchez, M.; Marco, S.; Palacín, J. Ambient Intelligence Application Based on Environmental Measurements Performed with an Assistant Mobile Robot. Sensors 2014, 14, 6045–6055. [CrossRef] [PubMed] Teixidó, M.; Pallejà, T.; Font, D.; Tresanchez, M.; Moreno, J.; Palacín, J. Two-dimensional radial laser scanning for circular marker detection and external mobile robot tracking. Sensors 2012, 12, 16482–16497. [CrossRef] [PubMed] © 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).