Problem-Solving in Robotics?

One of the primary obstacles impeding the widespread application of robotics lies in their lack of problem-solving capabilities. Enabling robots to independently resolve unforeseen situations could facilitate the adoption of autonomous robots in a broad range of applications such as agriculture, healthcare, exploration, and environmental protection.

As robot designers or programmers, we have a tendency to break-down and solve problems for the robots from our own perspectives. When developing a robot, we often translate our understandings of a problem (e.g., through a ‘problem statement’) into a set of structured ‘decision making’ or ‘control’ algorithms, which are then programmed into the robot. As a result, the ‘autonomy’ of today’s robots is limited. The resulting robot behaviors frequently turn out to be brittle and unnatural. Therefore, a great challenge in robotics research is allowing the robots themselves to play a bigger role in solving problems. When new problems arise, these robots are better equipped to address them.

I would like to propose the following research and development areas associated with problem solving in robotics:

  • Define problem solving in the robotics context. Unlike the research on decision making, which has well-defined problems such as POMDP (Partially Observable Markov Decision Processes), problem-solving is currently not a well-recognized research topic in robotics.
  • Learning from nature. Most examples of problem solving are from nature, exhibited by people, insects, plants, even individual cells when interacting with the environments. The mechanisms that led to the problem-solving ability of these creatures are not clear.
  • Swarm robotics. Another place that we may find examples of problem solving are the collective intelligence of natural swarms (e.g., transportation, foraging, construction) and robotic swarms. The emergence of sometimes unexpected global behaviors through local interaction rules can be interpreted as solutions to environmental challenges, which no single agent in the swarm fully comprehends.
  • Case based reasoning, imitation learning, and transfer learning. How could past experiences offer guidance for solving new problems?
  • Large Language Models (LLMs). Can a pretrained LLM provide “common sense” to a robot’s problem-solving mechanisms?
  • Benchmark problem. How do we evaluate the progress made? Can we identify benchmark problems that are experimentally simple to set up yet challenging to resolve?
  • Ethical Robotics and Safety. What are the implications when robots can solve their own problems?

Depending on if the research is inspired by human-like or primitive creature-level problem solving abilities, there could be very different pathways toward problem-solving in robotics.

AI Neuroscience & AI Psychology?

When people on Earth don’t understand something, they create new disciplines. A lot of what we don’t understand comes from emergent behaviors, that is, the whole is drastically different than the building blocks. We may know the blocks reasonably well, but not the complex things built with them. For example, economics is a field to help understand the collective outcomes of a lot of interacting people. With ChatGPT and other large language models started showing abilities that we don’t quite know how to explain, other than they have emerged from the tools we (thought we) know, maybe it’s the time to have new fields? What about splitting the AI research field to “AI Neuroscience” and “AI Psychology”?

RootBots: Sprawling Robot Networks for Lunar Resource Extraction

Lunar Helium-3 (3He) mining has the potential of addressing the energy and environmental challenges on Earth. As an essential fuel of future nuclear fusion reactors, 3He is extremely rare on Earth, with currently less than 2 kg/year production in the US, but is much more abundant on the lunar surface, with an estimated reserve of over one million tons. Just 40 tons of 3He, combined with deuterium, a resource available on Earth, could meet the current annual energy need of the U.S.

Mining 3He on the Moon would be quite different than traditional mining process on Earth. Over the time, 3He, along with other volatiles, were implanted into the lunar regolith by the solar wind. This means that surface mining operations would need to cover vast areas at shallow depths. Agitation to the regolith will lead to a significant release of the volatiles, which presents both a challenge and an opportunity. Other challenges associated with large-scale space industrialization, such as the limited human presence and the high reliability/autonomy requirements, meaning radically different mining concepts need to be developed.

Inspiration: Vascular plants use roots to anchor themselves, to explore and extract resources from earth, to store nutrients, and to compete with others. The roots grow by producing new cells, which are regulated by both extrinsic and intrinsic stimuli. Sensing of extrinsic factors, such as gravity, barriers, light, air, water, and nutrients, directs roots to grow toward favorable directions. Hormones (i.e., intrinsic stimuli) such as Cytokinins and Auxin (with often opposite effects), as a part of both local and long-distance signaling, also help coordinate the root development. The plant roots are time and real-world tested designs for functionality, intelligence, and resilience.

