67
Skills for mobile manipulation (To ROS or not to ROS) Herman Bruyninckx K.U.Leuven, Mechanical Engineering, Belgium http://people.mech.kuleuven.be/ ~ bruyninc/ unchen, November 6, 2010 H. Bruyninckx, Skills for mobile manipulation 1

(To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Skills for mobilemanipulation

—(To ROS or not to ROS)

Herman BruyninckxK.U.Leuven, Mechanical Engineering, Belgiumhttp://people.mech.kuleuven.be/~bruyninc/

Munchen, November 6, 2010

H. Bruyninckx, Skills for mobile manipulation 1

Page 2: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Overview

I My profile

I The Task – Skill – Motion trinity(a.k.a.: How to do this manipulation in ROS?

I Motion & Skill specification, sensing and control

H. Bruyninckx, Skills for mobile manipulation 2

Page 3: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, Mechatronics

I 1998: decided to make open source softwareengineering 50% of my academic profile

I was lured by three machine tool vendors intoconceiving Orocos, on New Year’s Eve 2000

I excited about PR2 + ROS, but. . . I’m oldenough to have made all of ROS’s mistakes!

I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 4: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profile

I was lured by three machine tool vendors intoconceiving Orocos, on New Year’s Eve 2000

I excited about PR2 + ROS, but. . . I’m oldenough to have made all of ROS’s mistakes!

I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 5: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000

I excited about PR2 + ROS, but. . . I’m oldenough to have made all of ROS’s mistakes!

I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 6: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000I excited about PR2 + ROS, but. . .

I’m oldenough to have made all of ROS’s mistakes!

I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 7: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000I excited about PR2 + ROS, but. . . I’m old

enough to have made all of ROS’s mistakes!

I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 8: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000I excited about PR2 + ROS, but. . . I’m old

enough to have made all of ROS’s mistakes!I read enough to know prior art for everything

I fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 9: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000I excited about PR2 + ROS, but. . . I’m old

enough to have made all of ROS’s mistakes!I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheels

I Zen enough to search for vision & critical massin ±100 open source projects a year. . .

I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 10: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000I excited about PR2 + ROS, but. . . I’m old

enough to have made all of ROS’s mistakes!I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .

I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 11: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile

I Mathematical Physics, CS, MechatronicsI 1998: decided to make open source software

engineering 50% of my academic profileI was lured by three machine tool vendors into

conceiving Orocos, on New Year’s Eve 2000I excited about PR2 + ROS, but. . . I’m old

enough to have made all of ROS’s mistakes!I read enough to know prior art for everythingI fit enough to keep on fighting reinvented wheelsI Zen enough to search for vision & critical mass

in ±100 open source projects a year. . .I . . . and smart enough to look outside of robotics!

H. Bruyninckx, Skills for mobile manipulation 3

Page 12: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) vision

I philosophical enough to recognize paradigmmismatches (a.k.a., “religious wars”)

I modest enough to realise that my visions havehad to change every 3–4 years. . .

I connected enough to defend multi-vendor systembuilding as highest exploitation priority

I my three worst deja vus in robotics:1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)2. Transputers (1990) → ROS (2010)3. Proceedings of the International Symposium on

Industrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 13: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) visionI philosophical enough to recognize paradigm

mismatches (a.k.a., “religious wars”)

I modest enough to realise that my visions havehad to change every 3–4 years. . .

I connected enough to defend multi-vendor systembuilding as highest exploitation priority

I my three worst deja vus in robotics:1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)2. Transputers (1990) → ROS (2010)3. Proceedings of the International Symposium on

Industrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 14: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) visionI philosophical enough to recognize paradigm

mismatches (a.k.a., “religious wars”)I modest enough to realise that my visions have

had to change every 3–4 years. . .

I connected enough to defend multi-vendor systembuilding as highest exploitation priority

I my three worst deja vus in robotics:1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)2. Transputers (1990) → ROS (2010)3. Proceedings of the International Symposium on

Industrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 15: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) visionI philosophical enough to recognize paradigm

mismatches (a.k.a., “religious wars”)I modest enough to realise that my visions have

had to change every 3–4 years. . .I connected enough to defend multi-vendor system

building as highest exploitation priority

