Matthew Piccoli University Of Pennsylvania

  • Uploaded by: Willow Garage
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Matthew Piccoli University Of Pennsylvania as PDF for free.

More details

  • Words: 2,473
  • Pages: 20
Matthew Piccoli University of Pennsylvania

Base Controller 

Lots of deprecated code



Separate odometry from controller



Use common baseKinematics class



Continuously updated throughout the summer

Choices… 

Safe teleop (base)  Velocity control  Goal control



Closed loop grasping  Using fingertip sensors



Cart pushing/trailer pulling

Safe Teleop  Two

methods:

Velocity control ○ The path of the commanded velocity from the joystick

is projected forward ○ If path crosses obstacle, linearly decrease speed with distance Goal control ○ The location of the goal is controlled by the joystick ○ Move_base or move_base_local plans to that goal

Closed Loop Grasping  Initial

goals:

Identify objects Grasp delicate objects (like eggs)

Closed Loop Grasping  Initial

goals:

Identify objects Grasp delicate objects (like eggs)

Squishy ball

Wood block

Impulse from motor momentum!

Closed Loop Grasping  Initial

goals:

Grasp delicate objects (like eggs) Identify objects

 Need

to prevent force spike

Force spike from impulse Need to reduce impulse Impulse from momentum Need to reduce momentum Momentum from velocity (motors/materials) Need to reduce velocity

Closed Loop Grasping  Initial

goals:

Grasp delicate objects (like eggs) Identify objects

 Velocity

controller

 Will attempt to go through object at specified velocity  Need to switch to a controller that won’t go through the

object, but will hold onto it ○ Effort controller  Need to switch at impact with object (on both fingertips)  Can use fingertip sensors or change in current to motor

Closed Loop Grasping

Open loop  Initial goals:

Closed loop

Grasp delicate objects (like eggs) Identify objects

Closed Loop Grasping

Classification Output (Weka) Odwalla vs Naked vs Can vs Water

J48 pruned tree ------------------

first_contact_distance <= 0.059488 first_contact_distance <= 0.057874: naked (38.0) first_contact_distance > 0.057874 | df/dt <= 17278.83919: naked (4.0) | df/dt > 17278.83919 | | peak_force_distance <= 0.051701 | | | first_contact_distance <= 0.058224: naked (4.0) | | | first_contact_distance > 0.058224: odwalla (19.0/2.0) | | peak_force_distance > 0.051701: odwalla (43.0) first_contact_distance > 0.059488 | fingertip_peak_force_right <= 9437: water (70.0/1.0) | fingertip_peak_force_right > 9437 | | dx/dt <= 0.008679: can (42.0) | | dx/dt > 0.008679: water (9.0/1.0)

93.8865 %

| | | | | | | |

Number of Leaves : Size of the tree :

8

15

Time taken to build model: 0.01 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 215 Incorrectly Classified Instances 14 Kappa statistic 0.9167 Mean absolute error 0.0378 Root mean squared error 0.1729 Relative absolute error 10.2468 % Root relative squared error 40.2635 % Total Number of Instances 229 === Detailed Accuracy By Class ===

93.8865 % 6.1135 %

a b c d <-- classified as 58 1 0 1 | a = odwalla 8 40 0 0 | b = naked 0 0 41 3 | c = can 0 0 1 76 | d = water

TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.967 0.047 0.879 0.967 0.921 0.963 odwalla 0.833 0.006 0.976 0.833 0.899 0.946 naked 0.932 0.005 0.976 0.932 0.953 0.962 can 0.987 0.026 0.95 0.987 0.968 0.972 water Weighted Avg. 0.939 0.023 0.942 0.939 0.938 0.962 === Confusion Matrix === a b c d <-- classified as 58 1 0 1 | a = odwalla 8 40 0 0 | b = naked 0 0 41 3 | c = can 0 0 1 76 | d = water

Closed Loop Grasping

Classification Output (Weka) Odwalla vs Naked vs Can vs Water and Open vs Closed and Full vs Empty J48 pruned tree -----------------=== Stratified cross-validation === === Summary ===

