Legged Robot State Estimation using Invariant Kalman Filtering and Learned Contact Events
Authors: Tzu-Yuan Lin
Ray Zhang
Justin Yu
Maani Ghaffari
Venue: CoRL2021 Poster (2021)
Keywords: State Estimation
Deep Learning
Legged Robot
Invariant EKF

Abstract: This work develops a learning-based contact estimator for legged robots that bypasses the need for physical sensors and takes multi-modal proprioceptive sensory data as input. Unlike vision-based state estimators, proprioceptive state estimators are agnostic to perceptually degraded situations such as dark or foggy scenes. While some robots are equipped with dedicated physical sensors to detect necessary contact data for state estimation, some robots do not have dedicated contact sensors, and the addition of such sensors is non-trivial without redesigning the hardware. The trained network can estimate contact events on different terrains. The experiments show that a contact-aided invariant extended Kalman filter can generate accurate odometry trajectories compared to a state-of-the-art visual SLAM system, enabling robust proprioceptive odometry.

Legged Robot State Estimation using Invariant Kalman Filtering and Learned Contact Events
Tzu- Yuan Lin, Ray Zhang, Justin Yu, and Maani Ghaffari University of Michigan, Ann Arbor, MI, USA { (tzuyuan, rzh, yujustin, maanigj @umi chiicch. edu
Abstract: This work develops a learning-based contact estimator for legged robots that bypasses the need for physical sensors and takes multi-modal proprio- ceptive sensory data as input. Unlike vision-based state estimators, proprioceptive state estimators agnostic to perceptually degraded situations such as dark foggy scenes. While some robots are equipped with dedicated physical sensors detect necessary contact data for state estimation, some robots do not have dedicated contact sensors, and the addition of such sensors non-trivial without redesigning the hardware. The trained network estimate contact events different terrains. The experiments show that a contact-aided invariant extended Kalman filter can generate accurate odometry trajectories compared to state-of- the-art visual SLAM system, enabling robust proprioceptive odometry.
Keywords: State Estimation, Deep Learning, Legged Robot, Invariant EKF
Introduction
Legged robots can traverse uneven terrains. This unique capability gives them the potential con- duct scientific exploration in extreme environments, execute rescue missions in hazardous scenes, and can help humans everyday tasks [1]. To accomplish these goals, knowledge of the robot's current state is necessary. While joint angles can be directly measured using encoders, the robot's pose and velocity require additional measurements and mathematically sound data fusion method.
Vision based state estimators might suffer from failure due to illumination changes or extreme environments such snowstorms or foggy scenes [2]. In contrast, proprioceptive state estima- tors are agnostic to perceptually degraded situations and can operate at high update rate (e.g., 100 2000 Hz). This high-frequency information provides odometry estimates for localization and mapping tasks [3, 4, 5] and controllers and planners to maintain stability and execute planned poli- cies [6]. The former the focus of this work.
Proprioceptive state estimators often fuse the measurements from an Inertial Measurement Unit (IMU) with leg odometry. Leg odometry, particular, uses kinematics and contact data update the state. Reliable measurements of kinematic and contact information become critical in this case. Not all legged robots are equipped with dedicated contact sensors or springs to detect contact [7, 8]. The addition of dedicated contact sensors is non-trivee non-trivial and often leads to hardware redesign.
In this paper, develop deep learning-based contact estimator that does not require dedicated sensors and instead uses joint encoders, kinematics, and IMU data. We create contact data sets using an MIT Mini Cheetah robot [8] eight different terrains. We further deploy the contact estimator along with a contact-aided invariant extended Kalman filter (InEKF) [9] and show that the resulting odometry trajectory is comparable
state-of-the-art visual SLAM algorithm (used proxy for ground truth). The contributions of this work are as follows. 1) Open-source contact data sets recorded using an MIT Mini Cheetah: 2) A lightweight learning-based contact estimator that mitigates the need for physical contact sensors for state estimation tasks; 3) A quadruped version of the contact-aided invariant EKF compatible with Lightweight Communications and Marshalling (LCM) [10, 11] interface. The data sets and software are available for download I; 4) Experimental
inttps://giithie http://////oooooooo///////o///o/ wttp:///wwi..i...u.o///eeeee--ep weweaaatttteetttme imator attps::/gitane http:////ggtuuub..oooooo/aeeeeee
-neeet realtime
5th Conference on Robot Learning (CoRI. 2021), London, UK.

---

InEXT Conlact, Fatimation
Linser Acceree ation Anaalelr Valocity
IMU
ORB SLAM2 failed
E00
Pose Velocity
Estimation
Encodors
Angle, Angular Volecky
10
15
20
25
30
Figure I: Left: Proposed state estimator. The deep contact estimation network (Yellow) takes joint encoders, IMU, and kinematics data input classifies contact state quadruped rooot state estimation, the estimated contacts, the IMU, and joint encoders data are fused inside contact-uided invariant extended Kalman filter. Right: The trajectories of the Invariant EKF and ORB SLAM2 in asphalt and Jorest data set. The proposed state estimater can serve as reliable odometry when visual SLAM systems fail.
results for contact-aided state estimation using an MIT Mini Cheetah on different terrains. A video demonstrating the proposed method can be found at: https: /ttptyyyuuu.uueuu be/oobe-//BB E.
Related Work
Model-based approaches segment the touchdown event of robot legs or prosthetic legs by threshold- ing the estimated Ground Reaction Force (GRF) from the general equation of motion [12, 13, 14]. Although this method can detect touchdown events, the estimated GRF is often noisy and unreli- able, especially for lightweight robots. De Luca al. [15], Haddadin al. [16] proposed General- ized Momentum (GM) method for detecting contact events on robot manipulators. This GM-based method is, in fact, filtered version of the work of Focchi et al. [12]. Although GM-based methods mitigate the noise problem in GRF estimation, an empirical threshold on the cut-off frequency is still required.
Hwangbo et al. [17] introduces a probabilistic representation of the contact state and uses a Hidden Markov Model (HMM) to fuse the dynamics and kinematics for contact estimation. They adopt a Monte-Carlo sampling algorithm to compute the transition model and verify the method against GM-based methods. Jenelten al. [18] expands the HMM method and focuses slippage detec- tion. They demonstrate ANY mal [19], a quadruped robot, walking stably on slippery ground. The above methods aim to detect contact as early possible for the controller to maintain stability; however, we aim to detect contact intervals for state estimation on various terrains.
Bledt et al. [20] leverages both the GM-based methods and the probabilistic representation of contact states. They use a Kalman filter to fuse the gait phase scheduler information from the controller with the GRF estimated using the GM method and demonstrate that estimates contacts can help the controller reduce the bouncing event upon touchdown. However, this method assumes the leg phase to be periodic could experience a loss in performance when the phase is heavily violated as the robot interacts with uneven terrains.
uses the gait scheduler information in the prediction step of the Kalman filter. It
Data-driven approaches take advantage of the rapid development recent machine learning tech- niques. Camurri et al. [21] uses logistic regression to learn the GRF threshold for contact detection. This work compares against heuristic-based thresholding on GRF using a base state estimator. The result shows that the logistic regression classifier double the performance of the state estimator. However, compared to deep learning methods, the performance of a logistic regression classifier gets saturated as the number of data increases [22, 23]. This method requires specific training procedure for different gait, loading conditions of the robot, and individual terrain properties.
Rotella et al. [24] uses fuzzy C-means clustering for the probability of contacts in all six end- effector degrees of freedom. They integrate the contact estimator with a base state estimator and show their approach performs considerably better than implementations that are purely based on measured normal force. However, this method assumes contact wrench sensors and additional IMU are available at each end-effector. Furthermore, this method was only tested in simulation. Its per-