I my three worst deja vus in robotics:1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)2. Transputers (1990) → ROS (2010)3. Proceedings of the International Symposium on

Industrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 16: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) visionI philosophical enough to recognize paradigm

mismatches (a.k.a., “religious wars”)I modest enough to realise that my visions have

had to change every 3–4 years. . .I connected enough to defend multi-vendor system

building as highest exploitation priorityI my three worst deja vus in robotics:

1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)

2. Transputers (1990) → ROS (2010)3. Proceedings of the International Symposium on

Industrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 17: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) visionI philosophical enough to recognize paradigm

mismatches (a.k.a., “religious wars”)I modest enough to realise that my visions have

had to change every 3–4 years. . .I connected enough to defend multi-vendor system

building as highest exploitation priorityI my three worst deja vus in robotics:

1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)2. Transputers (1990) → ROS (2010)

3. Proceedings of the International Symposium onIndustrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 18: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (2)

I stubborn enough to have a (strong) visionI philosophical enough to recognize paradigm

mismatches (a.k.a., “religious wars”)I modest enough to realise that my visions have

had to change every 3–4 years. . .I connected enough to defend multi-vendor system

building as highest exploitation priorityI my three worst deja vus in robotics:

1. Shakey (SRI, 1980s) → PR2 on joystick control (2010)2. Transputers (1990) → ROS (2010)3. Proceedings of the International Symposium on

Industrial Robotics (1980s) → current roboticsconferences and journals

H. Bruyninckx, Skills for mobile manipulation 4

Page 19: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (3)

I personal best paper award: Frederick P., Brooks.No silver bullet. Essence and accidents ofsoftware engineering, IEEE Computer, 1987.

See also: The mythical man monthI Why. . . ?

“Putting more developers on a latesoftware project will only make it later.”

Replace “late” by any other quality measure forsoftware. . .

I personal role models in open source projects:I Linux kernel (+ Linux Weekly News, KernelNewbies)I ApacheI Eclipse + OSGi

H. Bruyninckx, Skills for mobile manipulation 5

Page 20: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (3)

I personal best paper award: Frederick P., Brooks.No silver bullet. Essence and accidents ofsoftware engineering, IEEE Computer, 1987.

See also: The mythical man monthI Why. . . ? “Putting more developers on a late

software project will only make it later.”

Replace “late” by any other quality measure forsoftware. . .

I personal role models in open source projects:I Linux kernel (+ Linux Weekly News, KernelNewbies)I ApacheI Eclipse + OSGi

H. Bruyninckx, Skills for mobile manipulation 5

Page 21: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (3)

I personal best paper award: Frederick P., Brooks.No silver bullet. Essence and accidents ofsoftware engineering, IEEE Computer, 1987.

See also: The mythical man monthI Why. . . ? “Putting more developers on a late

software project will only make it later.”

Replace “late” by any other quality measure forsoftware. . .

I personal role models in open source projects:I Linux kernel (+ Linux Weekly News, KernelNewbies)I ApacheI Eclipse + OSGi

H. Bruyninckx, Skills for mobile manipulation 5

Page 22: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (4)

I personal best practice favourite: three levels ofabstraction as architecture for all robotic systems

I research credo: every robotics solution is a(softly) constrained optimization, in need of(cognitive) coordination

I favourite software benchmark: bi-directional,inter-project reusability and composability

I carreer ambitions:I to make open source the best professional choice in

roboticsI paradigm shift in motion specificationI citation index for robotics softwareI stimulate fair citation attitude

H. Bruyninckx, Skills for mobile manipulation 6

Page 23: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (4)

I personal best practice favourite: three levels ofabstraction as architecture for all robotic systems

I research credo: every robotics solution is a(softly) constrained optimization, in need of(cognitive) coordination

I favourite software benchmark: bi-directional,inter-project reusability and composability

I carreer ambitions:I to make open source the best professional choice in

roboticsI paradigm shift in motion specificationI citation index for robotics softwareI stimulate fair citation attitude

H. Bruyninckx, Skills for mobile manipulation 6

Page 24: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (4)

I personal best practice favourite: three levels ofabstraction as architecture for all robotic systems

I research credo: every robotics solution is a(softly) constrained optimization, in need of(cognitive) coordination

I favourite software benchmark: bi-directional,inter-project reusability and composability

