balancing actuation energy and cics talk - may 5, 2021

83
Balancing Actuation Energy and Computing Energy in Motion Planning Soumya Sudhakar, Vivienne Sze, Sertac Karaman Low Energy Autonomy and Navigation (LEAN) Group CICS Talk - May 5, 2021

Upload: others

Post on 22-Jan-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Balancing Actuation Energy and Computing Energy in Motion Planning

Soumya Sudhakar, Vivienne Sze, Sertac KaramanLow Energy Autonomy and Navigation (LEAN) Group

CICS Talk - May 5, 2021

Planning a Path to the Coffeeshop

2

Planning a Path to the Coffeeshop

3

What’s the weather like?When do I need to come back by? Should I minimize waiting at intersections?

Don’t Think Too Hard

4

Don’t Think Too Hard

5

Don’t Think Too Hard

6

How do we get an energy-constrained robot to decide when it has computed enough?

Miniature or Long-Duration Robotics are Power-Constrained

7

50 mWRobofly (2020)100 mg

SOURCE: KONGSBERGSOURCE: WASHINGTON

500 mWSeaglider (2003)200 days

Power-constrained due to size

Power-constrained due to duration

Miniature or Long-Duration Robotics Enable New Solutions

Persistent environmental monitoring

Noninvasive targeted drug delivery

Space exploration

Many applications exist for miniature or long-duration robotic platforms that can intelligently navigate

Infrastructure inspections

8

Recent Advances in Low-Power Robotic Platforms

9

31 mW Robobee (2019)

500 mWSeaglider (2003)

132 mWChipsat (2016)

5.5 W Dash 4.08 WRacecar

13.5 mW Robotic Water Strider (2015)

Success in actuating miniature and long-duration robotics at low power in the lab and real-world

Mini Autonomous Blimp (2017) 50 mWRobofly (2020)

SOURCE: KONGSBERG SOURCE: CORNELL

SOURCE: SEOUL NAT’L UNIVERSITYSOURCE: CHEERWING

SOURCE: SKY VIPERSOURCE: HARVARD

SOURCE: UNIV. OF WASH. SOURCE: GEORGIA TECH

Less Attention Paid to Energy Computing Consumes

10

Cassie bipedal robot[Source: Agility Robotics]

Kashiri et al. 2018

120 WattsCassie bi-pedal robot

30 kg

Avg. Energy per Meter [J/m]

0 100 200

ASIC, FPGA [Source: Xilinx](power dependent on hardware design)

Cortex-A15 Nvidia Jetson TX2 [Source: Nvidia]

GPU

Cortex-A7

Avg. Energy per Second [J/s]

11,000

KUKA arm[Source: KUKA]Grebers et al. 2017

300

Tesla Model S at 70 mph[Source: Tesla]

Sherman 2014, Car and Driver

Less Attention Paid to Energy Computing Consumes

11

Cassie bipedal robot[Source: Agility Robotics]

Kashiri et al. 2018

120 WattsCassie bi-pedal robot

30 kg

Avg. Energy per Meter [J/m]

0 100 200

ASIC, FPGA [Source: Xilinx](power dependent on hardware design)

Cortex-A15 Nvidia Jetson TX2 [Source: Nvidia]

GPU

Cortex-A7

Avg. Energy per Second [J/s]

11,000

KUKA arm[Source: KUKA]Grebers et al. 2017

300

Tesla Model S at 70 mph[Source: Tesla]

Sherman 2014, Car and Driver

Energy to move >> energy to compute for traditional robots

Less Attention Paid to Energy Computing Consumes

12

Cassie bipedal robot[Source: Agility Robotics]

Kashiri et al. 2018

120 WattsCassie bi-pedal robot

30 kg

Avg. Energy per Meter [J/m]

0 100 200

ASIC, FPGA [Source: Xilinx](power dependent on hardware design)

Cortex-A15 Nvidia Jetson TX2 [Source: Nvidia]

GPU

Cortex-A7

