omniman: a mobile assistive robot for intralogistics ... · applications [6]. popular examples of...

8
OmniMan: A Mobile Assistive Robot for Intralogistics Applications Christof Röhrig, Member, IAENG, and Daniel Heß Abstract—In human-robot collaboration, robots interact di- rectly and safely with humans in a shared workspace with- out protective guards. This paper presents the design of OmniMan, which is a mobile manipulator for human-robot collaboration consisting of an omnidirectional mobile platform and a lightweight robotic arm. Mobile manipulators extend the workspace of manipulators (robotic arms) by mounting them on mobile platforms. The mobile platform is driven by Mecanum wheels, which provide 3 degrees of freedom in motion. The paper develops the kinematic model of the whole system including platform and manipulator. Furthermore the overall controller structure for OmniMan including the real- time synchronization of platform and manipulator is described. Index Terms—Mobile Manipulation, Human Robot Collabo- ration, Mecanum Wheels I. I NTRODUCTION I N human-robot collaboration humans interact with robots or manipulators in a shared workspace without protective guards. Manipulators have been used in a large range of applications mainly in the production industry, but their application is limited in scenarios which need a very large working space such as aerospace manufacturing, ship building, and wind turbine manufacturing. Mobile manipulation is a solution to overcome these limitations and counts to be a key technology not only for the production industry but also for professional service robotics such as intralogistics. Furthermore mobile manipulators find their applications in virtual or real laboratories for research and education [1], [2]. In the last years, research institutes have developed their own mobile manipulators based on commercial available mobile platforms and robotic arms. Cody from Georgia Institute of Technology consists of two arms from MEKA Robotics and a Mecanum wheeled Segway platform [3]. Cody was build mainly for research on service robotics in the health care domain. Another example in this area is POLAR (PersOnaL Assistant Robot) from Cornell University, which consists of a 7 DoF (degrees of freedom) Barrett arm mounted on a Segway Omni base [4]. TOMM from TU Munich is a wheeled humanoid robot, which consists of a Mecanum wheeled mobile Platform and two UR5 robotic arms [5]. Other popular examples in this domain are Willow Garage’s PR2 and the Fraunhofer IPA’s Care-O-bot 4. Compared to the domains of professional and domestic service, mobile manipulators for industrial applications oper- ate in more structured environments. However, they require a higher level of operational efficiency, e.g. in terms of This work was supported by the Ministry of Culture and Science of the German State of North Rhine-Westphalia (grant number 005-1703-0008). University of Applied Sciences and Arts in Dortmund, Insti- tute for the Digital Transformation of Application and Living Do- mains (IDiAL), Otto-Hahn-Str. 23, 44227 Dortmund, Germany Web: www.fh-dortmund.de/en/idial/, Email: [email protected] Figure 1. Mobile manipulator OmniMan: UR5 robotic arm on a Mecanum wheeled mobile platform speed, accuracy and robustness, to be suitable for industrial applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7] as well as ANNIE and LiSA from Fraunhofer IFF, which are all based on Mecanum wheeled platforms. omiRob is used mainly in intralogistics applications [8], [9], [10], where human-robot collaboration is often needed. A Mecanum wheel consists of a central hub with free moving rollers, which are usually mounted at ±45 angles around the hubs’ periphery. The outline of the rollers is such that the projection of the wheel appears to be circular. A mobile platform driven by Mecanum wheels provides 3 degrees of freedom in motion. Usually such platforms consists of four or more wheels. A typical configuration is the four- wheeled one of the URANUS omnidirectional mobile robot [11]. The drive structure of a Mecanum wheeled mobile platform with four or more wheels is over-actuated, which means that actuation conflicts may occur. This paper extends the work presented in [12]. The kinematic equations of a mobile manipulator including 6- DoF manipulator and omnidirectional platform are developed. The paper develops a generalized kinematic model of an over-actuated Mecanum wheeled mobile platform, which includes the kinematic motion constraints of the system and that is valid for Omni wheels as well. Furthermore the paper describes the overall controller structure of our mobile manipulator OmniMan (Fig. 1). OmniMan consists of an Universal Robots UR5 robotic arm mounted on Mecanum wheeled mobile platform from MIAG Fahrzeugbau GmbH (Braunschweig, Germany). The paper describes different options for interfacing an UR arm controller to a central Engineering Letters, 27:4, EL_27_4_30 (Advance online publication: 20 November 2019) ______________________________________________________________________________________

Upload: others

Post on 29-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

OmniMan: A Mobile Assistive Robot forIntralogistics Applications

Christof Röhrig, Member, IAENG, and Daniel Heß

Abstract—In human-robot collaboration, robots interact di-rectly and safely with humans in a shared workspace with-out protective guards. This paper presents the design ofOmniMan, which is a mobile manipulator for human-robotcollaboration consisting of an omnidirectional mobile platformand a lightweight robotic arm. Mobile manipulators extendthe workspace of manipulators (robotic arms) by mountingthem on mobile platforms. The mobile platform is drivenby Mecanum wheels, which provide 3 degrees of freedom inmotion. The paper develops the kinematic model of the wholesystem including platform and manipulator. Furthermore theoverall controller structure for OmniMan including the real-time synchronization of platform and manipulator is described.

