Stanford Seminar - The Trouble with Contact: Helping Robots Touch the World
Introduction and Challenges of Robot-World Interaction
- The main focus of the research is on getting robots to work in the real world, particularly in challenging outdoor terrain and messy human environments, with applications including planetary exploration and environmental monitoring (17s).
- One of the challenges in achieving this goal is unexpected contact with the world, as demonstrated by a video of legged robots experiencing difficulties in a park due to unexpected contact with the environment (1m8s).
- The problem of unexpected contact is not unique to robots, as humans also experience similar challenges, such as tripping on uneven stairs (1m50s).
- The challenges of contact and uncertainty are two key areas of focus, with the discontinuous nature of contact causing problems for traditional state estimation, control, and learning methods (2m45s).
- Uncertainty in the environment, such as the squishiness of a pile of leaves or the friction coefficient of a rock, makes it difficult to create a perfect model of the world (3m15s).
- Rather than trying to achieve perfect perception and modeling, the goal is to develop approaches that can handle large uncertainty and do not require a perfect model (3m40s).
- The research aims to enable robots to work effectively in the real world, despite the challenges of contact and uncertainty (23s).
Focus Areas and Current Projects
- The lab is working on projects that involve mobile robots digging and interacting with the environment, such as searching for contaminants in soil (44s).
- The challenges of contact and uncertainty are also relevant to manipulation tasks, such as picking up small objects (2m24s).
- Robotics research focuses on various areas, including controls, design, learning, and vision, with a particular emphasis on control techniques for using hybrid dynamical systems to model contacts in challenging environments (3m50s).
Hybrid Dynamical Systems and Contact Modeling
- Hybrid dynamical systems combine continuous state and discrete state, with discrete state referring to contact conditions such as touching, not touching, stick, and slip friction (4m38s).
- Hybrid models work well for robots in manipulation and locomotion tasks where contact conditions can be discretely identified, such as in videos where the robot's contact points can be clearly seen (4m57s).
- However, hybrid models may not be suitable for tasks involving continuous media, such as interacting with fabric or sand, where contact conditions are not discrete (5m25s).
State Estimation in Hybrid Systems and the Saltation Matrix
- State estimation is a crucial aspect of robotics, and common filtering is a fundamental algorithm used to estimate a robot's state in a hybrid system framework (6m9s).
- Common filtering involves propagating the state estimate forward in time using dynamics and covariance, and then updating the estimate based on sensor measurements to reduce uncertainty (6m33s).
- The algorithm combines the predicted state estimate with the sensor measurement to produce a new best estimate of the robot's state, taking into account the noise and uncertainty in the sensor (7m20s).
- State estimation in hybrid systems involves prediction and measurement steps, and when an impact occurs, such as a foot hitting the ground or a hand touching an object, the system's mean and covariance need to be updated (7m26s).
- The reset map, which models the impact, can be used to update the mean, but using the Jacobian of the reset map to update the covariance does not work (8m18s).
- A simple hybrid system example illustrates that even with no jump in the reset map, the covariance can still change, getting stretched out as the distribution of the uncertain state goes through the transition (8m50s).
- The saltation matrix is a key tool for propagating covariance through this kind of transition, mapping displacement or variance before an impact to variance afterwards (10m10s).
- The formula for the saltation matrix involves the Jacobian of the reset map, as well as other terms that account for the dynamics in the new and old modes, the boundary, and time derivatives of these things (10m26s).
- Although the equation for the saltation matrix appears complex and messy, it is necessary to account for all the terms to accurately propagate the covariance (10m50s).
- The extra terms in the saltation matrix equation account for the fact that if the system is a little bit uncertain before an impact, the uncertainty can change in complex ways after the impact (11m5s).
- The saltation Matrix is a mathematical concept that accounts for the difference in impact timing when a robot's trajectory is ahead or behind the nominal trajectory, leading to skewing in the system's behavior (11m12s).
- This concept has been known since the 1950s but is being applied in new ways in the robotics community, and a tutorial on the topic has been written to provide a gentle introduction to the subject (11m31s).
- The saltation Matrix can be used to propagate covariance in a system, allowing for the update of covariance estimates through transitions and the application of reset dynamics during impact events (12m7s).
- This approach can be used to improve state estimation in hybrid systems, such as those that involve both continuous and discrete dynamics (13m1s).
- The chees grader system, a two-phase system with a sliding middle line, is used to demonstrate the effectiveness of the saltation Matrix in state estimation, showing improved tracking and lower error compared to using the Jacobian of the reset map (13m11s).
- The saltation Matrix approach has limitations, such as being a local linear approximation, but it can still provide accurate estimates for the covariance after the transition (13m55s).
- The approach can be applied to more complicated systems, such as an asymmetric slip Hopper, a legged hopping robot with six states and nonlinear dynamics (14m21s).
- In the asymmetric slip Hopper example, the saltation Matrix approach shows similar results to using the Jacobian of the reset map in most dimensions, except for the vertical dimension (14m40s).
- State estimation has improved significantly due to the use of the saltation Matrix, which is a rank one update that corrects in the direction of the Guard, allowing for better estimation by accounting for variances in that direction (14m57s).
Control in Hybrid Systems and the Saltation Matrix
- The dual problem of state estimation is control, and the same idea can be applied to trajectory optimization or model predictive control using an IQR-based trajectory optimization (16m2s).
- In IQR, gradients and value functions need to be propagated backwards, and the saltation Matrix is used to propagate them appropriately through transitions (16m29s).
- A comparison between a standard model predictive controller and a hybrid IQR model predictive controller shows that the latter can adapt to disturbances and change contact timings and sequences to recover (16m37s).
- Experiments on an actual robot demonstrate the effectiveness of the hybrid IQR model controller in catching itself after a disturbance, whereas a standard model predictive controller fails (17m0s).
- The saltation Matrix is useful for both state estimation and control techniques, and its application will be discussed in the context of stability and analyzing behavior (17m30s).
Heuristic Controllers and Stability Analysis
- Three examples of heuristic controllers will be presented, including a paddle juggler, to demonstrate how they use the saltation Matrix to capture their behavior (18m8s).
- The paddle juggler example illustrates how the dynamics of the system depend on the velocity of the ball and the paddle at the moment of impact, and how the saltation Matrix can be used to stabilize the system (18m20s).
- To successfully juggle a ball, a robot needs to impact it with a nominal velocity but with a negative acceleration, meaning it should be decelerating as it comes up, in order to take some energy out of the ball and prevent it from going higher or impacting early (18m52s).
- The dynamics of the ball do not have an acceleration term, so the acceleration property comes from the way the robot impacts the ball (19m27s).
- An example of three paddles (red, yellow, and green) hitting a ball at the same position and velocity but with different accelerations shows that the green paddle, which is decelerating, has a stabilizing effect on the ball's trajectory (19m37s).
- The result that paddle juggling requires deceleration at impact has been known since a 1993 paper by Shaw and Ainson, which demonstrated that deceleration converges to a single trajectory even with large initial uncertainty (20m45s).
- The actual value of deceleration matters, but as long as it is negative, it will have a stabilizing property, and there is a range of values where it is equally stabilizing (21m13s).
Swing Leg Retraction and Legged Locomotion
- Another example is swing leg retraction in legged locomotion, where the optimal strategy is not to match the ground speed exactly, but to slow the foot down and then let it come back a little, which is not quite ground speed matching (21m45s).
- In human locomotion, when walking, the leg is swung forward and then slowed down to roughly the same speed as the ground to prevent scuffing the foot (21m50s).
- When humans walk, they swing their leg backwards to improve stability, and this motion can be observed in high-speed videos (22m37s).
- The number of stable points increases as the speed of leg retraction increases, resulting in more stable locomotion (22m48s).
- A simple biped robot called Mugatu was designed with one motor and two rigid bodies, and it can walk stably through careful design of passive dynamics and timing of control (23m25s).
- Mugatu has a simple design with arms bolted to the opposite leg, but it can still start, stop, turn left, and turn right (23m31s).
- A smaller version of Mugatu with a 2.5-centimeter leg length was also developed, using the same idea of one motor and two rigid bodies (24m20s).
- The concept of swing leg retraction is also applied to hopping robots, where controlling the angle of impact with the ground can control the forward speed (24m49s).
- A shallower angle of impact slows down the robot, while a steeper angle accelerates it forward, and there is a nominal angle where forward acceleration is zero (24m57s).
- Mark Rabbert discovered this concept and applied it to his hopping robots, allowing them to walk stably and control their speed using a joystick (25m29s).
- Rabbert's leg Lab at Carnegie Mellon developed early hopping robots that used leg angle control to change speed (25m44s).
Hopping Robots and Leg Angle Control
- A heuristic approach can be used to achieve stable hopping in robots, as demonstrated by a comparison between a nominal touchdown angle and a raver heuristic for forward speed and swing leg retraction, with the latter resulting in stable hopping motion (26m11s).
Saltation Matrix and Hybrid System Stability
- The saltation Matrix is a key component in describing the stability of hybrid systems, particularly those involving impacts, and is used to analyze the stability of the system by changing a single term in the Matrix (27m3s).
- The saltation Matrix is a common element in various examples, including the paddle juggler, rirt heuristic, and swing leg retraction, which all involve changing the system's behavior around the impact time to affect stability (26m53s).
- The monog Matrix is used to describe the mapping of uncertainty at the beginning of a cycle to uncertainty at the end, and is built from the saltation Matrix and a Matrix for continuous phases (27m19s).
- Hybrid event shaping can be applied to any hybrid system to improve stability by changing what happens around the time of impact, as demonstrated by a five-link biped walker example (28m5s).
- The five-link biped walker example uses no continuous time feedback, instead relying on hybrid event shaping to control the system and achieve stable walking, with the ability to generalize to arbitrary systems (28m17s).
- The use of hybrid event shaping allows for stable walking indefinitely, even with no continuous time feedback, although it is recommended to also use continuous time feedback for optimal control (29m41s).
Combined IQR Framework and Stability Analysis
- Feedback control doesn't have to do nearly as much work when using a combined IQR framework that considers both IQR to get an LQR controller and stability properties around impact and throughout the rest of the trajectory (29m53s).
- This approach can be applied to a four-legged hopping example, where regular IQR would cause the system to diverge after one hop, but the combined framework can shape the impacts and achieve stable hopping behavior (30m18s).
- The key idea is to analyze saltation matrices to look at stability properties at the moment of impact, which can be useful for tasks like walking on narrow beams (30m32s).
- When applying this stability analysis to walking on narrow beams, the gait pattern (whether walking one leg at a time or trotting two legs at a time) was not as predictive of stability as expected, and the duty factor (the percent of time each leg is on the ground) and phasing between legs were more important (31m6s).
Hybrid System Model Assumptions and Contact Scenarios
- The analysis assumes a hybrid system model of contact, which works well if the contact points can be clearly identified, but may not apply to more complex scenarios (31m39s).
- The hybrid system model makes four main assumptions: plastic impact, no adhesive forces, rigid contact, and no change in the surface being touched (32m9s).
- Plastic impact is often desirable in robotics, as it allows the robot to maintain contact with the environment, and the other assumptions can be relaxed in certain scenarios (32m16s).
- The state of the system can be described without knowing the state of the environment, as the contact is assumed to be rigid and the surface is not changing (33m9s).
- Adhesive forces can be used for robots to stick to surfaces, such as a magnetic wall climbing robot that uses a hybrid system framework with a normal force offset by the magnetic adhesion force (33m37s).
- A portable XR fluorescence sensor can be used to scan for contaminants on the surface while making transitions, such as from floor to wall or wall to ceiling (34m15s).
- Microspines, inspired by Mark Cutkosky's work, use individually compliant fingers with fish hooks to grab onto bumps on rocks, allowing robots to climb (34m30s).
- The microspine system has a different contact model, approximating allowed forces with a formula that resembles a friction cone, but still fits within the hybrid systems framework (35m13s).
- Robots with microspines can climb various types of rocks, such as cinder blocks or slag, and have been tested in different environments, including a cinder block office (35m31s).
- Slag, a byproduct of steel making, was obtained for free and used to build a wall in the lab, providing a suitable surface for climbing robots (36m2s).
Handling Uncertainty in Contact and Reactive Control
- Vegetation can break the assumptions of hybrid system models, as it is difficult to determine when and where the robot is touching vines, and modeling their stiffness and extensibility is challenging (36m30s).
- Robots have contact with the world with a large amount of uncertainty in both the model and the state, requiring a two-part approach to handle this uncertainty (37m3s).
- The first part of the approach uses a link momentum observer to detect when the robot has hit something by comparing the nominal momentum of the leg with the actual momentum (37m13s).
- If the difference in momentum is higher than a certain threshold, the robot assumes it has hit something, but it still needs to determine where and what it has hit (37m38s).
- The second part of the approach involves a reactive controller that can handle the uncertainty in the contact location and the properties of the object being touched (37m46s).
- The reactive controller can handle various types of objects, including those with low stiffness, high stiffness, and rigid objects (38m18s).
- The approach can also be applied to hybrid model scenarios, including rigid-plastic impact kind of contact (38m50s).
- In some cases, it is possible to localize the contact location on the leg, but this requires assumptions about the object being touched, such as it not moving (39m5s).
- The approach has been tested outdoors in various environments, including a patch of ivy in different seasons (39m27s).
- The quadruped control stack, including the link momentum observer and reactive controller, is available as an open-source SDK (39m40s).
- The quadruped control stack includes high-level planning, model predictive control, and low-level control, and is a standard framework for quadruped control (39m45s).
- The research focus is on improving this framework and encouraging others to download and build upon it (40m16s).
Terramechanics Modeling and Wheel Control
- The approach can be applied to scenarios where the robot is touching an object continuously over a large surface area, such as sand (40m23s).
- Researchers conducted a test on a Viper test rig to simulate a motor failure, where the motor was instructed to pretend it was broken and stuck, to determine how to continue making progress and compensate for the failure with the other wheels (40m37s).
- A terramechanics model was built to analyze stress and friction along the surface of the wheel and the side of the wheel, and experiments were conducted by running wheels through sandboxes to collect data (41m4s).
- The model was able to make predictions about wheels performing tasks that are different from standard driving, handling a wide range of angles and slip ratios, and providing good force predictions (41m31s).
- The model was used to create a mock rover with a damaged back right wheel, and a feed-forward or feedback controller was developed to keep the rover on track by changing what the other wheels were doing (42m4s).
- The model was also used to intentionally perform unusual tasks with the wheels, such as digging a trench in the sand by turning the back right wheel at an angle and spinning it faster (42m28s).
- The researchers were able to create a trench-shaped model that could predict the shape, depth, and width of the trench, as well as the pile-ups, based on the driving conditions (43m1s).
Current Research and Future Directions
- The lab's research focuses on the two key challenges of contact: the discontinuous nature of contact and uncertainty, and developing methods that can handle large uncertainty (43m18s).
- Other projects in the lab include a collaboration with a paleontologist to use robots to help answer questions about dinosaur behavior and dynamics, such as how they overcame obstacles and how the first animal to run instead of walk evolved (43m39s).
- Bioinspired robotics can benefit from paleontology, as 99% of all species are extinct, and studying these extinct species can provide valuable insights, even if they were not robust to certain events like earthquakes or asteroid impacts (44m19s).
- The convergence of design in extinct species, such as the re-evolution of features, and the first occurrence of certain traits, like the first animals to walk on land, can offer useful information for robotics (44m51s).
- The study of spines in animals, which are common in nature but rare in robots, can provide insights into robotics, as animals seem to be able to do many cool things with their spines (45m8s).
- A project is underway to learn how to drive over rough terrain using machine learning, but this is challenging due to the uncertainty of the environment and the lack of good models for the robot and the terrain (45m27s).
- To address this challenge, a method is being developed that uses a lot of simulation data that is close to, but not exactly, real-world data, and combines it with a small amount of real-world data to train a Dynamics model and a system identification Transformer (46m4s).
- This approach allows the system to learn both the space of possible Dynamics and how to figure out where in that space the particular system lies, and then use a small amount of online data to refine the model (46m36s).
Faculty Positions and Diversity in Robotics
- Faculty positions are available at Carnegie Mellon University (CMU) in the Robotics Institute and the Mechanical Engineering department, and applicants are encouraged to apply to both (46m57s).
- The Robotics Institute at CMU is a department under the School of Computer Science, and there are also robotics researchers in the Mechanical Engineering department (47m13s).
- Supporting diversity in robotics is important, and it is hoped that this is not a surprise to anyone in the field (47m47s).
- The diversity of the robotics field does not reflect the diversity of the country or the world, with concerning trend lines that are not changing quickly, and it is predicted that gender parity may not be reached until 2055 or later (47m54s).
- To support diversity in robotics, individuals, research groups, and universities can join networking or advocacy organizations, such as Black in Robotics, Women in Robotics, and Queer in Robotics (48m30s).
- Monroe Kennedy was one of the founders of Black in Robotics, and the organization maintains a reading list of diverse researchers in the field (48m42s).
- It is encouraged to read, invite, mentor, and collaborate with a diverse set of researchers, and to use resources such as the Black in Robotics reading list and the US Women in Robotics topical areas (48m50s).
- Spending time to learn more about supporting diversity in robotics is also important, and resources such as the "Supporting Black Scholars in Robotics" article and action item lists from Black in Engineering and Black in Computing are available (49m18s).
Robot Design and Stability Considerations
- When it comes to robot design, quadruped robots are generally more stable than biped robots, especially in complex environments, although they may have more legs to get caught on vegetation (50m10s).
- Biped robots can be designed to mimic quadruped legs, but they often require an ankle joint to be stable, and without one, they can be unstable and prone to falling over (51m0s).
Zeno Behaviors and Discretized Time
- Zeno behaviors, where a robot has an infinite number of transitions in finite time, can be a problem in robotics, and are often illustrated by the example of a bouncing ball that takes an infinite number of bounces to come to rest (51m41s).
- A transversality condition is necessary for the assault Matrix, where neighboring trajectories all impact the same guard, but this condition is not met when approaching zero, as some neighboring trajectories are below zero and some are above (52m0s).
- Discretized time helps in analyzing the dynamics of robots, as it is always discontinuous in some ways, with small time steps (DTs) resulting in small velocity changes until impact, and large changes in one time step (52m41s).
- The transition from one time step to another can have a significant influence on neighboring trajectories, especially if the transition happens one DT early or late (53m12s).
Materials, Sensors, and State Estimation
- Materials that can state transition very fast and in real-time are needed for controlling robots, and there are contact sensors that can operate quickly, but they may not be robust or have slow response times (53m40s).
- Accurate state estimation is crucial for predicting whether a robot is in the air or touching the ground, as these are very different dynamics, and better estimation can lead to more successful control, planning, or learning (54m33s).
Trajectory Optimization and Feedback Control
- A robot can use a trajectory optimization approach to adapt to different environments, such as traversing through sand, and can use feedback to adjust its movement in real-time (56m4s).
- A robot can use a feedforward approach to plan its movement, but may need to use feedback to adjust its movement in real-time, especially in environments with high uncertainty, such as sand (56m18s).
- A robot can use a combination of feedforward and feedback approaches to adapt to different environments and achieve its goals (56m21s).
Feedforward and Feedback Control in Robot Interaction
- Robots use a combination of feedforward and feedback control to interact with their environment, with feedforward control providing an initial estimate of the forces involved and feedback control correcting for any errors that occur over time (56m24s).
- To predict the forces involved in interacting with a substance like sand, a force model is used, which also requires a model of where the sand is flowing to determine where it is touching the robot's wheel (56m42s).
- The force model is used to perform a force balancing optimization to determine the driving angle and speeds for the robot's wheels, as well as a sensitivity analysis to determine the best correction to steer back on track if the robot deviates from its nominal trajectory (57m1s).
- Sensors can be used to monitor the robot's function and the environment, but care must be taken when placing sensors between the robot and the environment, as this can change the interaction and potentially cause problems (57m33s).
- In humans, sensors can be placed in shoes to measure pressure distribution and center of pressure, which can be used as control targets, but this approach may not be suitable for animals due to the potential disruption of their natural interaction with the environment (57m47s).
Swing Leg Retraction and Bipedal Locomotion
- The intuition behind the swing leg retraction in bipedal robots is to have the leg roughly at zero velocity at touchdown to avoid scuffing, and to adjust the angle of touchdown to control the robot's movement (58m42s).
- The swing leg retraction can be achieved through an oscillatory motion, rather than explicitly programming the retraction, and the stable gait that results has the leg coming back when it impacts the ground (59m50s).
- The phasing of the contact lines up so that the leg is coming back when it impacts, which is a result of the stable gait (1h0m10s).