Avg. Energy per Second [J/s]

11,000

KUKA arm[Source: KUKA]Grebers et al. 2017

300

Tesla Model S at 70 mph[Source: Tesla]

Sherman 2014, Car and Driver

Energy to move >> energy to compute for traditional robots

Avg. Energy per Meter [J/m]

Avg. Energy per Second [J/s]

Robobee[Source: Harvard]

Cheerwing Mini RC [Source: Cheerwing]

Seaglider [Source: Kongsberg]

Viper Dash [Source: Sky Viper]

2 WD Chassis [Source: Adafruit]

2 WD Chassis [Source: ElecFreaks]

ASIC, FPGA [Source: Xilinx](power dependent on hardware design)

Cortex-A15 Nvidia Jetson TX2 [Source: Nvidia]

GPUEmbedded CPUs [Source: ARM]

Cortex-A7

For low-power robotics, energy to move and

energy to compute are on a similar magnitude

13

Background: Motion Planning

14

The motion planning problem

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

15

Node

Edge

Sampling-based motion planner

Sampling-based motion planner find paths by sampling and connecting nodes in free space

Plan the shortest path from the

start to the goal avoiding all obstacles

The motion planning problem

Background: Motion Planning

16

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

17

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

18

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

19

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

20

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

21

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

22

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Background: Motion Planning

23

Node

Edge

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem Sampling-based motion planner

Plan the shortest path from the

start to the goal avoiding all obstacles

Computing more nodes → find shorter paths

Background: Motion Planning

24

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem

Plan the shortest path from the

start to the goal avoiding all obstacles

Node

Edge

Sampling-based motion planner

Background: Motion Planning

25

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem

Plan the shortest path from the

start to the goal avoiding all obstacles

Node

Edge

Sampling-based motion planner

Background: Motion Planning

26

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem

Plan the shortest path from the

start to the goal avoiding all obstacles

Node

Edge

Sampling-based motion planner

Background: Motion Planning

27

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem

Plan the shortest path from the

start to the goal avoiding all obstacles

Node

Edge

Sampling-based motion planner

Background: Motion Planning

28

Sampling-based motion planner find paths by sampling and connecting nodes in free space

The motion planning problem

Plan the shortest path from the

start to the goal avoiding all obstacles

Node

Edge

Sampling-based motion planner

Background: Motion Planning

29

Actuation energy = energy consumed by vehicle’s actuators (e.g., motors) to move along path

Computing energy = energy consumed by computer onboard vehicle to compute the path

Total Energy of Actuation and Computing

30Simulated vehicle that can travel 1 m/s at 1 Watt,

computing on a Cortex A15 (embedded CPU)

Total Energy of Actuation and Computing

31Simulated vehicle that can travel 1 m/s at 1 Watt,

computing on a Cortex A15 (embedded CPU)

Total energy

Actuation energy(energy to move

along path)

Total Energy of Planning and Moving

32Simulated vehicle that can travel 1 m/s at 1 Watt,

computing on a Cortex A15 (embedded CPU)

Total energy

Reducing total energy is now an early stopping problem

Computing energy (energy to

compute path)

Actuation energy(energy to move

along path)

The Work of Actuation and Computation

33

The work of actuation and the work of computing have analogous variables

The Work of Actuation and Computation

34

The work of actuation and the work of computing have analogous variables

The Work of Actuation and Computation

35

The work of actuation and the work of computing have analogous variables

The Work of Actuation and Computation

36

The work of actuation and the work of computing have analogous variables

The Work of Actuation and Computation

37

The work of actuation and the work of computing have analogous variables

The Work of Actuation and Computation

38

The work of actuation and the work of computing have analogous variables

Total Energy of Planning and Moving

39

# of nodes n actuation energy computing energy

Simulated vehicle that can travel 1 m/s at 1 Watt, computing on a Cortex A15 (embedded CPU)

Actuation energy(energy to move

along path)

Computing energy (energy to

compute path)

Total Energy of Planning and Moving