Index Terms—Mobile Manipulation, Human Robot Collabo-ration, Mecanum Wheels

I. INTRODUCTION

IN human-robot collaboration humans interact with robotsor manipulators in a shared workspace without protective

guards. Manipulators have been used in a large range ofapplications mainly in the production industry, but theirapplication is limited in scenarios which need a very largeworking space such as aerospace manufacturing, ship building,and wind turbine manufacturing. Mobile manipulation isa solution to overcome these limitations and counts to bea key technology not only for the production industry butalso for professional service robotics such as intralogistics.Furthermore mobile manipulators find their applications invirtual or real laboratories for research and education [1], [2].

In the last years, research institutes have developed theirown mobile manipulators based on commercial availablemobile platforms and robotic arms. Cody from GeorgiaInstitute of Technology consists of two arms from MEKARobotics and a Mecanum wheeled Segway platform [3]. Codywas build mainly for research on service robotics in thehealth care domain. Another example in this area is POLAR(PersOnaL Assistant Robot) from Cornell University, whichconsists of a 7 DoF (degrees of freedom) Barrett arm mountedon a Segway Omni base [4]. TOMM from TU Munich isa wheeled humanoid robot, which consists of a Mecanumwheeled mobile Platform and two UR5 robotic arms [5].Other popular examples in this domain are Willow Garage’sPR2 and the Fraunhofer IPA’s Care-O-bot 4.

Compared to the domains of professional and domesticservice, mobile manipulators for industrial applications oper-ate in more structured environments. However, they requirea higher level of operational efficiency, e.g. in terms of

This work was supported by the Ministry of Culture and Science of theGerman State of North Rhine-Westphalia (grant number 005-1703-0008).

University of Applied Sciences and Arts in Dortmund, Insti-tute for the Digital Transformation of Application and Living Do-mains (IDiAL), Otto-Hahn-Str. 23, 44227 Dortmund, Germany Web:www.fh-dortmund.de/en/idial/, Email: [email protected]

Figure 1. Mobile manipulator OmniMan: UR5 robotic arm on a Mecanumwheeled mobile platform

speed, accuracy and robustness, to be suitable for industrialapplications [6]. Popular examples of mobile manipulatorsfor industrial environments are KUKA’s omniRob and Moiros[7] as well as ANNIE and LiSA from Fraunhofer IFF, whichare all based on Mecanum wheeled platforms. omiRob isused mainly in intralogistics applications [8], [9], [10], wherehuman-robot collaboration is often needed.

A Mecanum wheel consists of a central hub with freemoving rollers, which are usually mounted at ±45° anglesaround the hubs’ periphery. The outline of the rollers issuch that the projection of the wheel appears to be circular.A mobile platform driven by Mecanum wheels provides 3degrees of freedom in motion. Usually such platforms consistsof four or more wheels. A typical configuration is the four-wheeled one of the URANUS omnidirectional mobile robot[11]. The drive structure of a Mecanum wheeled mobileplatform with four or more wheels is over-actuated, whichmeans that actuation conflicts may occur.

This paper extends the work presented in [12]. Thekinematic equations of a mobile manipulator including 6-DoF manipulator and omnidirectional platform are developed.The paper develops a generalized kinematic model of anover-actuated Mecanum wheeled mobile platform, whichincludes the kinematic motion constraints of the systemand that is valid for Omni wheels as well. Furthermore thepaper describes the overall controller structure of our mobilemanipulator OmniMan (Fig. 1). OmniMan consists of anUniversal Robots UR5 robotic arm mounted on Mecanumwheeled mobile platform from MIAG Fahrzeugbau GmbH(Braunschweig, Germany). The paper describes differentoptions for interfacing an UR arm controller to a central

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 2: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

controller PC as well as to synchronize the movements ofthe arm with the platform in real-time.

II. PROBLEM FORMULATION

We consider the problem of motion control of a mobilemanipulator, which consists of a robotic arm and a mobileplatform. The robotic arm provides 6 DoF in 3D Cartesianspace, the omnidirectional mobile platform provides additional3 DoF in 2D space (position and heading). Therefore, theomnidirectional mobile manipulator is an over-determinedsystem, where the additional degrees of freedom in configu-ration space can be used to optimize the movement of themanipulator. In general, the forward kinematics of a mobilemanipulator can be described by

x = f(q), with x = [x, y, z, α, β, γ]T, and q =

(qpqa

),

(1)where x is the pose of the mobile manipulator’s tool framewith respect to the world frame (x ∈ R3 × SO(3)), qare the generalized coordinates in the configuration space(C-space) with the 2D pose of the mobile platform qp =[xp, yp, θp]

T,xp ∈ R2 × S1 and the joint angles of the armqa = [θ1, . . . , θ6]

T. The inverse kinematics of the system

q = f−1(x) (2)