Correctly Classified Instances 116 Incorrectly Classified Instances 113 Kappa statistic 0.4702 Mean absolute error 0.0662 Root mean squared error 0.2367 Relative absolute error 53.3184 % Root relative squared error 94.967 % Total Number of Instances 229

50.655 %

50.655 % 49.345 %

=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 1 0.005 0.938 1 0.968 0.998 odwallafullclosed 0.733 0.033 0.611 0.733 0.667 0.855 odwallafullopen 0.6 0.014 0.75 0.6 0.667 0.885 odwallaemptyopen 0.643 0.019 0.692 0.643 0.667 0.813 nakedfullclosed 0.286 0.023 0.444 0.286 0.348 0.689 nakedfullopen 0.7 0.037 0.467 0.7 0.56 0.925 nakedemptyclosed 0.6 0.018 0.6 0.6 0.6 0.791 nakedemptyopen 0.467 0.033 0.5 0.467 0.483 0.78 odwallaemptyclosed 1 0.005 0.933 1 0.966 0.998 canfullclosed 0.6 0.028 0.6 0.6 0.6 0.847 canfullopen 0.467 0.042 0.438 0.467 0.452 0.767 canemptyopen 0.278 0.062 0.278 0.278 0.278 0.641 waterfullclosed 0.158 0.086 0.143 0.158 0.15 0.709 waterfullopen 0.15 0.038 0.273 0.15 0.194 0.597 wateremptyopen 0.35 0.091 0.269 0.35 0.304 0.704 wateremptyclosed Weighted Avg. 0.507 0.039 0.505 0.507 0.501 0.787 === Confusion Matrix === a b c d e f g h i j k l m n o <-- classified as 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | a = odwallafullclosed 0 11 0 0 0 0 0 3 0 0 0 1 0 0 0 | b = odwallafullopen 0 0 9 0 0 3 1 2 0 0 0 0 0 0 0 | c = odwallaemptyopen 1 2 0 9 2 0 0 0 0 0 0 0 0 0 0 | d = nakedfullclosed 0 0 2 4 4 1 1 2 0 0 0 0 0 0 0 | e = nakedfullopen 0 0 0 0 1 7 2 0 0 0 0 0 0 0 0 | f = nakedemptyclosed 0 0 0 0 1 3 6 0 0 0 0 0 0 0 0 | g = nakedemptyopen 0 5 1 0 1 1 0 7 0 0 0 0 0 0 0 | h = odwallaemptyclosed 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 | i = canfullclosed 0 0 0 0 0 0 0 0 0 9 6 0 0 0 0 | j = canfullopen 0 0 0 0 0 0 0 0 0 4 7 2 1 0 1 | k = canemptyopen 0 0 0 0 0 0 0 0 1 2 0 5 4 1 5 | l = waterfullclosed 0 0 0 0 0 0 0 0 0 0 1 5 3 4 6 | m = waterfullopen 0 0 0 0 0 0 0 0 0 0 0 1 9 3 7 | n = wateremptyopen 0 0 0 0 0 0 0 0 0 0 2 4 4 3 7 | o = wateremptyclosed

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

1 0 0 0

2 0 0 0

0 1 0 2

5 5 1 4

4 3 9 4

1 4 3 3

5| 6| 7| 7|

l = waterfullclosed m = waterfullopen n = wateremptyopen o = wateremptyclosed

Classification Output (Weka) Odwalla vs Naked vs Can and Open vs Closed and Full vs Empty J48 pruned tree -----------------=== Stratified cross-validation === === Summary ===

Correctly Classified Instances 99 Incorrectly Classified Instances 53 Kappa statistic 0.6155 Mean absolute error 0.067 Root mean squared error 0.2413 Relative absolute error 40.5616 % Root relative squared error 83.9145 % Total Number of Instances 152

65.1316 % 34.8684 %

65.1316 %