40

Overhead energy (energy to decide

when to stop)

Performance metric includes overhead we introduceSimulated vehicle that can travel 1 m/s at 1 Watt,

computing on a Cortex A15 (embedded CPU)

Actuation energy(energy to move

along path)

Computing energy (energy to

compute path)

Related Work

41

Batch-Informed Trees[Gammell et al. (ICRA 2015)]

Reducing computing energy

Fast-Marching Trees[Janson et al. (IJRR 2015)]

Lazy PRM[Bohlin et al. (ICRA 2000)]

Reducing actuation or other energy

FPGA acceleration[Murray et al. (RSS 2016), Palossi et al. (IoT 2019)]

Incorporating terrain [Gaganath et al. (TII 2015)]

Incorporating communication energy

[Yan et al (TCNS 2014)]

Hierarchical abstractions[Larsson et al. (2017)]

2000 2015 2020

Considering actuation energy & computing energy

Related Work

42

Batch-Informed Trees[Gammell et al. (ICRA 2015)]

Reducing computing energy

Fast-Marching Trees[Janson et al. (IJRR 2015)]

Lazy PRM[Bohlin et al. (ICRA 2000)]

Reducing actuation or other energy

FPGA acceleration[Murray et al. (RSS 2016), Palossi et al. (IoT 2019)]

Incorporating terrain [Gaganath et al. (TII 2015)]

Incorporating communication energy

[Yan et al (TCNS 2014)]

Hierarchical abstractions[Larsson et al. (2017)]

2000 2015 2020

CEIMP (this work)[Sudhakar et al. (2020)]

Considering actuation energy & computing energy

Technical Gap: Knowing How Much Computing is Enough

43

Computing energy planner

will spendActuation energy planner

will save

Technical Gap: Knowing How Much Computing is Enough

44

Computing energy planner

will spend

Actuation energy planner

will save

Technical Gap: Knowing How Much Computing is Enough

45

Computing energy planner

will spend

Actuation energy planner

will save

Technical Gap: Knowing How Much Computing is Enough

46

Computing energy planner

will spend

Actuation energy planner

will save

Technical Gap: Knowing How Much Computing is Enough

47

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

48

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

49

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

50

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

51

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

52

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

53

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

54

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

55

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

56

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

57

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

58

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

59

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

Technical Gap: Knowing How Much Computing is Enough

60

Computing energy planner

will spend

Actuation energy planner

will save

Improvement in same homotopic class

Improvement from homotopic class change

This work:Computing Energy Included

Motion Planning (CEIMP)

CEIMP: Underlying Motion Planner

61

CEIMP: Track edges in collision with the obstacles to “probe” the environment for new homotopic classes

62

63

CEIMP: Track edges in collision with the obstacles to “probe” the environment for new homotopic classes

CEIMP: Track edges in collision with the obstacles to “probe” the environment for new homotopic classes

64

CEIMP: Model the state of each currently edge in collision as ‘repairable’ or ‘unrepairable’

65

AB

CEIMP: Model the state of each currently edge in collision as ‘repairable’ or ‘unrepairable’

66

AB

repairable

unrepairable

CEIMP: Model the state of each currently edge in collision as ‘repairable’ or ‘unrepairable’

67

AB

CEIMP: Estimate the probability an edge in collision’s state is ‘repairable’

68

P(edge A is repairable)

P(edge B is repairable)

P(edge C is repairable)

P(edge D is repairable)

CEIMP: Estimate the probability an edge in collision’s state is ‘repairable’

69

Pt(edge A is repairable | measurementt = unrepaired)

Model computing a batch of nodes as a

noisy sensor that returns a reading of

repaired or unrepaired

CEIMP: Estimate the probability an edge in collision’s state is ‘repairable’

70

Pt(edge A is repairable | measurementt = unrepaired)

Model computing a batch of nodes as a

noisy sensor that returns a reading of

repaired or unrepaired

What is the probability an edge in collision is

a repairable edge, given we haven’t been