---

formance on real robots remains unknown. Piperakis et al. [25] proposes unsupervised learning method for humanoid gait phase estimation. The authors employ Gaussian Mixture Models (GMMs) for clustering and show the accuracy by comparing to the ground-truth data and leg odometry. How- ever, this work also assumes the availability of wrench/force sensors at each end-effector, and the clustering result is affected by the gait and data density.
The above methods either assume the availability of wrench/force sensors or are restricted by the nature of simple regression and are thus unable to generalize to different scenarios. In contrast, our work proposes multi-modal deep learning-base baaenn contact estimator that does not require contact sensors and can generalize well to different gaits and terrain properties. Moreover, as more data becomes available, the network performance can be improved.
Preliminaries
State Representation. We wish to estimate the orientation, velocity, and position of the body (IMU) frame in the world frame at any time stamp I, which are represented as Rg E SO(3), v, E R and Pr E RR3 respectively. We define the state X, (3) as X; == (Re, Ut, Pt, du), where du E R3 the position of a contact foot in the world frame. When a contact event is detected for leg 1, du calculated via the forward kinematics and the current body state, and then augmented into the state to enforce the no-slip vecro-velocity condition. If the contact constraint breaks, the associated contact position du will be marginalized from the state to allow foot movement. The matrix Lie group, SEL+2(3) is an extension of SE(3) and was introduced by Barrau [26].
When a new contact event is detected, the position of the corresponding foot is computed using d. = p. + (āt), where hā, the foot position relative to the body frame computed by the forward kinematics (the bar notation denotes estimated variables). I indicates the number of legs that is currently having contact with the ground (here I. S 4).
Process Model. We assume the IMU measurements, i.e., angular velocity and linear accelcration, are corrupted by white Gaussian noise:
Wا w. + wf. w ~ E t)),
ā a + w/:
w ~ 200
E0
where GP represents Gaussian process and 8(t - t') is the Dirac delta function. To handle small foot slippage, we model the contact velocity noise in the body frame via a white Gaussian noise w"" GP(0,,1 E" 8(t t')) [27]. The process model of the individual term in the state becomes:
d
d
di R2 (w: -w?)==]))) wx)xx x;
di Ub Raāe w/ + +
d
dt Pt Ut ot.
d,
where (.)x denotes a 3 x 3 skew symmetric matrix. is the gravity vector, å, is the encoder mea- surements, and h is the orientation of the contact frame IMU (body) frame calculated by forward kinematics using FROST library [28].
Measurement Model. We use forward kinematics from current encoder measurements in right- invariant model described by Hartley et al. [9]. We assume the measurements from joint encoders are corrupted by white Gaussian noise: og a + wf, wi (O3,1 En t¹)). The assumption that the contact point fixed in the world frame during contact event leads (ā,)) R2 (de Pt) + (ă wff, where Jă( is the analytical Jacobian of the forward kinematics function.
4 Contact Estimation
In this section, we will discuss our deep learning approach for contact estimation. We define our contact state for each leg I E {RF, LF, RH. LH} as C = |CRF CLF CRH CLæ] and e (0, 1). Here, denotes no contact, and 1 indicates a firm contact with the ground. Depending on the robot's motion, the contact state vector C can have totally 16 different states. (From all feet are in the air to all feet are in contact with the ground). We formulate as a classification problem in our deep neural network and aim at estimating the correct contact state C given the input data. In
3

---

Aagale
W
IMU
Jain Nagle
q
Couner Soor
S
q
Jrhn Valccity
Foot Pusttiin
Pf
Join Essders Kineratics
Foor Voloeity
y
64 44
pool
3od
10
The architocture the contact state of the robot. The structure consists 2 blocks and fully connected layers. In each block, there 2 one-dimensional convolation layers and one dimensional max paoling. The second convolution layer in each block is applied with a dropout mechamism overfiting.
Figure 2:
contact estimation network. The network takes meaureemnnss from encoders an IMU ourputs
order follow typical classification pipelines, map contact state vector C' to 16 different states S E {0, 1,..., 15} by treating C as a binary value with 4 digits and using binary to decimal conversion the function. For example, contact state C: [
is mapped to
4.1 Preprocessing of the Input Data
The contact estimation network takes sensor measurements from joint encoders, IMU, and kinemat- ics as input. For synchronized time the sensor measurements concatenated 54 x I array
Zn = 99n Qn
an
Wn Pfn Ufn]. where
4n = 19RFIn QRF22
QLFin
[LH3a
4n = [iRFIn
QRF2a
$RF3n
İLFin [LH30]
an
[azm ayn azn], Wn
[Wnn Wyn
Wan]
Pfn |RFFa
PRFyn
PRF
PLFæn
PLHmn
Un
[URFzn
URFyn
URFan
ULF
ULHam]
Here, qT is 12 vector containing all the joint encoder measurements (rad) at time n, q is 12 x vector with joint angular velocity (rad/sec), a, holds the linear accelerations (m/sec) from the IMU in the IMU frame, wn contains the angular velocity (rad/sec) in the IMU frame, p),, is 12 x 1 vector with foot positions calculated from forward kinematics, and u7,, is 12 x 1 vector that carries the linear velocities of each foot. is worth noticing that both f and f' are represented in the robot's hip frame. To infer the relationship between data across the time domain, for data point at time n, we create a window with size w and append previous measurements within this window
into a 2D array D,, [ 2T 2
= D,, is a w 54 array. (In our case, we use w = 150.) Each time, the network takes Dn as input and estimates the contact state Sn, as output.
4.2 Network Architecture
The contact estimation network consists of 2 blocks of convolutions and fully connected layers, as shown in Figure 2. Each block contains 2 die-dinensional convolution layers and a mie-dimensional max pooling. The convolution layers are designed extract deep features from the input data. We choose a onn-dimensional kernel to increase computational efficiency in terms of memory usage and time. The kernel moves along the time domain, and the data is padded to preserve dimensions. ReLU is employed as the nonlinear activation function for the convolution layer. The second con- volution layer is applied with dropout mechanism prevent overfitting. At the end of each block, a one-dimensional max-pooling layer is added to downsample the data.
The second block is connected to 3 fully connected layers that convert the deep features into the 16 classes we defined earlier. We also employ the dropout mechanisms the first fully connected layers to prevent overfitting. Finally,
formulate classification problem using the cross-entropy loss L(P;) - log Σ, exp (Pz)- P, is the probability output from the network of state j. and P. is the probability of the ground truth state. The detailed network architecture is listed in the Appendix.
exp (P,)

---

Table Number of data each temain in the contact data sets.
Terrain Type
overall
air trottin
sir pronking
usphalt road
concrete
Förest
grass
middle pebble
small pebble
rock road
sidewalk
1,013,441
44,386
465.144
72,144
103,392
44,442
52,669
45,819
58.115
Asphalt Road
Forest
Grass
Middlee Pebbles
Small Pehbles
Rock Roed
Sidewalk
(a) Robor Setup for data collection.
(b) Different ground types in the contact data set.
Figure 3: (a) Robot configuration for all data sets except grass. Additional RGB D images are recorded using an Intel D455 camera mounted rohor. images are used SLAAM to generate ground taaectories. (b) Different ground types contact set.
4.3 Contact Data Set
We create open-source contact data sets using an MIT Mini Cheetah robot. We record all the pro- prioceptive sensor measurements from the robot LCM logs. Recorded measurements include joint encoders data, foot positions and velocities, IMU measurements, and estimated joint torques from MIT controller [29]. The IMU measurements are received at 1000 Hz, while other data are recorded at 500 Hz. All data are upsampled to match the IMU frequency after being recorded. Around 1, 1,000,000 data points are collected from various terrains. including asphalt road, concrete, forest, grass, middle pebbles, small pebbles, rock road, and sidewalk. To give the network negative examples of non-contact scenarios, by holding the robot up and giving the same controller command. (i.e., not having contact with the ground while operating the same gait.)
also record several sequences of the robot walking in the air
The grass data sets are collected inside an outdoor facility equipped with a motion capture system, which
as proxy for ground truth trajectory. Markers attached each foot and the robot body for the motion capture system to record the absolute foot positions and body pose in the world frame. For the rest of the data sets, in addition the proprioceptive sensors, also record RGB-D images with an Intel D455 camera mounted on top of the robot. We use these images in state-of-the-art visual SLAM system, ORB SLAM2 [30], to generate the approximate ground truth trajectories. Figure 3b shows the picture of each terrain. The concrete data sets are recorded in lab environment with polished concrete. The forest data sets are collected with random leaves, woods, and plants scattered around the ground. The middle pebbles data sets are recorded on pebbles ranging from 3 to 7 cm. The small pebbles data sets are recorded on pebbles ranging from 0.5 cm. Rock road consists of dirt and rocks of random sizes. The contact data sets contain data from different gaits and different robot loading.
The self-supervised network uses an offline algorithm that automatically generates ground truth labels using robot foot height in the hip frame. As shown in the Appendix, the algorithm applies a low-pass filter to the signal and extracts local minima and maxima using the future and past data points around the current timestamp. Hence, cannot run online on the robot. The contact events are labeled by connecting the local minima between peaks. Moreover, we observe a bouncing effect on the robot's 's foot upon touch down after inspecting slow-motion videos of Mini Cheetah's walking patterns. The bouncing results in sudden change of foot height in the signal. Applying the low-pass filter to the signal enables the algorithm to remove these false positives from the ground truth.
Experimental Results
We train and evaluate the contact network discussed in the previous section. Some sequences are reserved for testing. The rest of the data are split into validation, testing, and training sets with the
5

---

Table 2: Accuracy comparison against baselines. The proposed method achieves the highest accuracy on both sequences, Although the gait eyele method has accuracy eloser propesed method, does not false positives when gait cycle is violated.
Sequence
Method
% Accuracy
% False Positive Rate
% False Negutive Rate Log Avg
Leg RF
Leg
Log
Leg
Leg Avg
Log Avg
GRP Thresholding
73.43
70.02
71.09
70.04
71.30
57.07
13.24
Concrete Short Loop
Gait Cycle
$5. 66
84.98
84.68
85.11
85.11
22:95
0.00
Proposed Methind
98.56
2.51
GRF Thresholding
82.5 55
78.93
84.62
82.45
82.14
26.87
0.63
Grass Test Sequence
Gait Cycle
92.41
92.38
91.01
90.55
91.59
10.95
3.53
Proposol Method
98.08
97.57
97.73
97.73
97.78
2.35
1.98
GRF Thresholding
99
80.09
82.75
83.24
81.77
26.54
Forest Test Sequence
Gair Cyale
X3.03
82.56
84.44
84.22
83.58
24.71
0.00
Proposed Method
97.05
96.62
97.24
97.40
97.08
2.82
3.12
ratio of 15%, 15%, and 70,, respectively. Table lists the number of data being used from each terrain. A window size of 150 is used to allow the network to infer from the time domain. Each data point is normalized along the time domain to prevent scaling issues. We shuffled the training data to ensure generalizability in the model and reduce overfitting. We set the batch size to 30 and use 10-4 as the learning rate. The training process took 1.5 hours on an NVIDIA RTX 3090 GPU for 30 epochs. We note that after about seven epochs, the network can converge.
5.1 Contact Estimation
We evaluate the performance of the network in two ways. First, 16 class denotes the accuracy in terms of 16 contact states S defined earlier. This case is harsher way evaluate the network since it requires all four legs to be correct simultaneously. We also compute the accuracy of the individual leg by comparing the estimated contact state of each leg with ground truth contacts indi- vidually. On average, the trained network achieves 93.88% accuracy in 16 contact states and 97.82% in each leg individually. Detailed accuracy across different terrains listed in the Appendix. In ad- dition, since false positive in contact estimation is fatal to the state estimator, we compute the False Positive Rate (FPR) and the False Negative Rate (FNR) to obtain insights into the performance, The FP
FN FPR and the FNR are calculated following the definition FPR FP4TN and FNR FN+TP where F P is false positive, TN is true negative, FN is false negative, and TP is true positive. On average, our method holds an FPR of 1.82% and an FNR of 2.88% on the test sets.
5.2 Comparison of Contact Detection Methods
This experiment compares the accuracy, FPR, and FNR of the proposed method against other contact detection methods using the Mini Cheetah robot. We implement a model-based approach [12, 13, 14] where the estimated ground reaction force is computed via the general equation of motion with a low-pass filter. A fixed threshold is then set to detect the contact events. Because there is no direct access to the motor current on the robot, we use the torque command from the controller to approximate the actual torque on the actuators. We also obtain the gait cycle command from the MIT controller [29] to serve as a contact estimation method.
Table lists the accuracy, FPR, and FNR of the compared methods on three test sequences. We see that the proposed method achieves the highest accuracy across all sequences and the GRF thresholding has the worst performance. Although the baselines obtain slightly lower FNRs, our method maintains significantly lower FPRs, which is crucial to state estimation tasks.
5.3 Coddact-Aided Invariant Extended Kalman Filter
We use the contact-aided invariant extended Kalman filter described in Section 3 concrete test sets. The estimated contacts are converted into LCM messages along with IMU and encoder mea- surements. The InEKF takes in the LCM messages and estimates the pose of the robot accordingly. We also run the filter using the ground truth contact data to serve as a reference.
Figure 4 shows the trajectories from the InEKF using different contact sources on a concrete loop sequence. Qualitatively compared to the baseline contact detectors, the resulting trajectory with the proposed contact estimation has smaller drifts from the trajectory with ground truth contacts, especially in the height (Y) axis. Furthermore, compared the baseline contact estimators, the proposed method also yields a smoother trajectory.

---

OBB SLAMD
312 CT0 Teemknk Centert
-1.0
(803
(00)
5
10
20
(4)
Figure 4: Concrete short loop sequence. Top Left: The b-nd's-eye view of irajecturies, The estimated trajectory iuspped the frime (Y' pointing downward, and Z painting forward). Using the estimated contacts, the InEKF can reprodace a similar trajectory to that used ground truth contacts. Right: Zoomed-in of the s-eye The baseline while the proposed method generates a smoother trajectory. Bottom Left: This figure shows that the gait eycle and GRF thresholding methods produce sigmilicant height
estimation methods yield zig-zng trajectories,
in InEKK
Right: Robet configuration this experiment.
Table 3:
accuracy network trained with data Cassio-serics robor. network trained with labels generated from spring deflections and labels from kinematics sepurately. The netwerk trained with kinematics labels maintains low FPR.
Contact Labels
& Accuracy
%
False Positive Rate
% False Negative Rate
class
Log L
Log
Leg Ave
Log
Leg
Leg Avg
Leg
Leg R
Leg Avg
Spring Deflection
98.03
99.82
98.
99.01
0.13
2,18
0.23
0.78 1.36
Kinematics
85.14
93.05
92.09
92.57
0.01
2,42
1.24
14.56
14.55
14.55
5.4 Cassie-Series Robot Experiment
We also performed an experiment on a Cassie-series bipedal robot, developed by Agility Robotics, to show the applicability of the proposed framework to different robots and training label sources. The robot is equipped with a spring on each leg, which serves as a contact detection sensor. The contact state is defined C' = [cL CR]- The decimal contact states becomes S E 10, Similar to MiniCheetah, we concatenate the input data as 2, = Ign. qn On Wn. Pfn Uyn]- Because data from Cassie recorded higher frequency, window size of 600 is used.
The data is recorded on polished concrete using a controller developed by Gong and Grizzle [31, 32]. Around 1, 300, 000 data points recorded. Two sequences reserved as test sets, and two are used training.
obtained two sources of ground truth contacts in this experiment one from spring deflections; the other from kinematics. Spring contact labels are obtained by thresholding on the GRF computed from the spring deflection. We assume this is a more reliable contact source as comes from physical sensor. The kinematics contacts are generated following the same procedure described in Section 4.3. We train the network using two ground truth contacts separately and evaluate them against the spring contacts.
Table 3 lists the accuracy, the FPR, and the FNR of the two networks. We can see that when trained with ground truth contacts using spring deflection, the network can achieve above 98% accuracy. When trained with the labels generated using kinematics, can maintain above 92% accuracy on both legs. The results indicate that training using labels generated from the process described in Sec- tion 4.3 is useful in practice, albeit with some loss accuracy. Moreover, the network trained with kinematics labels does not increase the FPR, valuable trait for state estimation tasks. This experi-
7

---

Table 4: The average performance different network structures on the test sets, Each "block" consists of convolution layers followed by ReLU activation function and pooling, described Figure 2.
Network Structure
% Accuracy Leg Ri
False Positive Rate
% False Negative Rate
class
Leg RT
Leg LF
Leg LH
Leg Avg
Leg Avg
Leg Avg
Blocks
93.88
97.76
97.66
97.86
98.00
97.82
Black
93.58
97.59
97.47
97.77
97.80
97.
1.83
3.34
Blocks
92.19
96.90
96.64
97.03
97.56
97.04
2.28
4.28
Conv- Pww-PooooCCn-PPoo
97.45
97.19
97.46
97.39
ment also shows the generalizability of the proposed framework. We demonstrate that the proposed framework can work on two different robots as long as one collects enough data for training.
5.5 Ablation Study and Runtime
We perform an ablation study different network architectures to study how the performance changes. Table lists the average performance of different network structure on the test sets. Each "block" consists of 2 convolution layers followed by ReLU activation function and max pooling, as described in Figure 2. In the table, Blocks the proposed network detailed Section 4. Block refers the network with only the first block and the fully connected layers of the proposed network. As for Blocks, we added two additional blocks with 256 and 512 channels before the fully connected layers. Conv-Pool-Conv-PPe 128 and the fully connected layers. Each convolution layer is followed by a ReLU function and one max pooling. From the table, we can see that 2 Blocks has the best performance among all other structures. However, Block maintains a smaller network while showing a slightly lower accuracy.
consists of only 2 convolution layers of sizes 64 and
The inference speed on NVIDIA RTX 3090 GPU is approximately 1100 Hz. The inference speed on an NVIDIA Jetson AGX Xavier, which we equipped on the robot, is around 830 Hz after TensorRT optimization. The frequency of the encoder measurements Mini Cheetah is 500 Hz. This means the proposed contact estimator run at real-time without delay on the robot. The InEKF runs at 2000 Hz Intel i7-8750H CPU.
6 Discussion and Limitations
The developed contact estimator can capture contact events for a quadruped robot without force/contact sensors. However, the contacts are modeled as binary values, and the "quality" of contacts is not modeled in our contact estimation network. As result, perfect contact is always assumed when a contact event is detected. Furthermore, the covariance matrix of the contact mea- surements is set heuristically in the InEKF, which along with the uncertainties in the kinematic models, could be the potential sources of estimation error in the InEKF In the future, we wish to expand the contact detection network to have covariance estimation of the current contact state. This approach will allow the state estimator to treat contact information as a sensor measurement with online uncertainty update and potentially decrease the drift in the state estimation.
We formulated the problem as a classification problem with 16 different contact states. This model can potentially be further improved by employing multi-task learning approach [33, 34). This approach allows independently segment the contact events for each foot.
Conclusion
We developed multi-modal deep learning-based contact estimation method that does not require contact/force sensors and works well with different robot gaits on distinct terrains. We present open- source contact data sets with self-supervised labels of contact events using an MIT Mini Cheetah robot. We show that the trained contact network can achieve 97% accuracy across different ter- rains. The estimated contacts employed in contact-aided invariant state estimator for quadruped robots, and the resulting trajectory comparable to a modern visual SLAM system.
8

---

Acknowledgment
Toyota Research Institute provided funds to support this work. Funding for M. Ghaffari was in part provided by NSF Award No. 18888.. This work was also supported by MIT Biomimetic Robotics Lab and NAVER LABS. NVIDIA Corporation provided hardware support for this work.
References
[1] M. H. Raibert, H. B. Brown Jr, M. Chepponis, J. Knechling, Jnd K. Hodgins. Dynamically stable legged locomotion. Technical report, Massachusetts Inst Tech Cambridge Artificial Intelligence Lab, 1989.
[2] Bijelic. T. Gruber, and W. Ritter. A benchmark for LIDAR sensors in fog: Is detection breaking down? In IEEE Intelligent Vehicles Symposium, pages 760-767. IEEE, 2018.
[3] D. Belter and M. R. Nowicki. Opúmizzaiion-based legged odometry and sensor fusion for legged robot continuous localization. Robotics and Autonomous Systems, 111:110 12400-12222202 2019.
[4] L. Gan, R. Zhang, W. Grizzle, R. M. Eustice, and M. Ghaffari. Bayesian spatial kernel smoothing for scalable dense semantic mapping. IPFE Robotics and Automation Letters, 5(2):790-797, April 2020. ISSN 2377-3774.
[5] D. Wisth, M. Camurri, and M. Fallon. Preintegrated velocity bias estimation to overcome contact nonlin- earities in legged robot odometry. In Proceedings the IEEE International Conference on Roboticy and Automation, pages 392-398. IEEE, 2020.
[6] Y. Gong and J. Grizzle. Angular momentum about the contact point for control of bipedal locomotion: Validation in a basddsed controller. arXiv preprint arXiv:2008. 10763, 2020.
[7] G. Bledt, M. Powell, B. Katz, J. Di Carlo, M. Wensing, and S. Kim. MIT Cheetah 3: Design and control of robust, dynamic quadruped robot. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 2245-2253 IEEE, 2018
[8] B. Katz, J. Di Carlo, and S. Kim. Mini cheetah: A platform for pushing the limits of dynamic quadruped control. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 6295- 6301. IEEE, 2019.
[9] R. Hartley, Ghaffari,
Eustice, and J. Grizzle. Contact-aided invariant extended kalman filtering for robot state estimation. International Journal of Robotics Research, 39(4):402-433 4300, 2020.
[10] A. S. Huang, E. Olson, and D. C. Moore. Mle: Lightweight communications and marshalling. In Pru- ceedings of the IEEE/RSJ International Conference Intelligent Robots and Systems, pages 4057-4062. IEEE, 2010.
[11] D. Moore, F. Olson, and A. Huang. Lightweight communications and marshalling for low-latency inter- process communication. 2009.
[12] M. Focchi, V. Barasuol, I. Havoutis, J. Buchli, C. Semini, and D. G. Caldwell. Local reflex generation for obstacle negotiation in quadrupedal locomotion. In Nnture- Mobile Robotics, pages 440-450. World Scientific, 2013.
[13] S. A. Fakoorian, D. Simon, H. Richter, and V. Azimi. Ground reaction force estimation in prosthetic legs with an extended kalman filter. In 2016 Annual IEEE Systems Conference (SysCon), pages 1 16. IEEE, 2016.
[14] G. Fink and Semini. Proprioceptive sensor fusion for quadruped rohot state estimation. In Proceedings of the IEFF/RSJ International Conference on Intelligent Robots and Systems, pages 10914-10920. IEFF, 2020.
[15] A. De Luca, A. Albu-Schaffer, S. Haddadin, and G. Hirzinger. Collision detection and safe reaction with the drriii lightweight manipulator arm. In Proceedings the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1623-1630. IEEE, 2006.
[16] S. Haddadin, A. Schaffer, A. De Luca, and G. Hirzinger. Collision detection and reaction: A contribution to safe physical human-robon interaction. In Proceedings of the IEEE/RSJ International Conference Intelligent Robots and Systems, pages 3356-3363. IEEE, 2008

---

[17] J. Hwangbo, C. D. Bellicoso, P. Fankhauser, and M. Hutter. Probabilistic foot contact estimation by fusing information from dynamics and differentialforrwar kinematics. In Proceedings the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3872-3878. IEEE, 2016.
[18] F. Jenelten, J. Hwangbo. F. Tresoldi, C. D. Bellicoso, and M. Hutter. Dynamic locomotion slippery ground. IEEE Robotics and Automation Letters, 4(4):4170
2019.
[19] M. Hutter, C. Gehring, D. Jud, A. Lauber, C. D. Bellicoso, V. Tsounis, Hwangbo, K. Bodie, P. Fankhauser, M. Bloesch, al. Anymal-a highly mobile and dynamic quadrupedal robot. In Proceed- ings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 38 44, IEEE, 2016.
[20] G. Bledt, P. M. Wensing, S. Ingersoll, and S. Kim. Contact model fusion for event-based locomotion in unstructured terrains. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 4399-449949 4406. IEEE, 2018.
[21] M. Camurri, M. Fallon. S. Bazeille. A. Radulescu, V. Barasuol, D. G. Caldwell, and C. Semini. Proba- bilistic contact estimation and impact detection for state estimation of quadruped robots. IEEF Robotics and Automation Letters, 2(2):0223-1030, 2017.
[22] Y. LeCun, Y. Bengio, and G. Hinton. Deep learning. Nature, 521(7553):436 444, 2015.
[23] I. Goodfellow, Y. Bengio, and A. Courville. Deep Learning. deeplearningbookk org.
MIT Press, 2016. http://www.
[24] N. Rotella, S. Schaal, and L. Righetti. Unsupervised contact learning for humanoid estimation and control. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 411-417 IEEE, 2018.
[25] S. Piperakis, S. Timothcatos, and P. Trahanias. Unsupervised gait phase estimation for humanoid robot walking. In Proceedings of the IEEE International Conference on Robotics and Automation, pages 270- 276. IEEE, 2019.
[26] A. Barrau. Non-linear state error based extended Kalman filters with applications to navigation. PhD thesis, Mines Paristech, 2015.
[27] Bloesch, M. Hutter, M. A. Hoepflinger, Leutenegger, C. Gehring, C. Remy, and R. Siegwart. State estimation for legged robots: Consistent fusion of leg kinematics and IMU, In Proceedings of the Robotics: Science and Systems Conference, 2012.
[28] A. Hereid and A. D. Ames. FROST: Fast robot optimization and simulation toolkit. In Proceedings of the JEEE/RSJ International Conference on Intelligent Robots and Systems, Vancouver, BC, Canada, 2017. IEEE.
[29] D. Kim, J. Di Carlo, B. Katz, G. Bledt, and S. Kim. Highly dynamic quadruped locomotion via whole- body impulse control and model predictive control. arXiv preprint arXiv: arXiv: 1906.0669,,. 2019.
[30] R. Mur-Artal and J. D. Tardós. ORB-SLA SLAM2: An open-source slam system for monocular, stereo, and RGB D cameras. IEEE Transactions on Robotics, 33(5): - 2017.
[31] Y. Gong and J. Grizzle. Zero dynamics, pendulum models, and angular momentum in feedback control of bipedal locomotion. arXiv preprint arXi::2105.08/70 2021.
[32] Y. Gong and J. Grizzle. One-step ahead prediction of angular momentum about the contact point for con- trol of bipedal locomotion: Validation in lip-inspired controller. In 2021 IEEE International Conference on Robotics and Automation (ICRA), pages 2832-2838. IEEE, 2021.
[33] Y. Zhang and Q Yang. A survey multi-task leamning IEEE Transactions Knowledge and Data Engineering, pages 1 1-1, 2021.
[34] T. Evgeniou and M. Pontil. Regularized multi-task learning. In Proceedings the tenth ACM SIGKDD international conference Knowledge discovery and data mining, pages 109-117, 2004.
10


Reviews:
[{"review_id": "gu7dQFHILn4", "reviewer": "Reviewer_RPT4", "summary": "This paper proposes a supervised deep learning method for contact detection for quadrupedal robots, a critical subroutine for many state estimation and control methods for legged robots. The authors integrate their learned detector in one such state estimator, which is shown to perform nearly as well as ground-truth contact state.", "questions": "", "limitations": "", "rating": 2, "confidence": null, "soundness": null, "presentation": null, "contribution": null, "strengths": "", "weaknesses": "", "quality": null, "clarity": null, "significance": null, "originality": null, "strengths_and_weaknesses": "Strengths:\n1) The performance of the method is particularly impressive given the limited sensing modalities (no contact sensors or parallel/series spring deflections) that it leverages.\n2) Not only was the detection approach clearly explained, but also the authors provided a great high-level summary of the invariant EKF used in the paper.\n\nResolved Weaknesses:\n1) The authors do not provide a performance comparison to any of the other cited contact detection methods.\n\nWeaknesses:\n1) A critically important characteristic of any state estimator is that it does not excite instability when used in real-time as the input to a controller. This may be of particular issue in this approach if the associated controller requires the contact state. However, the authors only use the method to reconstruct trajectories offline, which does not provide insight into in-the-loop performance.\n\n", "was_revised": false, "final_justification": "", "rebuttal": "", "claims_and_evidence": "", "methods_and_evaluation_criteria": "", "theoretical_claims": "", "experimental_designs_or_analyses": "", "relation_to_broader_scientific_literature": "", "essential_references_not_discussed": "", "other_strengths_and_weaknesses": "", "other_comments_or_suggestions": "", "questions_for_authors": "", "summary_of_paper": "", "summary_of_recommendation": "The authors propose a great concept for learned contact estimation in the absence of contact sensing. However, without in-the-loop experiments or a comparative study, it is difficult to assess the suitability or performance of the method for state estimation. Furthermore, the reason for needing the learned module for localization and mapping tasks is not sufficiently motivated in the text. Thus the paper does not seem ready for publication.\n", "technical_quality": "Good: Generally convincing, but some additional experiments or analyses needed.", "clarity_of_presentation": "Very Good:  Well organized and clear.", "potential_impact": "", "robotics_focus": "", "quality_of_limitations": "", "questions_for_rebuttal": "", "reasons_to_accept": "", "reasons_to_reject": "", "questions_to_authors": "", "main_review": "", "summary_of_the_paper": "", "summary_of_the_review": "", "strength_and_weaknesses": "", "limitations_and_societal_impact": "", "review_text": "", "extra_scores": {"impact": "2: Unsure, difficult to assess.", "reviewer_expertise": "Good: General knowledge of the area"}, "extra_text": {"issues": "Resolved Major Issues:\n1) Authors should either conduct a comparative study with other contact detection methods, or convincingly argue why the ones discussed in the paper are not suitable for comparison.\n\nRemaining Major Issues:\n2) Authors should conduct a control experiment with the contact detector and state estimator in the control loop.\n\n\nNitpick:\n\nThere appears to be some issue in the calculation of RMSE of the relative pose error. In the Appendix, the “Sidewalk+Asphalt Road” example is claimed to only have 3 [cm] of error per frame, yet the provided figure (Fig. 4) seems to imply that the estimation is off by nearly 20 [m] by the end of the trajectory.\n"}}, {"review_id": "_m7--lcggSu", "reviewer": "Reviewer_aydR", "summary": "The paper presents a deep learning based approach for estimating contact information from proprioceptive sensory data. First, the authors collected the training data by deploying locomotion controllers on various terrains. The ground-truth data is estimated with the normal component of foot positions in the body frame (line 206-207) or captured with a motion capture system (line 207-208). Then the paper learns neural networks that consist of several convolutional and fully connected layers. Once the contact states are estimated, it can be fed into Contact-Aided Invariant Extended Kalman Filtering to estimate the global location. The authors have demonstrated that the proposed method can estimate the contact status at the accuracy of 80%~95%. And they also have demonstrated that the estimated contacts are helpful for localization.", "questions": "", "limitations": "", "rating": 2, "confidence": null, "soundness": null, "presentation": null, "contribution": null, "strengths": "", "weaknesses": "", "quality": null, "clarity": null, "significance": null, "originality": null, "strengths_and_weaknesses": "+ The paper applies a machine learning technique for state estimation.\n+ The proposed method is validated in two folds: local level (contact state estimation) and global level (path reconstruction).\n- The ground-truth data needs some clarification\n- The learned model may be overfitted to the robot and controller.\n", "was_revised": false, "final_justification": "", "rebuttal": "", "claims_and_evidence": "", "methods_and_evaluation_criteria": "", "theoretical_claims": "", "experimental_designs_or_analyses": "", "relation_to_broader_scientific_literature": "", "essential_references_not_discussed": "", "other_strengths_and_weaknesses": "", "other_comments_or_suggestions": "", "questions_for_authors": "", "summary_of_paper": "", "summary_of_recommendation": "I am positive about this paper, but I would save my full support because of some drawbacks. I would like to see the authors’ responses before making the final decision. Until then, my support is lukewarm.\n\nThe first confusion is about the ground-truth contact information. The paper seems to say that they are *estimated* from the foot height in the body frame (except for the grass scenario). Then why do we need to estimate it using machine learning? We can simply apply the same procedure to estimate the ground-truth contact information from the foot height. This issue is particularly odd because this can nullify all the motivation of the paper. And this is also connected to the evaluation. The results presented in Table 3 are also compared against the *estimated* ground-truth? If yes, I don’t think it is a fair comparison.\n\nMy other concern is about overfitting to the motion. The given dataset seems to be generated with a fixed controller (model-based controller? deep RL controller? maybe better to describe more details). However, we are not sure whether the proposed method can be generalized to different motions or gaits . For instance, can we use the same model for bounding gaits, or manually created jumping motions? I would suggest the authors discuss this generalization issue in the text.\n\nAs stated in the paper, I am not sure we can easily assume perfect contacts without foot slips. I guess it happens quite often during data collection, particularly on certain terrains such as pebbles or grass. This would limit the impact of the proposed work. But it seems not clear what the authors can do further on top of the current discussion in Section 6.\n\nI am not too familiar with the Contact-Aided Invariant Extended Kalman Filter technique, but the validation with this seems reasonable. It will be better if Figure 4 illustrates the locations where the model fails to predict. \n", "technical_quality": "Very Good:  Convincing.", "clarity_of_presentation": "Fair: Major revision needed to improve organization or clarity.", "potential_impact": "", "robotics_focus": "", "quality_of_limitations": "", "questions_for_rebuttal": "", "reasons_to_accept": "", "reasons_to_reject": "", "questions_to_authors": "", "main_review": "", "summary_of_the_paper": "", "summary_of_the_review": "", "strength_and_weaknesses": "", "limitations_and_societal_impact": "", "review_text": "", "extra_scores": {"impact": "3: The work is incremental and unlikely to have much impact, even though it may be technically correct and well executed.", "reviewer_expertise": "Very good: Comprehensive knowledge of the area"}, "extra_text": {"issues": "My major concerns are 1) data collection and 2) overfitting. Particularly, the data collection issue can make the entire work significantly less impactful. Hope to get some clarification during the rebuttal phase."}}, {"review_id": "Wr2mLLrp4of", "reviewer": "Reviewer_Ax1o", "summary": "The paper addresses contact estimation of a quadruped robot that is not equipped with force/torque sensors on its feet. It fuses the inertial and kinematic motion data of the robot over a time window by a deep convolutional neural network, which outputs a set of binary values (contact/non-contact) with respect to each foot. The training data was collected in several outdoor environments with a help of a motion capture system, and is provided as Open-source quadruped contact data sets recorded using an MIT Mini Cheetah. Using the proposed method, the invariant extended Kalman filter for localization was built and evaluated. It showed a competitive performance with ORB SLAM2.\n", "questions": "", "limitations": "", "rating": 3, "confidence": null, "soundness": null, "presentation": null, "contribution": null, "strengths": "", "weaknesses": "", "quality": null, "clarity": null, "significance": null, "originality": null, "strengths_and_weaknesses": "It is remarkable that the same-level accuracy with the state-of-the-art SLAM technique was achieved only with proprioceptive information even in challenging environments. It certainly shows the efficacy of the proposed method.\nOn the other hand, it seems to be arguable that the method requires huge amount of data recorded over many frames only for detecting if feet are in contact or not. Since the computation resource that a robot can carry is still limited, the availability of the method is a bit questionable for the reviewer. A question which naturally arises in him/her is if it is possible to estimate the position and orientation of the robot without explicitly estimating the contact state. This idea seems preferable as it exploits the computation resource more than the contact detection and might be a shortcut for the purpose. It is probably related with the \"quality\" of contacts as the authors note.\n\nThe reviewer's bigger question is about the generality of the detector, namely, whether the trained detector works for robots other than the MIT Cheetah. Although he/she guesses it does to some extent at least for quadruped robots, he/she wants to know if it is invariant with respect to size, weights and body proportions.\n", "was_revised": false, "final_justification": "", "rebuttal": "", "claims_and_evidence": "", "methods_and_evaluation_criteria": "", "theoretical_claims": "", "experimental_designs_or_analyses": "", "relation_to_broader_scientific_literature": "", "essential_references_not_discussed": "", "other_strengths_and_weaknesses": "", "other_comments_or_suggestions": "", "questions_for_authors": "", "summary_of_paper": "", "summary_of_recommendation": "I recommend accepting the paper, but will not argue for my recommendation if the majority of other reviewers have a different opinion.", "technical_quality": "Good: Generally convincing, but some additional experiments or analyses needed.", "clarity_of_presentation": "Good: Minor revision needed to improve organization or clarity.", "potential_impact": "", "robotics_focus": "", "quality_of_limitations": "", "questions_for_rebuttal": "", "reasons_to_accept": "", "reasons_to_reject": "", "questions_to_authors": "", "main_review": "", "summary_of_the_paper": "", "summary_of_the_review": "", "strength_and_weaknesses": "", "limitations_and_societal_impact": "", "review_text": "", "extra_scores": {"impact": "3: The work is incremental and unlikely to have much impact, even though it may be technically correct and well executed.", "issues": "To investigate if the trained contact detector works for robots other than the MIT Cheetah by using, for example, a physics simulator, if possible.\n", "reviewer_expertise": "Very good: Comprehensive knowledge of the area"}, "extra_text": {}}, {"review_id": "DaOOGSB7i52", "reviewer": "Reviewer_TWUQ", "summary": "The paper addresses the problem of legged robot state estimation. Since joint angles can be directly measured using encoders, the central challenge of this problem has been the *global* pose and velocity of the robot (root). Previous work “InEKF” [5] built an extended Kalman Filter incorporating IMU and binary contact sensor measurements to address this problem, utilizing insights such as stance leg being static during contact. And this paper adopts the same method.\n\nThe contribution of this paper, is that, since some robots do not have binary contact sensors as the Cassie robot in [5], a neural-network contact classifier is therefore built to predict this info. As standard network architecture and training procedure seem to be good enough for this purpose, the key challenge here is thus how to obtain ground truth contact label in the training data.\n\nFor contact labeling, the paper mostly identify contact points by calculating minima height values of feet from motion cycles kinematics. In addition, a bit of manual data cleaning is also needed. (L208)", "questions": "", "limitations": "", "rating": 2, "confidence": null, "soundness": null, "presentation": null, "contribution": null, "strengths": "", "weaknesses": "", "quality": null, "clarity": null, "significance": null, "originality": null, "strengths_and_weaknesses": "Strength:\nThe idea of generating contact labels offline when we have future info of the trajectory and use them to train an online network for contact prediction is interesting.\n\nWeakness:\nThe main weakness, in my opinion, is also about the contact prediction network and whether we really need that. Since the Ground Truth contact labels are basically generated by calculating the lowest point of each gait cycle from joint kinematics (L208-209), what the network essentially does is to memorize the kinematics of its own gait.\n\nThis raises the immediate question of can we use some simple heuristic rule to replace the network? After all the network will not work when the gait pattern changes, unless we collect new data using the new controller (which seems not easy). But since that would imply we roughly already know the gait pattern beforehand, in my mind heuristic rules would be very easy to implement. \n\nMinor points:\nThe introduction can be improved by emphasizing what is hard about state estimation in the beginning. I only realized the key is root trajectory estimation (not estimating all joint q’s, they are given) when I skimmed the paper and saw figure 4. Previous work [5] did a better job in clearing that out at first.\n\nThe whole section 3 seems to come from [5] — the only change seems to be different robot morphology. It can be made more concise as well.", "was_revised": false, "final_justification": "", "rebuttal": "", "claims_and_evidence": "", "methods_and_evaluation_criteria": "", "theoretical_claims": "", "experimental_designs_or_analyses": "", "relation_to_broader_scientific_literature": "", "essential_references_not_discussed": "", "other_strengths_and_weaknesses": "", "other_comments_or_suggestions": "", "questions_for_authors": "", "summary_of_paper": "", "summary_of_recommendation": "Building such a contact prediction network does not seem difficult if we went thought the data collection. But, as discussed before, I am not sure if machine learning is justified here if we already have the controller ready, and I would love the authors to take some serious re-thinking or let me know what I am missing fundamentally. Again, we should keep in mind that training such a network requires us to already have a working controller, and neural networks in general would not \"extrapolate\" to other motions/controllers without special treatment.", "technical_quality": "Fair: Significant additional evidence required to support the claims.", "clarity_of_presentation": "Fair: Major revision needed to improve organization or clarity.", "potential_impact": "", "robotics_focus": "", "quality_of_limitations": "", "questions_for_rebuttal": "", "reasons_to_accept": "", "reasons_to_reject": "", "questions_to_authors": "", "main_review": "", "summary_of_the_paper": "", "summary_of_the_review": "", "strength_and_weaknesses": "", "limitations_and_societal_impact": "", "review_text": "", "extra_scores": {"impact": "2: Unsure, difficult to assess.", "issues": "Discussed above -- why learning, as well as using gait kinematics to generate ground-truth labels, is justified when we already know the gait pattern.", "reviewer_expertise": "Good: General knowledge of the area"}, "extra_text": {}}]

Author rebuttal:

Meta-review: The authors consider a deep-learning based approach to estimate contacts for legged robots.  Physical contact sensors on legged robots typically fail due to repeated impacts and the proposed contact estimator using multi-modal proprioceptive sensory data is important and critically needed.  The authors should clarify how the ground-truth contact information is obtained - if no additional sensors were used, then why use this learning-based approach?  The authors should also discuss what fraction of their data has feet slipping.  Please provide more information on the computation time / induced delays in using this estimator.  This will be important in using the estimator stably in a feedback loop.  Finally, any thoughts on what part of the data is robot specific? Can the collected data be used to estimate contact on other legged robots?

I have taken the author responses and discussion with the reviewers into consideration. I commend the authors on making a sincere attempt to address all the reviewer comments and feedback.  I think accurate contact detection is a critical component of legged robot research.  The authors provide information in Table in Sec. IV showing the improved performance using their method.  I am recommending an acceptance with poster.

It will be interesting to find out ratio of false positives vs false negatives - I presume one of this is more important for control.
Decision: Accept (Poster)