I carreer ambitions:I to make open source the best professional choice in

roboticsI paradigm shift in motion specificationI citation index for robotics softwareI stimulate fair citation attitude

H. Bruyninckx, Skills for mobile manipulation 6

Page 25: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (4)

I personal best practice favourite: three levels ofabstraction as architecture for all robotic systems

I research credo: every robotics solution is a(softly) constrained optimization, in need of(cognitive) coordination

I favourite software benchmark: bi-directional,inter-project reusability and composability

I carreer ambitions:I to make open source the best professional choice in

roboticsI paradigm shift in motion specificationI citation index for robotics softwareI stimulate fair citation attitude

H. Bruyninckx, Skills for mobile manipulation 6

Page 26: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (6)

I best recent robotics quote:

Don’t abstract the physics away!Christoph Borst (DLR), October 2010

I most short-sighted ROS quotes:ROS is supported by the whole community!ROS accelerates robotics research!If we are not in ROS, we do not exist!

Every One (Soitseems), 2009–2010

I my (short-sighted) ROS quote:

ROS: I love it, but I hate it. . . !Herman Bruyninckx (Munich), 2010

H. Bruyninckx, Skills for mobile manipulation 7

Page 27: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (6)

I best recent robotics quote:

Don’t abstract the physics away!Christoph Borst (DLR), October 2010

I most short-sighted ROS quotes:ROS is supported by the whole community!ROS accelerates robotics research!If we are not in ROS, we do not exist!

Every One (Soitseems), 2009–2010

I my (short-sighted) ROS quote:

ROS: I love it, but I hate it. . . !Herman Bruyninckx (Munich), 2010

H. Bruyninckx, Skills for mobile manipulation 7

Page 28: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (6)

I best recent robotics quote:

Don’t abstract the physics away!Christoph Borst (DLR), October 2010

I most short-sighted ROS quotes:ROS is supported by the whole community!ROS accelerates robotics research!If we are not in ROS, we do not exist!

Every One (Soitseems), 2009–2010

I my (short-sighted) ROS quote:

ROS: I love it, but I hate it. . . !Herman Bruyninckx (Munich), 2010

H. Bruyninckx, Skills for mobile manipulation 7

Page 29: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (4)

I most useful figures in my robotics classes:

robot task

environment

I my benchmark of intelligence & cognition:to explain more with less concepts

I my current research hypothesis:cognitive models are the best software models

H. Bruyninckx, Skills for mobile manipulation 8

Page 30: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My profile (4)

I most useful figures in my robotics classes:

robot task

environment

I my benchmark of intelligence & cognition:to explain more with less concepts

I my current research hypothesis:cognitive models are the best software models

H. Bruyninckx, Skills for mobile manipulation 8

Page 31: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Mobile manipulation

Another example of “How to do this in ROS?”

How to extend this to real mobile manipulationon the PR2? And other similar robots!

H. Bruyninckx, Skills for mobile manipulation 9

Page 32: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

ROS = Sense–Plan–Act

I very few good “control” functionalities(⇒ not grounded in traditional robotics. . . )

I emphasis on (only) geometric, static planningI uni-directional, input–output, hard

set-point “stack” hierarchies

I poor “4C” separation of concerns:

Computation, Communication, Configuration,Coordination

⇒ PR2 moves like a robot. . .

H. Bruyninckx, Skills for mobile manipulation 10

Page 33: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

ROS = Sense–Plan–Act

I very few good “control” functionalities(⇒ not grounded in traditional robotics. . . )

I emphasis on (only) geometric, static planningI uni-directional, input–output, hard

set-point “stack” hierarchies

I poor “4C” separation of concerns:

Computation, Communication, Configuration,Coordination

⇒ PR2 moves like a robot. . .

H. Bruyninckx, Skills for mobile manipulation 10

Page 34: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

4C: separation of concerns

C1 Computation

: the useful functionality withinthe components that (hopefully) pays the bill

C2 Communication

: overhead of supportingcomponents/nodes to exchange data

C3 Configuration

: to give each componentappropriate (task-dependent!) parameters

C4 Coordination

: to help components in switchingtheir functional behaviour in a coordinated way

Holds for hardware, algorithms, middleware,. . . !

H. Bruyninckx, Skills for mobile manipulation 11