able to repair it yet?

Computing as a Measurement

71

edge ∈ {repairable, unrepairable}measurement from sampling a batch of nodes ∈ {repaired, unrepaired}

Computing as a Measurement

72

P(measurement = unrepaired) =a if edge is repairable

1 if edge is unrepairable

edge ∈ {repairable, unrepairable}measurement from sampling a batch of nodes ∈ {repaired, unrepaired}

Computing as a Measurement

73

P(measurement = unrepaired) =a if edge is repairable

1 if edge is unrepairable

edge ∈ {repairable, unrepairable}measurement from sampling a batch of nodes ∈ {repaired, unrepaired}

Pt(edge A is repairable | measurementt = unrepaired) = 𝜂P(measurement = unrepaired | edge A is repairable)Pt-1(edge A is repairable)

Binary Bayesian filtering

74

CEIMP: Run a search algorithm on probabilistic graph to return the shortest expected path

P(edge A is repairable)

P(edge B is repairable)

P(edge C is repairable)

P(edge D is repairable)

Experimental Results

75

CEIMP stops too early, misses savings from homotopic class change

Oracle (true) minimum stopping pointCEIMP stopping point (this work)Baseline stopping point

Oracle (true) minimum stopping pointCEIMP stopping point (this work)Baseline stopping point

CEIMP successful at stopping close to true minimum

Simulated vehicle that can travel 1 m/s at 1 Watt, computing on a Cortex A15 (embedded CPU)

Experimental Results

76

Example path returned by baseline

Example path returned by CEIMP

Oracle (true) minimum stopping pointCEIMP stopping point (this work)Baseline stopping point

CEIMP successful at stopping close to true minimum

Simulated vehicle that can travel 1 m/s at 1 Watt, computing on a Cortex A15 (embedded CPU)

Experimental Results

77

CEIMP successful at stopping close to true minimum

Oracle (true) minimum stopping pointCEIMP stopping point (this work)Baseline stopping point

On average across 10 MIT floorplans, CEIMP saves 2.1x-8.9x the energy compared to baseline

Simulated vehicle that can travel 1 m/s at 1 Watt, computing on a Cortex A15 (embedded CPU)

Example path returned by baseline

Example path returned by CEIMP

78

As the the energy to compute becomes more expensive relative to the energy to move, CEIMP will increase energy savings

Energy to compute 1 sec relative to the energy to move 1 meter

79

As the the energy to compute becomes more expensive relative to the energy to move, CEIMP will increase energy savings

Energy to compute relative to the energy to moveEnergy to compute 1 sec relative to the energy to move 1 meter

80

As the the energy to compute becomes more expensive relative to the energy to move, CEIMP will increase energy savings

Energy to compute 1 sec relative to the energy to move 1 meter

81

As the the energy to compute becomes more expensive relative to the energy to move, CEIMP will increase energy savings

Energy to compute 1 sec relative to the energy to move 1 meter

(this work)

Key Takeaways

● Don’t think too hard: A longer path that we have now can be better than a shorter path that we have to compute a long time to find

82

Sudhakar, Soumya, Sertac Karaman, and Vivienne Sze. "Balancing Actuation and Computing Energy in Motion Planning." 2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2020.

This work was funded by the National Science Foundation, Cyber-Physical Systems (CPS) program, through grant no. 1837212

Computing energy planner

will spend

Actuation energy planner

will save

Key Takeaways

● Don’t think too hard: A longer path that we have now can be better than a shorter path that we have to compute a long time to find

● Computing is (noisy) sensing: Sampling nodes in a motion planner can be modeled as a noisy sensor that returns whether a path is open or closed

83

Sudhakar, Soumya, Sertac Karaman, and Vivienne Sze. "Balancing Actuation and Computing Energy in Motion Planning." 2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2020.

This work was funded by the National Science Foundation, Cyber-Physical Systems (CPS) program, through grant no. 1837212

Computing energy planner

will spend

Actuation energy planner

will save