is over-determined and can be solved by numerical methodsin order to optimize the motion in C-space.

The mobile platform is driven by 4 Mecanum wheels. AMecanum wheeled mobile platform provides any desiredmotion in x− and y−direction and rotation θ around thez−axis, simultaneously. The mobile platform moves in 2Dspace, the pose of the platform in the world frame is definedas xp = (xp, yp, θp)

T (see Fig. 2). The robot frame is a

yW

xW

xRθp

yR

xp

yp

Figure 2. Definition of pose xp = (xp, yp, θp)T and robot frame

coordinate frame, which is fixed at the mobile platform.Velocities in the robot frame (FR) can be transformed intothe world frame (FW), as a function of the heading of theplatform (θ = θp):

xR = R(θ) xW, ⇒ xW = R−1(θ) xR (3)

with xW =

xWyWθ

, xR =

xRyRθ

,

R(θ) =

cos θ sin θ 0− sin θ cos θ 0

0 0 1

The kinematic model of mobile platforms equipped with n

Mecanum wheels is well known (see [11], [13]). The inverse

kinematics of the platform, which transform the velocity ofthe platform into wheel velocities, can be described by linearequations in the robot frame. It can be written under thegeneral matrix form:

ϕ = JwxR, with Jw ∈ Rn×3, (4)

where ϕ = (ϕ1, ϕ2, . . . , ϕn)T are the angular velocities of

the wheels and Jw is a Jacobi matrix with constant parameters.For a platform equipped with n > 3 Mecanum wheels, theforward kinematic equations are over-determined. The forwardkinematics can be obtained by using a least square approachand applying the Moore-Penrose pseudo-inverse to J :

xR = J+w ϕ, with J+

w = (JTwJw)

−1JTw (5)

In contrast to the overdeterminacy in the mobile manipulator,the over-actuated drive structure of the platform can not beused to achieve additional degrees of freedom in C-space. Theoverdeterminacy of the platform yields to motion constraints,which must be fulfilled to avoid additional wheel slippage.

III. KINEMATIC MODEL OF THE MOBILE MANIPULATOR

A. Kinematic Model of the Universal UR5

The UR5 is a lightweight 6 DoF industrial manipulatormanufactured by Universal Robots (UR). It has a weight of18.4 kg, a reach of 85 cm and a maximal payload of 5 kg[14].

The forward kinematics of the UR5 arm can be easilydescribed by the Denavit-Hartenberg (DH) method. Thehomogeneous transformation associated with one link can bedescribed by

i−1Ti =

(Ri−1i pi−1

i

0 1

)

=

cos θi − sin θi cosαi sin θi sinαi ai cos θisin θi cos θi cosαi − cos θi sinαi ai sin θi0 sinαi cosαi di0 0 0 1

(6)

where Ri−1i ∈ SO(3) represents the orientation, pi−1

i ∈ R3

the position, θi, di, ai, αi are the DH parameters. The DHparameters of the UR5 arm can be found in Fig. 3. The

i θi di ai αi1 θ1 0,08920 0 +90◦

2 θ2 0 0,425 03 θ3 0 0,392 04 θ4 0,10930 0 −90◦5 θ5 0,09475 0 +90◦

6 θ6 0,08250 0 0

y0

z1

z2

x2

z0y1

x3

y4

z6 z5 z4

z3

y6 y5

Figure 3. UR5 robotic arm with DH frames and DH parameters

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 3: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

forward kinematics of a 6 DoF robotic arm can be describedby

0T6 =6∏i=1

i−1Ti , (7)

where i−1Ti are the DH matrices. The forward kinematicsof the robotic arm can be described in compact form:

x = fa(qa), with x = [x, y, z, α, β, γ]T ,

qa = [θ1, . . . , θ6]T, (8)

where x is the pose of the robotic arm in Cartesian space andqa are the joint variables of the arm. The inverse kinematicsdescribe the joint angles as a function of the pose of therobotic arm

qa = f−1a (x), (9)

and can not be solved in analytic form in general. For theUniversal UR5 arm, an analytic solution for the inversekinematics was developed by Kelsey Hawkins [15]. We solvethe inverse kinematics of the mobile manipulator using anumerical solution, in order to use the additional degreesof freedom of the mobile manipulator for optimization ofthe movement in C-space. The numerical solution uses theJacobian

Ja(q) =∂fa(qa)

∂qa=

∂f1∂θ1

∂f1∂θ2

· · · ∂f1∂θ6

......

. . ....

∂f6∂θ1

∂f6∂θ2

· · · ∂f6∂θ6

.

(10)

The i-th column of Ja can be obtained numerically

Ja,i =

(Jv

)=

(zi−1 × (p6 − pi−1)

zi−1

), (11)

where p6 is the position of the TCP. The vectors pi−1 andzi−1 can be found in the DH matrix

0Ti−1 =

j=i−1∏j=1

j−1Tj =

(xi−1 yi−1 zi−1 pi−1

0 0 0 1

).

(12)

B. Motion Model with Constraints for Mobile Platforms withMecanum Wheels