Vision: Entering rootbots, sprawling networks of robot organisms, for performing planetary resource extraction tasks at an unprecedented scale in the second half of the 21st century. A rootbot will be made of modular and interlocking smart components called the cells. Each cell interacts with the environment and makes its own decisions, influenced by local stimuli and decisions of nearby cells. One important decision to be made is whether for a cell to stay in place or relocate. If a cell decides to move, it will wait for a mobile agent, called a transporter, to come by and pick it up. Traveling only on top of the existing “root” network of cells, the transporters carry cells and deploy them in places where they desire. With two decentralized and interacting robot swarms (i.e., the cells and the transporters), a rootbot can grow like a plant root for exploring and exploiting favorable conditions.

Ok, the discussions above were modified from an unsuccessful NASA NIAC proposal. Feedback from NASA? “Overall, while there were many interesting aspects suggested, the proposal overreached without enough justification for any one concept, especially given the scale proposed.

A Trip to Mars… Desert Research Station (MDRS)

A couple weeks ago, a team of WVU students and I traveled to Utah to compete in the University Rover Challenge (URC) for the first time. It has been 5-years since I was last at a robot competition. This time, we have a new group of passionate and talented students, which brought back a lot of memory and excitements. We ended up doing well for a first-time team, but that was not without struggles and some luck.

Going to a robot competition is to get out of ones’ normal life routine. In a short a few days, unexpected events are rapidly unfolding in front of everyone’s eyes, followed by rapid and intense problem solving by the team members. In this post, I will mention just a few of these surprises.

Imagine you are sending a rover to Mars for a science mission. Your rover needs to be in other people’s hands for transportation and payload integration. It has to survive the rocket launch, months of interplanetary travel, and the short but horrifying landing process. It may not end up in the exact location on Mars as you hoped. Once it’s there, there is only so much you can do about the rover, and things start to break as the rover moves from one place to another …

URC was a bit like that. As a good robot challenge should be, there are many elements of surprises. Some of these surprises are imposed by the physical world, like a real Mars mission, and some are exclusively for the first timers like us.

Our launch vehicle was a brown UPS truck. We packed everything in five wooden crates and a cardboard box, with almost 300kg of gear. After traveling on the Earth surface for three days the shipment arrived at Denver. A two-person team picked it up with a van and completed the remaining 7-hour journey.

Several parts broke during this trip, mostly 3D printed ones. Luckily, we brought backups. Our 3D printer also had a motor mount broken. A team member (Tyler) zip tied the motor to print a new part to fix the problem, practically creating a self-repairing 3D printer. To our surprise, all the steel bolts on the rover were heavily rusted, as if the UPS truck took a sea route.

Getting the robot ready for the first two missions (Equipment Servicing and Autonomy) on the first competition day took a long time. Some testing were pushed to after dark. At close to 11pm (1pm Easter time), things started to look really good with everything working. When powering down the system, an (unpowered) GPS cable fall into the electronics box and got close (but not quite touching) the power distribution board. After a small flash under one of the darkest night skies in the US, everything went quiet.

The night of excitement renewed after the incident and sleep was no longer important. Close inspection of the power board revealed that an inductor melted down. The inline fuse was still intact and there was no way to tell if the electronics downstream (e.g., computer) were still ok. Swapping out the power board with a backup piece took some careful deliberation and planning. Luckily everything worked and there were still over 2 hours left to sleep before we need to get on the road.

It was a small miracle that the robot worked for the Equipment Serving task without having a chance to do a full system testing after putting everything back together. We probably wouldn’t do much better than what we did without more in-depth understanding of the tasks, which could only be acquired through being there.

The Autonomy task was more … dramatic, for a lack of better word. The robot held its position (like the picture below) for almost the entire duration of the 30-minute mission. At the very last moment, it took off and reached its first waypoint. For us outside of the command station trailer, a motionless robot can trigger many emotions and speculations. For the members inside the trailer, they were in a frantic problem-solving mode. Clearly, the time went by at very different rates just a few meters apart.