Page 35: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

4C: separation of concerns

C1 Computation: the useful functionality withinthe components that (hopefully) pays the bill

C2 Communication: overhead of supportingcomponents/nodes to exchange data

C3 Configuration: to give each componentappropriate (task-dependent!) parameters

C4 Coordination: to help components in switchingtheir functional behaviour in a coordinated way

Holds for hardware, algorithms, middleware,. . . !

H. Bruyninckx, Skills for mobile manipulation 11

Page 36: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Task—Skill—MotionTraditional three levels of robot “architectures”

Motion

react

ive

continuous

realt

ime Skill

delib

era

tive

discrete

on lin

eTa

sk

stra

teg

icsymbolic

off

lin

e

H. Bruyninckx, Skills for mobile manipulation 12

Page 37: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Three-level (meta) architecture

I first(?) explicit description: Saridis 1977I Organization, Coordination, Direct controlI Increasing order of intelligence, decreasing order of

precision

I is known under various other names (e.g.,strategic, deliberative, reactive,. . . )

I research challenge for coming decade: to weavemore reasoning/intelligence through all levels

H. Bruyninckx, Skills for mobile manipulation 13

Page 38: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion:

I Skill:I Task:

H. Bruyninckx, Skills for mobile manipulation 14

Page 39: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion: a continuous time/space activityof a robot, moving its joints and/or tool(s) ina specified way, until some constraint isviolated that can be checked by sensors.

I Skill:I Task:

H. Bruyninckx, Skills for mobile manipulation 14

Page 40: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion: a continuous time/space activityof a robot, moving its joints and/or tool(s) ina specified way, until some constraint isviolated that can be checked by sensors.(Extremely simple) examples:

I a force-controlled peg-in-hole motion, terminatedby reaching a force threshold in the insertion direction

I a force-guarded approach motion in free space,terminated by sensing a non-zero approach force.

I Skill:I Task:

H. Bruyninckx, Skills for mobile manipulation 14

Page 41: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion:

I Skill: a discrete state automaton (FSM), inwhich each State runs one single Motion, andeach violation of a motion constraint (can) giverise to a transition event.

I Task:

H. Bruyninckx, Skills for mobile manipulation 14

Page 42: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion:

I Skill: a discrete state automaton (FSM), inwhich each State runs one single Motion, andeach violation of a motion constraint (can) giverise to a transition event.(Extremely simple) examples:

I assemble a peg into a hole: approach, find hole,align, insert

I opening a door: locating the handle, reaching out tograsp it, grasping it, opening the door

I Task:

H. Bruyninckx, Skills for mobile manipulation 14

Page 43: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion:

I Skill:I Task: symbolic constraints between

sub-Tasks (= partial fulfilment of the wholeTask), in which each transition between two suchsub-Tasks (compatible with the constraints) isrealised by one out of a set of appropriate Skills.

H. Bruyninckx, Skills for mobile manipulation 14

Page 44: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

My definitions

I Motion:

I Skill:I Task: symbolic constraints between

sub-Tasks (= partial fulfilment of the wholeTask), in which each transition between two suchsub-Tasks (compatible with the constraints) isrealised by one out of a set of appropriate Skills.(Not so extremely simple) example: bring abottle of beer from the fridge

H. Bruyninckx, Skills for mobile manipulation 14

Page 45: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Intermediate reflections

I Skills are the “glue” between the symbolic andthe real worlds

I reasoning can take place at all levels

I hierarchy can exist at all levels.

I main & major & inevitable research errors: tryto apply solutions fit for one level to problems atother levels.

H. Bruyninckx, Skills for mobile manipulation 15

Page 46: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Intermediate overview

Our research in Motion/Skill specification &execution:

I Past: (single) Task Frame Formalism

I (Recent) Past: (multiple) Feature FrameFormalism (“iTaSC”)

I Present: Skills

H. Bruyninckx, Skills for mobile manipulation 16

Page 47: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Past (1985–2000)—Task Frame Formalism—

(Expected outcome of our PR2/WG contract!)

H. Bruyninckx, Skills for mobile manipulation 17

Page 48: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Task Frame Formalism (2)

I Single frame with six DOFs.

I Explicit setpoints (= hard, uni-directionalconstraints)