=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 0.933 0.022 0.824 0.933 0.875 0.958 odwallafullclosed 0.667 0.044 0.625 0.667 0.645 0.846 odwallafullopen 0.667 0.058 0.556 0.667 0.606 0.852 odwallaemptyopen 0.5 0.029 0.636 0.5 0.56 0.76 nakedfullclosed 0.429 0.036 0.545 0.429 0.48 0.705 nakedfullopen 0.6 0.028 0.6 0.6 0.6 0.925 nakedemptyclosed 0.7 0.014 0.778 0.7 0.737 0.842 nakedemptyopen 0.467 0.058 0.467 0.467 0.467 0.702 odwallaemptyclosed 0.929 0 1 0.929 0.963 0.964 canfullclosed 0.667 0.051 0.588 0.667 0.625 0.809 canfullopen 0.6 0.044 0.6 0.6 0.6 0.926 canemptyopen Weighted Avg. 0.651 0.036 0.653 0.651 0.649 0.843 === Confusion Matrix === a b c d e f g h i j k <-- classified as 14 1 0 0 0 0 0 0 0 0 0 | a = odwallafullclosed 0 10 0 0 0 0 0 4 0 0 1 | b = odwallafullopen 0 0 10 0 0 2 0 3 0 0 0 | c = odwallaemptyopen 3 0 0 7 3 0 0 1 0 0 0 | d = nakedfullclosed 0 1 4 3 6 0 0 0 0 0 0 | e = nakedfullopen 0 0 1 0 1 6 2 0 0 0 0 | f = nakedemptyclosed 0 0 0 0 1 2 7 0 0 0 0 | g = nakedemptyopen 0 4 3 1 0 0 0 7 0 0 0 | h = odwallaemptyclosed 0 0 0 0 0 0 0 0 13 1 0 | i = canfullclosed 0 0 0 0 0 0 0 0 0 10 5 | j = canfullopen 0 0 0 0 0 0 0 0 0 6 9 | k = canemptyopen

Without Water

Classification Output (Weka) Open vs Closed and Full vs Empty

J48 pruned tree -----------------=== Stratified cross-validation === === Summary ===

Correctly Classified Instances 115 Incorrectly Classified Instances 37 Kappa statistic 0.7316 Mean absolute error 0.0449 Root mean squared error 0.1978 Relative absolute error 27.152 % Root relative squared error 68.7782 % Total Number of Instances 152

75.6579 % 24.3421 %

75.6579 %

=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 1 0.015 0.882 1 0.938 0.993 odwallafullclosed 0.8 0.007 0.923 0.8 0.857 0.928 odwallafullopen 0.8 0.044 0.667 0.8 0.727 0.911 odwallaemptyopen 0.857 0.043 0.667 0.857 0.75 0.936 nakedfullclosed 0.714 0.014 0.833 0.714 0.769 0.915 nakedfullopen 0.7 0.007 0.875 0.7 0.778 0.946 nakedemptyclosed 0.8 0.014 0.8 0.8 0.8 0.946 nakedemptyopen 0.467 0.036 0.583 0.467 0.519 0.835 odwallaemptyclosed 0.929 0 1 0.929 0.963 0.964 canfullclosed 0.667 0.051 0.588 0.667 0.625 0.809 canfullopen 0.6 0.036 0.643 0.6 0.621 0.931 canemptyopen Weighted Avg. 0.757 0.025 0.763 0.757 0.755 0.917 === Confusion Matrix === a b c d e f g h i j k <-- classified as 15 0 0 0 0 0 0 0 0 0 0 | a = odwallafullclosed 0 12 0 0 0 0 0 3 0 0 0 | b = odwallafullopen 1 0 12 0 0 0 0 2 0 0 0 | c = odwallaemptyopen 0 0 0 12 2 0 0 0 0 0 0 | d = nakedfullclosed 0 0 0 4 10 0 0 0 0 0 0 | e = nakedfullopen 0 0 0 1 0 7 2 0 0 0 0 | f = nakedemptyclosed 0 0 0 1 0 1 8 0 0 0 0 | g = nakedemptyopen 1 1 6 0 0 0 0 7 0 0 0 | h = odwallaemptyclosed 0 0 0 0 0 0 0 0 13 1 0 | i = canfullclosed 0 0 0 0 0 0 0 0 0 10 5 | j = canfullopen 0 0 0 0 0 0 0 0 0 6 9 | k = canemptyopen