What turned out to be happening was that the terrain map loaded on the rover was centered around the habitats of MDRS. For the actual URC competition, the organizers split the four different missions at three locations about 1km apart. The starting point of the autonomy mission was just outside of our prior map. Knowing it’s not on the map, the robot did not know what to do. It took the team members just a few minutes to diagnose the problem, and then many trials and errors to place a blank map in the right place so the robot can move. It worked!  I have seen many “autonomous” robots made up its mind to not go anywhere during the competitions …, this was the first time that a robot changed the mind (with some human help, of course).

With a bit more time and experience, we were better prepared for the next two missions on the following days: Science, and Extreme Retrieval and Delivery. There was no shortage of surprises and issues, but the team (and the rover) held up well.

An adventure like the URC trip teaches us the meaning of real-world engineering. To know a system works, we need to put it through the test of truly new environments and unexpected situations, out of the control of the robot designers. The thought that we shipped a rover to one of the most uninhabitable deserts in the continental US thousands of kilometers away and still managed to make it work in all four missions is quite satisfying. Many other teams, especially international ones, had to cope with even harder constraints, like designing the rover to fit in airline carry-on cases.

When a new problem arises during a competition, and it almost certainly will, the problem needs to be understood and solved quickly, either by the robot itself or by team members. Luckily, robot designers and programmers are trained problem solvers, although their performance can be further improved with more systematic approaches. For autonomous robots? problem-solving is a much harder challenge and perhaps the greatest gap in the current robotics research.

Here is a group photo of the team along with our judge (second from the left), taken in front of a MDRS habitat after the Extreme Retrieval and Delivery mission.

Building Precision Pollination Robots

We have been working on the topic of robotic precision pollination for a few years now and will continue down this path in the foreseeable future. With the word “precision”, we mean treating crops as individual plants, recognizing their individual differences and needs, like how we would interact with people. If our robots can touch and precisely maneuver small and delicate flowers, they could be used to take care of plants in many different ways.

But why does anyone want to take over bees’ pollination job with robots? No, we don’t, and I much rather seeing bees flying in and out of flowers. What we like to have is a plan-B in case there is not enough bees or other insects to support our food production. With a growing human population, the rate of bee colony loss, and the climate change, this could become a real threat. We also want to be able to pollinate flowers in places where bees either do not like or cannot survive, such as confined indoor spaces (e.g., greenhouses, growth chambers, vertical agriculture settings, on a different planet, etc.).

In our previous project, we designed BrambleBee to pollinate Bramble (i.e., blackberry and raspberry) flowers. BrambleBee looks like a jumble sized bumblebee with a big arm, but cannot fly. We did not want to mimic bee’s flying ability; instead, we learned from bee’s micro hair structures and motions (thanks to our entomology team led by Dr. Yong-Lak Park) and used a custom-designed robotic hand to brush the flowers for precision pollen transfer.

BrambleBee served as a proof of concept and it was fun to watch it work, but there are still many challenges. For example, each flower is unique and there are many complex situations for a robot pollinator to handle (e.g., tightly clustered flowers, occlusion, deformable objects, plant motion, etc.). How to covert an experimental robot system to an effective agriculture machine and be accepted by growers is another major challenge.  These are the research topics we will tackle with our next robot, StickBug.

Wait,…, I should say “robots” because StickBug is not a single robot. It would be a multi-robot system with four agents (one mobile base and three two armed robots moving on a vertical lift).