In this section, the kinematics of an omnidirectional mobileplatform with n Mecanum wheels is developed. A Mecanumwheel consists of a central hub with free moving rollers.A mobile platform driven by 3 or more Mecanum wheelsprovides 3 DoF in motion. For wheel i, we define the wheelframe Fi and the roller frame Fr,i, which are in a fixedposition in the robot frame FR (see Fig. 4). For simplification,the kinematic model is described in 2D, which means thatall frames lie within the xy-plane. The position of the wheelframe Fi with respect to the robot frame is described by the3 constant parameters: αi, li and δi, where δi defines therotation angle between Fi and the FR and is usually equalto zero. γi defines the angle of the roller with respect to thewheel frame. ϕi(t) drives the wheel and defines the rotationangle of the wheel around its horizontal axis of rotation. Thewheel is driven in the direction of it’s xi axis. The wheel hasone contact point to the plane and is able to rotate aroundthis point (rotation around its zi axis).

For simplification, it is assumed that there is only oneroller that has contact to the floor and that the contact pointstays always in the center of the roller (and the wheel). Theroller frame Fr,i as well as the wheel frame Fi has its originin this point of contact. The xr,i axis lies in the shaft of theroller. The wheel is able to move free in direction of the yr,iaxis.

The movements of the platform yield to the velocities xR,yR, l · θ in the contact point of the wheel, which can betransformed to the roller frame Fr,i:

xRr,i = xR cos(γi + δi) + yR sin(γi + δi)+

li θ cos(αi + π/2− δi − γi)(13)

yRr,i = −xR sin(γi + δi) + yR cos(γi + δi)+

li θ sin(αi + π/2− δi − γi)(14)

where γi is the rotation angle between the wheel frame andthe roller frame (usually ±45°) and δi is the angle betweenthe wheel frame and the robot frame (usually 0°). The rotationof the wheel drives the velocity xi = r · ϕi in the point ofcontact, which can be transformed in x and y components ofthe roller frame Kr,i:

xϕr,i = r ϕi cos(γi), yϕr,i = −r ϕi sin(γi) (15)

Since the roller can not move in direction of its shaft, xRr,i =xϕr,i must be true, which leads to

xR cos(γi + δi) + yR sin(γi + δi)+

li θ cos(αi + π/2− δi − γi) = r ϕi cos(γi),(16)

and finally to the inverse kinematic equation of wheel i

ϕi =1

r · cos(γi)(cos(δi + γi), sin(δi + γi),

li sin(δi + γi − αi))xR.

(17)

For a platform equipped with n Mecanum wheels, (17) canbe used to obtain the inverse kinematics of the platform as

ϕ = JwxR, with Jw ∈ Rn×3 (18)

If γi is set equal to zero, the Mecanum wheel becomes anOmni wheel and therefore (17) can be used to model theinverse kinematics of an Omni wheel driven platform as well.

xi xR

yR

yi

yr,i xr,i

li

αi

γi

θ

li θ

Figure 4. Mecanum wheel with frames

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 4: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

For a platform with more than 3 Mecanum wheels, thekinematics are over-determined, which means that the wheelspeed of m = n−3 of the n wheels are a linear combinationof the other ones. Only 3 rows of Jw are linear independent,m rows are a linear combination of the first 3 rows. To obtainthe kinematic motion constraints, Jw can be split up into 2sub-matrices:

Jw =

(J3

Jm

), with J3 ∈ R3×3,Jm ∈ Rm×3,m = n− 3

(19)The velocities in the robot frame can be defined by 3 wheels:xRyR

θ

= J−13

ϕ1

ϕ2

ϕ3

this leads to m kinematic motion constraints:

JmJ−13

ϕ1

ϕ2

ϕ3

=

ϕ4

...ϕn

,

which can be expressed in general matrix form

T ϕ = 0, with T =(JmJ

−13 , −Im

), (20)

where I denotes the identity matrix. We define a vector ofangular error velocities ε = (ε1 . . . εm)T to detect violationsof the kinematic constraints:

ε = T ϕ, (21)

T and ε can be used to augment the kinematics of the platform

xg = J−1g ϕ, with xg =

(xR

ε

),J−1

g =

(J+w

T

)(22)

where Jg is an invertible square matrix, which describes theaugmented inverse kinematics of the system:

ϕ = Jgxg (23)

The sub-vector ε in xg can be used to control the kinematicconstraints.

A typical configuration of a Mecanum wheeled platformconsists of 4 wheels (see Fig. 5). The positions of the wheels

r

φ2 φ1

φ4

xR

yR

b

aφ3

Figure 5. Omnidirectional platform with Mecanum wheels (top view)

with respect to the robot frame can be defined as δi = 0 andli =

√a2 + b2. This leads to the configuration parameters

shown in Table I. These parameters in in conjunction with

Table ICONFIGURATION OF THE PLATFORM IN FIG. 5

i αi γi

1 − arctan(ab

)+π

4

2 +arctan(ab

)−π

4