I Velocity + Force.

I Only serial “skill” logic.

I Sensor-based tracking. (E.g., force, vision.)

∆α

F

Fyt

Fxt

Xt Xo

Yo

Yt

Xt Xo

Yo

Yt

vyt

vxtv ∆α

H. Bruyninckx, Skills for mobile manipulation 18

Page 49: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

move compliantly {

with task frame directions

xt: force 0 N

yt: force 0 N

zt: velocity v mm/sec

axt: force 0 Nmm

ayt: force 0 Nmm

axt velocity 0 rad/sec

} until zt force < -f N

H. Bruyninckx, Skills for mobile manipulation 18

Page 50: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

move compliantly {

with task frame directions

xt: velocity v mm/sec

yt: force f N

zt: velocity 0 mm/sec

axt: velocity 0 rad/sec

ayt: velocity 0 rad/sec

azt: track (on velocities)

} until until distance > d mm

∆α

F

Fyt

Fxt

Xt Xo

Yo

Yt

Xt Xo

Yo

Yt

vyt

vxtv ∆α

H. Bruyninckx, Skills for mobile manipulation 18

Page 51: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Past (2004–2009)—iTaSC—

“Instantaneous Task Specification withConstraints”

I Multiple frames. . .

I . . . with partial specification per frame. . .

I . . . and constraint-based i.s.o. setpoints.

I Planning & Estimation can be included.

H. Bruyninckx, Skills for mobile manipulation 19

Page 52: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Modelling primitives: kinematic loops

H. Bruyninckx, Skills for mobile manipulation 20

Page 53: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Step 1.: “Scene graph” modelI Relative geometric relationships between “feature

frames” (⇒ ROS tf2?)I Assign plan, estimation, uncertainty,. . . to each

feature.

Step 2a.: Global objective function(s)

Step 2b.: Constraint specification per feature

Step 3.: Solve the resulting constrainedoptimization problem

Step 4.: Update the “scene graph” anditerate Step 3.

H. Bruyninckx, Skills for mobile manipulation 21

Page 54: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Step 1.: “Scene graph” modelI Relative geometric relationships between “feature

frames” (⇒ ROS tf2?)I Assign plan, estimation, uncertainty,. . . to each

feature.

Step 2a.: Global objective function(s)

Step 2b.: Constraint specification per feature

Step 3.: Solve the resulting constrainedoptimization problem

Step 4.: Update the “scene graph” anditerate Step 3.

H. Bruyninckx, Skills for mobile manipulation 21

Page 55: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Step 1.: “Scene graph” modelI Relative geometric relationships between “feature

frames” (⇒ ROS tf2?)I Assign plan, estimation, uncertainty,. . . to each

feature.

Step 2a.: Global objective function(s)

Step 2b.: Constraint specification per feature

Step 3.: Solve the resulting constrainedoptimization problem

Step 4.: Update the “scene graph” anditerate Step 3.

H. Bruyninckx, Skills for mobile manipulation 21

Page 56: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Step 1.: “Scene graph” modelI Relative geometric relationships between “feature

frames” (⇒ ROS tf2?)I Assign plan, estimation, uncertainty,. . . to each

feature.

Step 2a.: Global objective function(s)

Step 2b.: Constraint specification per feature

Step 3.: Solve the resulting constrainedoptimization problem

Step 4.: Update the “scene graph” anditerate Step 3.

H. Bruyninckx, Skills for mobile manipulation 21

Page 57: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Present: SkillsI Modelling

(“scene graph”)

I Configuration

(“constraints”):

I motion: instantaneous, trajectory primitives,interaction,. . .including weights between motion primitives andobjective functions

I learning: model parameter priors

I Computation

(“weighted constrained optimization”)

I instantaneous motion solverI estimation/learning/reasoning calculations

includes monitoring of constraint violations!

I Coordination

(constraint violation event-driven FSM)includes “discrete scheduling” of Bayesian network!

H. Bruyninckx, Skills for mobile manipulation 22

Page 58: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Present: SkillsI Modelling (“scene graph”)

I Configuration

(“constraints”):

I motion: instantaneous, trajectory primitives,interaction,. . .including weights between motion primitives andobjective functions

I learning: model parameter priors

I Computation

(“weighted constrained optimization”)