We have a talented, motivated, and diverse team that includes horticulturists (Dr. Nicole Waterland and her students), human-systems experts (Dr. Boyi Hu and his students from the University of Florida), roboticists (Dr. Jason Gross and I, along with undergraduate and graduate students from #WVURobtics). This project will be open sourced, starting with sharing our proposal. If you have any suggestions on our approach or are interested in collaborating on the project, please feel free to contact us.

Attachment: NRI 2021 StickBug Proposal

Program: 2021 National Robotics Initiative (NRI) 3.0

NSF panel recommendation: Highly Competitive

Funding Agency: USDA/NIFA

Problem Solving: Getting Stuck?

Are you currently stuck on a hard problem? I am. I’m actually stuck on several problems, which I think is a good thing. Let me explain why.

Let’s first look at the relationship between people and problems. I can think of four possibilities:

  1. One person vs. one problem. Assuming this problem is solvable but is very hard (i.e., there are only a few possible ways of solving it), what would be the chance that this one person is able to find a solution? It’s possible but would take a lot of (relevant) skill, luck, and persistence. If a person is stuck on a problem, does this mean he or she is not a good problem solver? No; maybe just not a good fit, or lucky enough, or spent enough time on it (e.g., time was consumed by self-doubting instead). Also, some problem may not be a good fit to any one person, it would take a team of diverse background to solve.
  2. Multiple people vs. one problem. Things are a bit more promising here. Maybe someone would come up with something, and another person can build on it, and so on. This is partially collective intelligence and partially just the tried-and-true brute force method of increasing the number of trials. For example, if you invite enough people to a party, someone will bring a gift you actually wanted.
  3. One person vs. multiple problems. From the perspective of increasing trails, this is similar to the one above, without having to bother other people! If you keep several problems in (the back of your) mind, and you are maybe not able to solve most of them most of the time, but you may get lucky occasionally on one of them. I often work in this mode, but I am aware of my limitations.
  4. Multiple people vs. multiple problems. I don’t fully understand this one yet, but to a limited degree this is how IRL operates.

Let’s now think about the problem of robot problem solving. Robots today are generally not good problem solvers, but we are trying to improve that.

  1. One robot vs. one problem. If the problem is what the robot programed for, it would work extremely well. Arguably this is not robot problem solving though, because the problem has already been solved. If the problem is not what the robot was prepared for, most likely it would get stuck. Yes, robots do get stuck quite often.
  2. Multiple robots vs. one problem. If each robot here makes its own decisions, this may become a robot swarm. A swarm is known to be able to solve problems not explicitly planned for, but we don’t fully understand it yet.
  3. One robot vs. multiple problems. If we stop optimizing around one particular cost/reward function, but instead celebrating every meaningful thing a robot did, we may find novel ways for a robot to solve many different problems. Those problems and solutions are mostly irrelevant, but could become useful at some point. There are much to be done to harvest these randomly gathered experiences.
  4. Multiple robots vs. multiple problems: If many robots are operating like #3 above, I really have no clue what would be the implications. It would be fun to try though.

Now back to us. You and I are particles participants in a giant Monte Carlo experiment called the human society, that’s how I see it at least. From a global perspective, it’s more important that someone solves the society’s big problems than who solves these problems. If the system is well designed (that’s a big if, and itself one of the hardest problems), creative ideas would emerge one after another. This is the hope for the multiple people vs. multiple problems argument. For us, individually, we don’t have control of when a good idea may come. But we can choose to be not totally stuck, and there may be ways to do that.

Turning Plants into Animals? Plantimals?

Do plants have feelings? Do they have desires? Do they have friends?

They probably do, but we cannot tell easily, because plants are quiet and don’t travel very often (other than through their offspring). There is little the plants can do because they are “landlocked” …

Can we free the plants? What if we give plants mobility so they can go wherever they want to, like animals?

Let’s say when a plant needs water, it goes to get water; when it needs sunlight, it moves out of the shade; when it needs pollinators, it gets close to bee hives; and when it needs friends, it goes to hang out with other plants…

It’s conceptually quite simple: first, we put motors and wheels on the plant pots; second, we plug in sensors into the plants and the soil to detect what the plants need/want; finally, we connect the collected signal to motors to control the pots. Ta da!

It’s of course not that easy, but not entirely impossible either (I actually know how to do the first and third steps above 😊). Wouldn’t it be fun to watch plants make their own decisions, learn to control themselves, compete and cooperate with each other, and have more control of their own fate? Would you like a plant more if it comes to you for treat once for a while? Would it makes your garden more beautiful by changing the layout every minute, all decided by the plants themselves?

Now, if only someone can help me to figure out what these plants want …

Getting Tossed Around on the Moon?

Well, I still haven’t gotten over the throwing and catching idea

Have you seen astronaut bunny hopping videos from the moon? The gravity seems to be a lot less there (0.166 g) so things can fly higher, with less effort. There is no air there either, so objects would fly more predictively, and easier to catch.

Let’s say if we have a network of robotic catching and tossing stations on the moon, objects will just hop up and down to get to places. By objects, I mean equipment, construction material, and astronauts.

Astronauts? yes, especially space tourists. Won’t it be fun to be throwing off a cliff, and get (gently) caught by a robot later?

A Swarm of One Robot?

Lately I’ve been looking at things a bit differently. Instead of seeing the big picture, I started to notice the trees in a forest…

Take this happy squirrel for an example, many of us see it as an autonomous, smart, and cute creature, capable of doing things we hope our robots can do. If we were to copy the design of a squirrel build a squirrel-inspired robot, we would put together a design with similar biomechanics and program it to mimic the observed squirrel behaviors. If this doesn’t work, we may blame it on not having good/similar materials or actuators, or not having good enough models of a squirrel’s body and mind.

This is a top-down way of copying nature’s designs, but we can look from the opposite direction as well.  A squirrel is made of billions of cells and the interaction of these cells shapes almost everything a squirrel does, theoretical speaking. Maybe a squirrel is not a good example here as it’s too complicated for us to understand its behaviors from a bottom-up perspective. If we look at plants instead, a quick YouTube search would lead to many cool time lapse videos of growing vines and roots and it would be hard to argue that these are not intelligent creatures making their own decisions. These high-level behaviors emerged from the local interactions of numerous cells. Trying to copy the behaviors without going through the bottom-up process (i.e., swarm #1) may not always be fruitful. I think people making animated movies understood this a long time ago. It’s like drawing clouds, snowflakes, and shadows by the hands of artists vs. using a physics engine.

Even if we don’t look at a squirrel from the cellular level, we can still see one as multiples. Have you watched the movie Groundhog Day? In the movie, every day is the same day, …, for everyone else, but not for the main character, Phil. For a squirrel, everyday is a new day, …, but more or less like the previous days. A squirrel could try different strategies each day, or copy a previous one and make adjustment based on lessons learned. In that sense, a month for a squirrel may be considered as a swarm (#2) of 30 interacting squirrels, each with a one-day experience.

Now, at a particular time, when a squirrel needs to make a particular decision (e.g., where to go for foraging?), could the decision also be made by a swarm instead of relying on a single decision-maker in the squirrel’s mind? It’s possible. There may be many rivaling thoughts (swarm #3, with some thoughts maybe coming from swarm #2) and the one that wins out at a moment would take the control of the squirrel body. At a different time, another opinion may prevail. This is like having several drivers fighting for the control of a bus, or political parties competing for influence of a country. Chaotic, maybe, but not without its merit.

So, can we make a swarm of one robot? I think so. We may actually be able to make three (or more) swarms out of one robot!

Squirrel drawing credit: Shuttlrstock.com 228696961

A Story of Unknown Unknowns

…there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns—the ones we don’t know we don’t know.” – Donald Rumsfeld.

If you work with robots, you know that there are lots of unknowns. Most roboticists, including me, make a living on solving known unknown problems. However, the robots would still get stuck from time to time. It actually doesn’t take much to surprise a robot. The trouble is, it’s hard to say what are the unknown unknowns, and it’s even hard to give examples. By definition, if we can describe it, it’s not an unknown unknown… Helping robots to deal with surprises is what I like/want/hope to do (can’t depend on it for funding though).  I need to find examples to tell people what I am working on…

Here is a personal travel story from over a year ago. My wife and I were taking the kids to China to see grandparents. There were many unexpected things happened along the way. I will let you be the judge on what were the known unknowns and what were the unknown unknowns.

Day One, Dec 24, 2019, Christmas Eve, Morgantown, Pittsburgh, Houston

This was the day to fly to China. The flight was scheduled to leave at 4:24pm. We left home at 12:59 and the weather was perfect; sunny, 50 plus degrees, with very little wind. As we drove past Washington PA, the air became foggy. It was almost like a dust storm coming at us; but it was fog. An alert appeared on the phone, said our flight to Houston (connecting to Beijing) was canceled. We called United Airlines (famous for dragging an old man off plane) while still driving towards the airport. The first lady (not the First Lady) from United was not very helpful, and it was a little difficult to understand her sometimes. She said the reason for cancellation was due to “severe weather conditions”, which sounded bogus to us at the time. She was not able to find any alternative solution (e.g., all other flights were full) and offered to refund the tickets. I told her that was not an option we would consider and asked to speak to her manager. The manager lady had many more options. She offered to check other airlines for solutions and suggested we could go through other cities such as Singapore or Hong Kong. That sounded a bit more exciting. We pulled over at the airport entrance waiting on her to find something for us. Unfortunately, the phone cut off after about 35 minutes into the call and we didn’t have a way to reach the manager lady again…

We went ahead and parked at the short-term lot and went to the United counter. The screen was now showing several canceled flights, including two flights to Houston.  While waited in the long line I dialed the United number again, in hope to connect back to the manager lady. This time it was a guy, who was quite helpful. I also gave him my number just in case. He helped us to find a flight to Houston at 9pm, which would give us just about 1-hour layover time in Houston. Sounded like a feasible option, and the best chance we had; I took the suggestion. The kids and I went to move the car from short-term to extended parking. I found out for the first time that you can drive to extended from short-term without having to pay for the latter… Looks like a loophole in the system. The fog was getting denser by then and the visibility was ~ 100m. It became clear that the weather poses a risk to flights. The road ahead of us would be full of unknowns.

Passing through the airport security was uneventful. We had dinner and started to wait at the gate. Many more flights were canceled. The fog outside looked very dense. Our airplane was supposed to come from San Francisco, but it had to land in Chicago first to wait for an opportunity to come over to Pittsburgh. The plane kept getting delayed (e.g., the phone showed that it taxied for 30-40 minutes in Chicago) and the passengers waited at the gate became more and more worried. There were about 15 Chinese, hoping to get on the same Houston flight to Beijing. As the window of opportunity getting narrower, people started to discuss the distance between C11 and D12 gates in Houston, how fast can they run, who can run the fastest, would the airplane wait for so many passengers, etc. I went to talk to the lady at the counter, she searched around and offered me a Plan B: if we missed the flight in Houston, we would then be automatically put on the next flight to San Francisco, and connect there to Beijing. I never knew they could do that (i.e., a prebooked contingency plan) and happily accepted the offer. Of course, there was another flight to San Francisco from Pittsburgh at 9pm (after many hours of delay as well) that we could get on, but I wanted to try our luck in Houston first.

The plane for the San Francisco flight came from Houston (sounds confusing, right?) and it was supposed to land at 8:22, and it did. People cheered. The United staff were also happy, known that a plane could safely land in that kind of condition. I got a brief moment to chat with the Pilots for the San Francisco flight. Apparently, to fly in that kind of weather required airplanes with special equipment and training of the pilots. They had to use autopilot during landing as there was almost no visibility for the pilot to do anything meaningful. Taking off was not so much an issue.

Our plane (from Chicago) was not so lucky. It was first predicted to land at 8:23pm but kept getting delayed. Eventually it landed at 8:56 and the scheduled take off time got delayed from 9:00 to 9:46. This would leave about 19 minutes in Houston to catch the Beijing flight. The Chinese passengers got into more vivid discussions of the possible options, but there was still a slim slice of hope. A plan was formulated: everyone needed to call Air China to hold their plane on the ground a little longer, everyone needed to tell the flight attendant to let people under time pressure to exit the plane first, the first (fastest) person who gets to the gate could tell the airline to keep the door open a little longer, among others…

Boarding was relatively fast. People patiently waited for the door to close. After the lights flashed a few times, the pilot announced that there was a maintenance related issue.  A smoke alarm needed to be reset but can not be done through software. Someone had to physically get down under the plane to check it out. Some passengers started to get impatient. The procedure took 20-30 minutes, wear out the remaining hope of catching the flight in Houston. Finally, the airplane started moving, but instead of headed for the runway, it was asked to go through a de-icing procedure. That helped to seal the deal. By this time, nobody would have believed to be able to get to Houston on time. It actually felt more relaxing this way. We wouldn’t need to run, and we had a backup plan in the pocket…

It was about 12:30am when we landed in Houston. The flight to China had long gone (12:04 am). We started to line up at the counter. The lady at United was already prepared (!). She had our boarding pass to San Francisco waited for us. For the boarding pass from San Francisco to Beijing, it was a different story. She could only print one (my son, Anderson’s) and we would need to get the remaining tickets at the gate, in San Francisco.

Day Two, Dec 25, Christmas Day, Houston, San Francisco

We had about 4 hours to spend in the San Francisco airport, but the first thing we wanted to do was to get our boarding passes. First, we went to the gate where another flight to China was boarding. However, the people there told us that they worked for United and only people from Air China could help us with the tickets. With nobody from Air China we can find in the airport, I called their number. The guy on the phone was 1. not very patient, 2. claimed this must be addressed by United since they reserved the tickets; and 3. offered to refund the tickets… He also told me that our names were in the system but there was no guarantee that we would be allowed to board the plane. We had to walk to another terminal to find the United office. The lady there suggested us to exit the airport security to talk directly to Air China at ticketing to get the boarding pass (the reason been that we were required to show them the passports, and only the Air China people could issue the tickets). So, we did that. The people at the Air China were neither patient nor helpful. They told us that 1. the plane was full and there was no room for more people (in the meantime, the lady on the phone in the background just offered tickets to four “important visitors” for the same flight…); 2. the United people did not do their job right and give us the seats; and 3. it can only be addressed by United. While listening, I was planning vacation plans in San Francisco in case we could not make to China. We were suggested a “black uncle” at the United counter as someone maybe willing to help. So we were at the United line and talking to the “black uncle” a few minutes later. Without much trouble, the nice guy replaced our tickets and told us that the Air China people would be waiting for us. We had to wait in the long Air China line, again, but finally we got our boarding passes. BTW, through this process, I learned that airline tickets and boarding passes are two different things… I also asked the lady at the counter to double check our checked baggage and she confirmed. Soon, we were on a Boeing 747 to Beijing.

Day Three, Dec 26, Beijing

This was a short day with only about 15-20 hours, and most of them were in the air. We were chasing the sun the whole time. At first the sun was faster, and finally set behind the horizon. As we got closer to the North pole, the airplane was able to gain some ground.

The kids were surprised that we had to go through the Custom (they were a little tired). The line was not too long, and the process was smooth. Finding our luggage was not so easy though. There were just a few bags left and none of them was ours. Once again, we were at the customer service and they couldn’t locate the bags in the computer system. A big problem was that all our heavy winter Jackets were in the checked bags and it’s freezing outside. Another problem was that we would be heading to Baotou (a very cold city in northern China) in a day so it was not clear where should the bags be delivered. The nice lady there gave each of us a red blanket, so we wouldn’t be too cold waiting for the Taxi outside. That made the four of us looked like Tibetan monks in the Beijing Streets.

Day Four-Seventeen, Dec 27-Jan 09, 2020, Beijing, Baotou

Many interesting things happened but I am going to skip this part.

About the bags, they were able to find them in Houston and delivered them to Baotou directly. Before that, we borrowed clothes from relatives. We then had to drag four large bags back from Baotou to Beijing on the train.

On Jan 7, there were a few seconds on the TV news about a new virus found in Wuhan that made some people sick.

Day Eighteen, Jan 10, Beijing

It was the time to think about going home. I checked the tickets online and only Anderson’s was shown. I was not surprised. I picked up the phone to call Air China and was told to “talk to United”. Talked to the United and was assured “everything is solved, just not showing up on the website.”

Day Nineteen, Jan 11, Beijing, Washington DC, Pittsburgh, Morgantown

It was going to be a long day with over 30 hours. We arrived at the Beijing airport in the morning. Still no tickets can be found in the system… Expected to pick a fight, I walked to the Air China custom service. A nice lady there was happy to help. She even walked out her station to help us to get the bags checked…

We got to DC no trouble, then we jumped on a wrong airport shuttle bus. It was until everyone else got their bags for us to find out that our bags were at a different part of the terminal… That wasted a few hours but we did barely made to the flight to Pittsburgh that night.

After Came Back Home

A day after we came back, my wife had to fly to Dallas to help her sister with the birth of twin babies (a known unknown). No one was thinking much about the coronavirus in the US for the first week. People heard about it in the news, but that seemed to be a distant thing in China. At the end of the second week, people (mostly Asians) started to be cautious. Things went progressively (exponentially) bad after that…

Some Random Thoughts

Unlike robots, we rarely get totally stuck in normal lives, probably because we have accumulated a lot of different experiences growing up. But that doesn’t mean we can’t get stuck. Sometimes it just takes a couple steps out of our normal routines to find such examples.

Some examples of us getting stuck are probably taking a math exam or trying to solve problems (e.g., when doing research). I also feel that we sometime get stuck when facing a system built on procedures (you cannot move to step B if step A was not completed).  Is this a problem of our decision-making process or how the system was designed?

Some profound events that would have a huge impact on our life are happening somewhere (far away, close to us, or in plain sight) when we are busy worrying about other things…