3 π2+ arctan

(ab

)+π

4

4 −π2− arctan

(ab

)−π

4

(17) yield to the inverse kinematicsϕ1

ϕ2

ϕ3

ϕ4

= Jw

xRyRθ

, with Jw =1

r

1 1 (a+ b)1 −1 −(a+ b)1 1 −(a+ b)1 −1 (a+ b)

(24)

The kinematic constraint can be obtained using (20)

0 = T ϕ, with T =(1, 1,−1,−1

), (25)

which leads to the augmented forward kinematics

xg = J−1g ϕ, with xg =

xRyRθε1

, ϕ =

ϕ1

ϕ2

ϕ3

ϕ4

,

J−1g =

r

4

1 1 1 11 −1 1 −11a+b

−1a+b

−1a+b

1a+b

4r

4r − 4

r − 4r

(26)

and the augmented inverse kinematics

ϕ = Jgxg, with Jg =1

r

1 1 (a+ b) 11 −1 −(a+ b) 11 1 −(a+ b) −11 −1 (a+ b) −1

(27)

where r is the radius of the wheels, a and b are given bythe dimension of the platform (see Fig. 5). Eqn. (26) is usedin the motion controller of the platform to execute odometryand to sense the coupling error. Eqn. (27) is used in themotion controller to control the speeds in robot frame and tocontrol the kinematic constraints.

C. Experimental Results

In order to evaluate the effectiveness of the couplingcontroller several experiments are performed with some of ourmobile platforms, which are shown in Fig 1. The results of oneof these experiments are shown in Fig. 7. The platform movesa path with straight lines forwards, sideways and backwards.After that, it moves a circular path with two rotations backto the starting point. The red curve in the picture shows thecoupling error ε1. The five movements of the platform yieldto a coupling error different from zero, where the individualmovements can be easily distinguished. The coupling errormay be caused by parameter differences between the velocitycontrol loops of individual wheels for instance variations infriction, motor constants or amplifier gains. The couplingerror leads to an additional wheel slippage, which decreasesthe accuracy of odometry.

The blue curve in Fig 7 shows the coupling error ε1 withactive coupling control (kc = 2). Compared to the red curve,the coupling error is reduced nearly to zero.

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 5: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

PolyScope / GUI

Inverse Kinematic

Application / URScript

Joint Control

Joint Trajectory / C-API

UR Controller PC

System Controller PC

Arm Interface

PlatformInterface

Motion Planner

PathInterpolation

PlatformControl

Figure 6. Control architecture of Mecanum wheeled mobile manipulator

0 10 20 30 40 50 60 70 80 90

time in s

-4

-3

-2

-1

0

1

2

3

co

up

ling

err

or

with coupling control

without coupling control

with coupling control

without coupling control

Figure 7. Coupling error over time

D. Dynamic Model for Mobile Platforms with MecanumWheels

This section will briefly describe a dynamic model ofMecanum wheeled platforms including the friction force ofthe Mecanum wheels. The dynamics of a Mecanum wheeledplatform can be described in the robot frame:

FR =H xR = J−1 Fwheel (28)

with

FR =

Fx

Fy

, H =

m 0 00 m 00 0 I

, Fwheel =

F1

F2

...Fn

,

where FR are the translational forces and the moment of force(torque) in robot frame, which accelerate the platform, m isthe mass of the platform for translation, I is the moment ofinertia for platform rotation around the z axis and Fwheel arethe tangential contact forces of the Mecanum wheels, whichaccelerate the platform. The acceleration in robot frame can beobtained from accelerations in world frame by differentiating(3), which leads to

xR = R(θ) xW +R(θ) xW (29)

and considers the effect of the Coriolis force. Each wheel iis driven by an electrical motor, which produces the moment

Mi = r Fi +Mfric,i + Ii ϕi (30)

where r is the wheel radius, Mfric is the total of the momentproduced by friction, Ii is the moment of inertia of the wheeland ϕi is the angular acceleration of the wheel: ϕ = JxR

The moment of motor i is produced by the armature currentof the motor: Mi = cφ Ia,i, where cφ is the motor constant.The dynamics of the motor current can be described as

LadIa,id t

+Ra Ia,i = Ua,i − Uemf,i,

with Uemf,i = cφ ngear ϕi

(31)

where La is the armature inductance, Ra is the armatureresistance, Ua is the armature voltage, Uemf is the voltageproduced by the back electro mechanical force, ngear is theratio of the gear that connects motor with wheel.

The moment produced by friction Mfric is a sum of theinternal friction produced by the motor and the gear, therolling friction on the floor and the friction in the bearingof the rollers and therefore Mfric depends largely on thedirection of movement. We model the moment produced byfriction as a function of the platform movement

Mfric,i = fi(xR), (32)

which can be experimentally identified [16].

E. Forward Kinematics of the Mobile Manipulator

The development of the forward kinematics is straightforward. The position of the platform with respect to theworld frame can be described in 3D by the homogeneoustransformation matrix

wTp(qp) =