Without Water and Knowing

Classification Output (Weka) Open vs Closed and Full vs Empty

J48 pruned tree -----------------=== Stratified cross-validation === === Summary ===

Correctly Classified Instances 45 Incorrectly Classified Instances 15 Kappa statistic 0.6667 Mean absolute error 0.0468 Root mean squared error 0.2024 Relative absolute error 33.0524 % Root relative squared error 77.0029 % Total Number of Instances 60

75 25

% %

75 %

=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 1 0.044 0.882 1 0.938 0.978 odwallafullclosed 0.667 0.044 0.833 0.667 0.741 0.896 odwallafullopen 0.733 0.089 0.733 0.733 0.733 0.852 odwallaemptyopen 0 0 0 0 0 ? nakedfullclosed 0 0 0 0 0 ? nakedfullopen 0 0 0 0 0 ? nakedemptyclosed 0 0 0 0 0 ? nakedemptyopen 0.6 0.156 0.563 0.6 0.581 0.81 odwallaemptyclosed 0 0 0 0 0 ? canfullclosed 0 0 0 0 0 ? canfullopen 0 0 0 0 0 ? canemptyopen Weighted Avg. 0.75 0.083 0.753 0.75 0.748 0.884 === Confusion Matrix === a b c d e f g h i j k <-- classified as 15 0 0 0 0 0 0 0 0 0 0 | a = odwallafullclosed 1 10 0 0 0 0 0 4 0 0 0 | b = odwallafullopen 1 0 11 0 0 0 0 3 0 0 0 | c = odwallaemptyopen 0 0 0 0 0 0 0 0 0 0 0 | d = nakedfullclosed 0 0 0 0 0 0 0 0 0 0 0 | e = nakedfullopen 0 0 0 0 0 0 0 0 0 0 0 | f = nakedemptyclosed 0 0 0 0 0 0 0 0 0 0 0 | g = nakedemptyopen 0 2 4 0 0 0 0 9 0 0 0 | h = odwallaemptyclosed 0 0 0 0 0 0 0 0 0 0 0 | i = canfullclosed 0 0 0 0 0 0 0 0 0 0 0 | j = canfullopen 0 0 0 0 0 0 0 0 0 0 0 | k = canemptyopen

Odwalla Only

We Can Do Better  Modify

the controller to:

Give time to velocity = 0 Repeat grasp with different forces Give time to location of lowest force trial

velocity = 0 when using larger forces Give time to spring back to first contact distance

Classification Output (Weka) Open vs Closed and Full vs Empty With Improved Algorithm

J48 pruned tree ------------------

time3 <= 0.542 | peak_force03 <= 14609 | | distance_steady3 <= 0.049578: emptyopen (19.0) | | distance_steady3 > 0.049578 | | | steady_force03 <= 9386: emptyopen (4.0) | | | steady_force03 > 9386: emptyclosed (25.0/1.0) | peak_force03 > 14609: fullclosed (24.0) time3 > 0.542: fullopen (24.0) Number of Leaves : Size of the tree :

5

9

Time taken to build model: 0 seconds === Stratified cross-validation === === Summary === Correctly Classified Instances 89 Incorrectly Classified Instances 7 Kappa statistic 0.9028 Mean absolute error 0.0411 Root mean squared error 0.1858 Relative absolute error 10.9362 % Root relative squared error 42.8508 % Total Number of Instances 96

92.7083 % 7.2917 %

92.7083 %

=== Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure ROC Area Class 1 0.014 0.96 1 0.98 0.993 fullclosed 0.833 0.028 0.909 0.833 0.87 0.912 emptyopen 1 0.014 0.96 1 0.98 0.993 fullopen 0.875 0.042 0.875 0.875 0.875 0.929 emptyclosed Weighted Avg. 0.927 0.024 0.926 0.927 0.926 0.957 === Confusion Matrix === a b c d <-- classified as 24 0 0 0 | a = fullclosed 0 20 1 3 | b = emptyopen 0 0 24 0 | c = fullopen 1 2 0 21 | d = emptyclosed

Odwalla Only

Closed Loop Grasping

Related Documents


More Documents from ""