I instantaneous motion solverI estimation/learning/reasoning calculations

includes monitoring of constraint violations!

I Coordination

(constraint violation event-driven FSM)includes “discrete scheduling” of Bayesian network!

H. Bruyninckx, Skills for mobile manipulation 22

Page 59: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Present: SkillsI Modelling (“scene graph”)

I Configuration (“constraints”):

I motion: instantaneous, trajectory primitives,interaction,. . .including weights between motion primitives andobjective functions

I learning: model parameter priors

I Computation

(“weighted constrained optimization”)

I instantaneous motion solverI estimation/learning/reasoning calculations

includes monitoring of constraint violations!

I Coordination

(constraint violation event-driven FSM)includes “discrete scheduling” of Bayesian network!

H. Bruyninckx, Skills for mobile manipulation 22

Page 60: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Present: SkillsI Modelling (“scene graph”)

I Configuration (“constraints”):

I motion: instantaneous, trajectory primitives,interaction,. . .including weights between motion primitives andobjective functions

I learning: model parameter priors

I Computation (“weighted constrained optimization”)

I instantaneous motion solverI estimation/learning/reasoning calculations

includes monitoring of constraint violations!

I Coordination

(constraint violation event-driven FSM)includes “discrete scheduling” of Bayesian network!

H. Bruyninckx, Skills for mobile manipulation 22

Page 61: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Present: SkillsI Modelling (“scene graph”)

I Configuration (“constraints”):

I motion: instantaneous, trajectory primitives,interaction,. . .including weights between motion primitives andobjective functions

I learning: model parameter priors

I Computation (“weighted constrained optimization”)

I instantaneous motion solverI estimation/learning/reasoning calculations

includes monitoring of constraint violations!

I Coordination (constraint violation event-driven FSM)includes “discrete scheduling” of Bayesian network!

H. Bruyninckx, Skills for mobile manipulation 22

Page 62: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Example experiment—Human-aware dual-arm Skill—

H. Bruyninckx, Skills for mobile manipulation 23

Page 63: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Summary of presented paradigm

I our paradigm: a methodological way ofspecifying Skills and Motions

I Methodology = 4C + constrained optimiz.I constraint-based:

I (soft) constraints are composable & bi-directionalI constraints = knowledge relationshipsI allow single-concept integration of cognition and

reasoning at all three levels of abstraction (Task,Skill, Motion)

I multi-frame, partial specification

I scene graph is central shared resource

I traditional Sense-Plan-Act is smooth limit caseH. Bruyninckx, Skills for mobile manipulation 24

Page 64: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Summary of presented paradigm (2)

I our competitive research advantage: an excellentpartner for symbol grounding in cognitiverobotics. . .

I . . . including professional/commerciallysupported implementation inside Orocos/ROSecosystem

I “To ROS or not to ROS?”Wrong question!

⇒ “Let’s professionalize open source robotics!”

H. Bruyninckx, Skills for mobile manipulation 25

Page 65: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Summary of presented paradigm (2)

I our competitive research advantage: an excellentpartner for symbol grounding in cognitiverobotics. . .

I . . . including professional/commerciallysupported implementation inside Orocos/ROSecosystem

I “To ROS or not to ROS?”

Wrong question!

⇒ “Let’s professionalize open source robotics!”

H. Bruyninckx, Skills for mobile manipulation 25

Page 66: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Summary of presented paradigm (2)

I our competitive research advantage: an excellentpartner for symbol grounding in cognitiverobotics. . .

I . . . including professional/commerciallysupported implementation inside Orocos/ROSecosystem

I “To ROS or not to ROS?”Wrong question!

⇒ “Let’s professionalize open source robotics!”

H. Bruyninckx, Skills for mobile manipulation 25

Page 67: (To ROS or not to ROS)library.isr.ist.utl.pt/docs/roswiki/attachments/Events(2f)CoTeSys(2d...My pro le I Mathematical Physics, CS, Mechatronics I 1998: decided to make open source

Summary of presented paradigm (3)

I currently best practiceand most impressivea

implementations of ourparadigm:DLR Justin. . .

I . . . using Simulink/RTW,and no open source. . .

aCoffee making video does not need“×10” annotation. . .

H. Bruyninckx, Skills for mobile manipulation 26