cos θp − sin θp 0 xpsin θp cos θp 0 yp0 0 1 00 0 0 1

(33)

where θp is the heading of the platform with respect to theworld frame and (xp, yp) is the position of the platform inthe world frame.

The robotic arm is mounted on the platform in the fixedposition (dx, dy, dz) with respect to the robot frame, which

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 6: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

yields to the constant homogeneous transformation matrix

pT0 =

1 0 0 dx0 1 0 dy0 0 1 dz0 0 0 1

. (34)

The forward kinematics of the robot arm are described bythe DH-matrix

0T6(qa) =6∏i=1

i−1Ti , (35)

this yields directly to the forward kinematics x = f(q) ofthe whole mobile manipulator, which can be obtained from

wT6(qp, qa) =wTp(qp) · pT0 · 0T6(qa) . (36)

F. Inverse Kinematics of the Mobile Manipulator

We solve the inverse kinematics of the mobile manipulator

q = f−1(x)

using a numerical approach. This approach needs the Jacobianmatrix of the forward kinematics of the mobile manipulator:

J(q) =∂f(q)

∂q=

∂f1∂q1

∂f1∂q2

· · · ∂f1∂qn

......

. . ....

∂f6∂q1

∂f6∂q2

· · · ∂f6∂qn

This Jacobian consists of the Jacobian of the mobile platformand the manipulator

x = J(q) · q, with J(q) = (Jp(q),Ja(q)) . (37)

The Ja(q) can be obtained from (10), (11), (12). The 3Dkinematics of the platform can be obtained from (33) and(34)

x = fp(qp) =

xp + dx cos θp − dy sin θpyp + dx sin θp + dy cos θp

dz00θp

,

with x = [x, y, z, α, β, γ]T , qp = [xp, yp, θp]T, (38)

where (dx, dy, dz) denotes the position of the arm on theplatform. Thereby, the Jacobian is easily obtained:

Jp(qp) =∂fp(qp)

∂qp=

1 0 −dx sin θp − dy cos θp0 1 dx cos θp − dy sin θp0 0 00 0 00 0 00 0 1

(39)

In order to solve the inverse kinematics, a rough estimation qk,near the final solution q = f−1(x) is needed. If the mobilemanipulator moves a continues path, this can be the precedingpoint on the path. Starting with qk, joint coordinates nearerto the final solution can be obtained by

qk+1 = qk + J−1(qk) · (x− xk), with xk = f(qk)

The iteration is aborted, when the error falls below apredefined limit:

|x− xk| < ε

IV. CONTROLLER DESIGN

As aforementioned, our mobile manipulator consists of aUR5 robotic arm and a Mecanum wheeled mobile platform.It is controlled by a control system, which is distributed on 2control PCs. Fig. 6 shows the control architecture of the wholesystem. Details of the different controllers are described inthe next sections.

A. Control of the UR5 Manipulator

The UR5 can be controlled at three different levels: TheGraphical User Interface (GUI) Level, the Script Level andthe C Application Programming Interface (C-API) Level [17].PolyScope is the graphical user interface (GUI) for operatingthe robotic arm and for creating and executing robot programs.URScript is the robot programming language used to controlthe robot at the Script Level. This programs can be saveddirectly on the robot controller or commands can be sent viaTCP/IP socket to the robot.

User programs that uses the C-API are executed on theUR controller and interact directly at the joint level witha cycle time of 8 ms. At this level, the UR controller canbe supplied by either joint velocities or a combination ofjoint positions, joint velocities and joint accelerations. In ourmobile manipulator, we use the C-API and control the UR5 atjoint level. At this level, the synchronization of the platformmovements with the arm movements is feasible in real-time.This enables trajectory planning for the whole system inCartesian space and controlling the movements of platformand arm synchronously at joint level, while avoiding obstaclesin real time, without leaving the trajectory.

The structure of the controllers with its interfaces is shownin Fig. 6. The robotic arm is controlled by the UR controllerPC at joint level. The joint positions of the arm are generatedby the path interpolation module in the system controller PCand streamed every 8 ms over a TCP/IP socket and Ethernetto the UR controller PC. The UR controller PC controlsthe joints and transfers the control signals over an interfacemodule to the motors.

B. Control of the Mecanum Wheeled Mobile Platform

The controller of the Mecanum wheeled mobile platformis integrated in the system controller PC (platform controlin Fig. 6). The internal structure of this controller is shownin Fig. 8. The path interpolation generates a stream of posesxp = (xp, yp, θp)

T and its derivatives xp, xp as input for thecontroller. The structure of the controller is derived from aclassical cascade structure. It consists of a position controller,which controls the pose of the platform in world frame, awheel controller, which controls the velocity of the wheels anda coupling controller, which controls the kinematic motionconstraints.

The position controller obtains the actual pose of theplatform by odometry and generates the velocities of theplatform in the world frame plus feed forwarding the velocitiesfrom the path interpolation. Details of the odometry forMecanum wheeled platforms can be found in [18]. Thesevelocities are transformed into the robot frame and then intoreference velocities for the wheel controller. These referencevelocities are calculated using the inverse kinematics of theplatform (17) and therefore meet the kinematic constraints

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 7: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

Feedback

control

PathIntepolator

Feedback

control

Feedforwardcontrol

Encoders

Motors

Pose Control Wheel Control

Encoder Preprocessing

Couplingcontrol

Jg

-1Jg

Odometry ForwardKinematics

InverseKinematics

Figure 8. Controller structure of Mecanum wheeled platform

HAL Hardware Abstraction Layer

WheelControl

Motion Planner

PathInterpolation

PoseControl

EncoderPreprocessing

Odometry

Localization

ForwardKinematics

InverseKinematics

Figure 9. Software architecture of the navigation stack for controlling themobile platform

at any time. Owing to parameter differences in the controlloops of the wheels or unbalanced loads, the actual wheelvelocities may violate the kinematic motion constraints. Theseviolations lead to additional wheel slippage.

Aim of the coupling controller is to change the referencevelocities of the wheel controllers in such a way that theactual velocities meet the motion constraints [19]. The wheelcontroller controls the velocity of the wheels by feed backcontrol using the wheel encoders plus optional calculatedtorque feed forward control.

Fig. 9 shows the software architecture of the navigationstack. The bottom of the navigation stack builds a hardwareabstraction layer (HAL), which hides technical details of thecommunications with the robot [20]. The navigation stackcontains 3 control loops: The pose control loop, the couplingcontroller at the level of wheel kinematics and the underlyingwheel control loop. The localization layer obtains sensor datafrom HAL and estimates the pose of the platform using thisdata and odometry [21], [18]. The top of the stack builds themotion planner for the platform.

V. CONCLUSIONS

In this paper, we have developed a compact and easyapplicable kinematic model of an omnidirectional mobilemanipulator. The mobile manipulator consists of a manipulatorwith 6 DoF and an over-actuated Mecanum wheeled mobileplatform, which provides additional 3 DoF. The kinematic

model includes the kinematic motion constraints of the mobileplatform as well as the over-determined motion model of thewhole mobile manipulator.

The kinematic model of the omnidirectional mobile manip-ulator is described by 9 DoF in the configuration space,which provide 6 DoF in Cartesian space. Therefore, theinverse kinematics are solved with a numerical approachusing a Jacobi matrix. The proposed kinematic model isvalid for all serial manipulators with 6 DoF, mounted on anomnidirectional mobile platform driven by n ≥ 4 Mecanumwheels.

REFERENCES

[1] C. Röhrig and A. Jochheim, “The virtual lab for controlling realexperiments via Internet,” in Proceedings of the 11th IEEE InternationalSymposium on Computer-Aided Control System Design, Hawaii, USA,Aug. 1999, pp. 279–284.

[2] R. Bischoff, U. Huggenberger, and E. Prassler, “KUKA youbot -a mobile manipulator for research and education,” in 2011 IEEEInternational Conference on Robotics and Automation, May 2011,pp. 1–4.

[3] C.-H. King, T. L. Chen, A. Jain, and C. C. Kemp, “Towards an assistiverobot that autonomously performs bed baths for patient hygiene,” inIntelligent Robots and Systems (IROS), 2010 IEEE/RSJ InternationalConference on, IEEE. IEEE, 2010, pp. 319–324.

[4] Y. Jiang, M. Lim, C. Zheng, and A. Saxena, “Learning to place newobjects in a scene,” The International Journal of Robotics Research,vol. 31, no. 9, pp. 1021–1043, 2012.

[5] E. Dean-Leon, B. Pierce, F. Bergner, P. Mittendorfer, K. Ramirez-Amaro, W. Burger, and G. Cheng, “TOMM: Tactile omnidirectionalmobile manipulator,” in Robotics and Automation (ICRA), 2017 IEEEInternational Conference on. IEEE, 2017, pp. 2441–2447.

[6] M. Hvilshøj, S. Bøgh, O. Skov Nielsen, and O. Madsen, “Autonomousindustrial mobile manipulation (AIMM): past, present and future,”Industrial Robot: An International Journal, vol. 39, no. 2, pp. 120–135,2012.

[7] C. Sprunk, B. Lau, P. Pfaff, and W. Burgard, “An accurate andefficient navigation system for omnidirectional robots in industrialenvironments,” Autonomous Robots, vol. 41, no. 2, pp. 473–493, 2017.

[8] D. Wahrmann, A.-C. Hildebrandt, C. Schuetz, R. Wittmann, andD. Rixen, “An autonomous and flexible robotic framework for logisticsapplications,” Journal of Intelligent & Robotic Systems, pp. 1–13, 2017.

[9] C. Wurll, T. Fritz, Y. Hermann, and D. Hollnaicher, “Production logis-tics with mobile robots,” in ISR 2018; 50th International Symposiumon Robotics, VDE. VDE, 2018, pp. 213–218.

[10] D. Pavlichenko, G. M. García, S. Koo, and S. Behnke, “KittingBot:A mobile manipulation robot for collaborative kitting in automotivelogistics,” arXiv preprint arXiv:1809.05380, 2018.

[11] P. F. Muir and C. P. Neuman, “Kinematic modeling for feedbackcontrol of an omnidirectional wheeled mobile robot,” in Robotics andAutomation. Proceedings. 1987 IEEE International Conference on,vol. 4, IEEE. IEEE, 1987, pp. 1772–1778.

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________

Page 8: OmniMan: A Mobile Assistive Robot for Intralogistics ... · applications [6]. Popular examples of mobile manipulators for industrial environments are KUKA’s omniRob and Moiros [7]

[12] C. Röhrig and D. Heß, “OmniMan: An omnidirectional mobilemanipulator for human-robot collaboration,” in Lecture Notes inEngineering and Computer Science: Proceedings of The InternationalMultiConference of Engineers and Computer Scientists 2019, HongKong, 13-15 March 2019, pp. 55–60.

[13] G. Campion, G. Bastin, and B. Dandrea-Novel, “Structural propertiesand classification of kinematic and dynamic models of wheeled mobilerobots,” IEEE Transactions on Robotics and Automation, vol. 12, no. 1,pp. 47–62, 1996.

[14] UR5 Technical Specifications, Universal Robots A/S, Odense, Denmark,2015, http://www.universal-robots.com/media/50588/ur5_en.pdf.

[15] K. P. Hawkins, “Analytic inverse kinematics for the universal robotsUR-5/UR-10 arms,” Georgia Institute of Technology, Tech. Rep.,2013, https://smartech.gatech.edu/bitstream/handle/1853/50782/ur_kin_tech_report_1.pdf.

[16] F. Künemund, D. Heß, and C. Röhrig, “Energy efficient kinodynamicmotion planning for holonomic AGVs in industrial applications usingstate lattices,” in Proceedings of the 47th International Symposium onRobotics (ISR 2016), Munich, Germany, Jun. 2016, pp. 459–466.

[17] The URScript Programming Language, Version 3.1, Universal RobotsA/S, Odense, Denmark, Jan. 2015.

[18] C. Röhrig, Heß, and F. Künemund, “RFID-based localization ofmobile robots using the received signal strength indicator of detectedtags,” Engineering Letters, vol. 24, no. 3, pp. 338–346, Aug. 2016.

[19] C. Röhrig, D. Heß, and F. Künemund, “Motion controller design for amecanum wheeled mobile manipulator,” in Proceedings of the IEEEConference on Control Technology and Applications (CCTA 2017),Kohala Coast, Hawai’i, USA, Aug. 2017, pp. 444–449.

[20] D. Heß, F. Künemund, and C. Röhrig, “Linux based control frameworkfor mecanum based omnidirectional automated guided vehicles,” inLecture Notes in Engineering and Computer Science: Proceedingsof The World Congress on Engineering and Computer Science 2013,WCECS 2013, San Francisco, USA, 23-25 October, 2013, pp. 395–400.

[21] C. Röhrig, C. Kirsch, J. Lategahn, M. Müller, and L. Telle,“Localization of Autonomous Mobile Robots in a Cellular TransportSystem,” Engineering Letters, vol. 20, no. 2, pp. 148–158, Jun. 2012.

Christof Röhrig received his Diploma degree fromthe University of Bochum, Germany, in 1993, andhis Doctor degree from the University of Hagen,Germany, in 2003, both in electrical engineering.Between 1993 and 1997 he was head of AutomatedSystems Engineering at Reinoldus Transport- undRobotertechnik GmbH Dortmund, Germany. From1997 until 2003 he was with the Control SystemsEngineering Group at University of Hagen. Since2003, he is Professor of Computer Science atthe University of Applied Sciences and Arts in

Dortmund, Germany, where he heads the Intelligent Mobile Systems Lab(IMSL). The IMSL develops intelligent algorithms for mobile systems, alsothird party funded projects on robotics, assistence systems for demographicchange and real time locating systems are continually taken care of. ChristofRöhrig is a founder member of the research focus ’Mobile Business - MobileSystems (MBMS)’ and ’BioMedizinTechnik (BMT)’ of the University ofApplied Science and Arts Dortmund. He is also a founder member and onthe board of the ’Institute for the Digital Transformation of Applicationand Living Domains’ (IDiAL). Christof Röhrig is (co-)author of more than100 national and international peer-reviewed publications. In his field, hecontinuously reviews papers and is member of program committees. Hiscurrent research interests include mobile robots and Real Time LocatingSystems.

Daniel Heß received his Diploma degree in 2008,and the Masters degree in 2010, both in computerscience from the University of Applied Sciencesand Arts in Dortmund, Germany. Since 2008, heis working in different research projects at theIntelligent Mobile Systems Lab, University ofApplied Sciences and Arts Dortmund, where he iscurrently working toward the Doctor degree. Hiscurrent research interests include sensor data fusionand localization.

Engineering Letters, 27:4, EL_27_4_30

(Advance online publication: 20 November 2019)

______________________________________________________________________________________