20130825

Musings on Robotic Proprioception

Proprioception is the sense of the relative positions and orientations of ones own body and its composing parts. How does our nervous system calculate these estimations? We don't even know how the data is represented in the nervous system.

It seems to me that if multiple sensors of the same type are used then each of their individual estimates could be filtered together to improve the estimation. For instance, imagine measuring the resistance across a stretchable conductive fabric. The resistance in such a product increases as it's stretched allowing an estimation of its length. If several pieces are attached between two links then the combination of the values could be used to estimate the relative orientations of the links under certain conditions. Furthermore, filtering the data from multiple sensors should result in cross sensor noise cancellation. Of course a model of how the values change given any given state of the joint would be necessary. However the model need not be known a priori as a regressor could be used to learn the model.

Recently someone, I don't recall who, stated that they had read that a baby's tendency to put its appendages in its mouth was a form of calibration. (If you know of any literature on this, please let me know.) The idea at least makes intuitive sense because such actions would provide additional information about the relation of two body parts. For instance, when standing, one cannot touch their toes with their hands if they do not bend at the waist. However our finger tips can reach to just a bit above our knee which tells us that our shoulder and thigh are closer together than our shoulder and our feet. Of course we can literally see this fact too.

What might be some strategies to learning a model of ones self from nothing? In other words, what actions can be performed to gather information about ourselves and what do the actions tell us?
  1. Moving randomly would give a sense of what commands move what parts. This would be the start of a dynamic model. It would provide information about how quickly a given part can be moved. It would also give some kinematic information because the movement of one body part would be felt in neighbouring body parts. It would even give information as to the extent of influence moving one part has on another, at least in relative terms. For instance moving the shoulder quickly in a circle would induce torques on the elbow as a result of the lower arm swinging around, controlled or otherwise. It would also induce torques in the upper torso but because the mass of the upper torso is higher than that of the lower arm one would expect the lower arm to be impacted more in a sense.
  2. As previously discussed, touching two separate body parts provides additional information. Such information contributes to a kinematic model. One question that arises is, how does one know when contact is made? Is there only a temporal correlation or can two nerves, not normally connected, form some sort of temporary connection? Certainly not a chemical connection but are there nerves that sense a change in conductivy?

    Such contact may or may not be intentional. Intentionally creating a contact would in effect be a test of the hypothesis of the various parameters involved. This could be done at random or strategically in which case learning may be sped up.

    Either way, such values could only be relative values without some form of a priori knowledge. For instance, touching ones hip , and knowing approximately how the elbow is bent, only gives one a sense of how far from the shoulder their hip is located. However if two pieces of information are know, such as the distance from the shoulder to the hip and the length of one of the arm links, then the other components can be solved for in closed form. Humans don't so much have this ability because we don't know the lengths of the various components of our body.
  3. Contacting the environment can provide information in a number of ways. For instance we know that contact with a stationary object eliminates drift in our sense of balance [1] . We also know that proprioception and vision work together, we call this hand-eye coordination. Tapping on an object provides another example. Tapping results in the nerves in our ears being activated at the same time our finger contacts the environment. This goes back to Dr. V.s Ramachandran TED talk where he discusses how the mind draws correlations between sounds and visual constructs called a cross-model synesthetic abstraction.
What strategies am I overlooking? Which of them do we already have evidence for with respect to our own development? Which have been used in robotics?

[1] Blakeslee, Sandra (2007). The Body has a Mind of its Own. Random House LLC.

20130213

Strategies to picking research projects

Just the other night I submitted the final copy of Kinodynamic RRT*: Optimal Path Planning for Systems with Linear Differential Constraints to ICRA 2013. Doing so inspired several ideas for extending the work. Of course they run the gamut -- some interesting, most not. But then how do you tell what is a potential interesting research idea versus what isn't?

I spoke to my advisor about a couple of these ideas. Curiously he was more interested in the one that I thought was the least interesting of the two. This has made me really focus on the question of what makes a good research idea. I realize that he has more experience than I so it's not a surprise that we disagreed. But to become a good researcher one needs some ability to determine what makes an idea interesting, right?

I also realize that this is not an original question and I'm certain that a quick search would yield a great number of results on the topic. But I'm more interested in first hearing your thoughts on the topic. So, if you would, please tell me how you decide whether an idea is worth pursuing?

20121225

The Webb's are Okay

On December 24th at about 10PM my family and I were T-boned on our way home from my mother's but we are all okay.

I was in the front passenger seat and Darliegh was driving. We were in the lane adjacent the HOV lane. I had just finished reading, closed the book, shut off my reading light, and looked over to see a white Blazer take a hard left in the far right lane. I yelled at Darliegh to watch out but I don't think she even had time to register what I was saying before the passenger side headlight of the other vehicle met the point where our front passenger fender and front passenger door come together.

My son was asleep at the time of impact and suffice it to say the event woke him and completely freaked him out. He began yelling fairly immediately which made us worry that he was hurt. I had to force my door open and then his to get him out.

My daughter was also asleep at the time of the impact. Surprisingly it did not phase her. She did not even wake up.

Our vehicle settled in the HOV lane. After making sure that Darliegh and the kids were okay I ran across the freeway to check on the passengers of the other vehicle. When I got there I met three people. Two were witnesses that saw the accident and stopped to offer assistance. These are truly good people and I deeply appreciate their kindness.

The other person I met claimed to be the passenger of the Blazer and that the driver ran off. However there were no other foot prints in the snow leaving the vehicle and one of the witnesses believes he saw the man exit from the drivers side of the vehicle. Myself and at least one of the witnesses smelled alcohol on the man but he appeared completely sober so I don't believe this was the initial cause of the accident. It appeared to me that he hit a patch of ice and lost control. Of course it could have played a role in his ability retain or regain contorl. Assuming he was actually the driver.

It took a long time for the first sheriff to arrive. While waiting a passing EMT stopped and offered assistance. I told her I would be grateful if she would check out my children so she ran across the freeway and did so. She also checked out Darliegh and saw nothing concerning.

Also while waiting I called 911 again to ask if there was a way to get my family off the freeway while we waited. Instead of answering the question the operator decided to berate me stating "I told you and your wife to get back in your car." A suggestion I believed to be completely ill-advised and that I was not willing to do given the state of the car.

Unfortunately as the first officer arrived on the seen the unidentified man from the other car walked away. For reasons I don't understand the officer felt it was more important to chase the man down rather than help get my family off the freeway. At this point we do not know whether they found him or the supposed driver.

Awhile later a second sheriff showed up. I expressed my concern for my families' safety to her and asked what could be done to get my family off the freeway. She said she needed to go over there and then ended up sitting there in her vehicle while we awaited yet another officer.

When the third officer arrived one of the witnesses and I approached his vehicle and spoke with him. The witness pointed out that the first officer was chasing down the driver of the Blazer. I told him I was from the car still sitting in the middle of the freeway and that I had ran across the freeway. I also told him I was worried for the safety of my family. He asked the witnesses for statements and proceeded to check out the other vehicle.

A bit later a fire truck and ambulance showed up. When I saw them I realized I should fill out a statement and asked the third officer for a form to fill out in case I needed to leave in the ambulance. He responded "Oh, I thought you already filled one out. Which vehicle were you with?" I pointed to our car at which point he asked "how did you get over here?" Suffice it to say this annoyed me, but I repeated myself anyway. Instead of giving me a statement form he decided to lecture me on the dangers of running across the freeway. I found this even more frustrating since it was wasting time. At this point I noted that we were off topic and repeated my request for a form.

Fortunately the EMTs  did not feel it was necessary to go to the hospital though they did not check out Darliegh or myself, again for reasons I do not understand.

Finally after an hour the officers notified me that we should call someone to pick us up because they did not have enough space in there vehicles. A statement I found completely confusing given that they had six empty seats between there two cars. Fortunately for us our friend Alisha was willing to come pick us up at 11:30 on Christmas eve. One of the witnesses was also kind enough to offer us a ride much earlier but I told her that I thought we would be going to the hospital and thanked her for her kindness and told her that I did not want to make her wait around. She had already gone out of her way and her family was at home waiting for her.

I am thoroughly disappointed in the way this situation was handled by the emergency personnel but more importantly I am ecstatic that my family is okay.

20120530

Reflections of ICRA 2012 and ROScon 2012 -- Part II

"I don't want it. I just need it. To feel, to breathe, to know I'm alive." --Tool, Stinkfist

In this post I'm continuing to reflect on my experiences at at ICRA 2012 and ROScon 2012. Hence the name. If you have not read the previous post you may wish to do so as it will provide some context.

In the last post I mentioned my surprise by the number of ideas spawned by the numerous talks I saw and the conversations I had. While I can observe that I found the conferences very inspirational that doesn't do it justice. Truth be told I came back with a bit of research fever.

To manage my thoughts at the conferences I found it helpful, even necessary, to keep my notebook on hand. The initial intent was to keep track of questions that arose, of which there were plenty. But I ended up keep track of a number of other things.

For example I ended up making a "todo" list with many of the items being of the ilk "learn more about ..." and "what is ...?" The remaining items were related to projects I need to finish. Player/ROS drivers I have started but not submitted for example. Suffice it to say it's going to take some time to make it through this list.

I also started a list of new research ideas. This list wasn't as long as the other lists and obviously these ideas weren't all great. My thought was that in writing them down I could review them later and gauge them with a clearer head. Looking back at them most are just okay. However I like the idea of this list and plan to keep a copy readily available from now on. This blog was supposed to be in part a way for me to clarify my ideas but it doesn't make a good repository of random thoughts.

At this point I feel like I'm rambling and my mind keeps wandering back to a proof that I have been working on so I'm going to sign off for now.

20120521

Reflections of ICRA 2012 and ROScon 2012 -- Part I

"Teeter between tired and really really tired. I'm wiped and I'm wired but I guess it's just as well." --Ani DiFranco, Swan Dive

This quote describes, very well, an aspect of conferences I did not fully appreciate until spending the past week in St. Paul Minnesotta. Specifically I learned that they are as much about networking as anything else.

But let me back up. My advisor Dr. Jur van den Berg sent my colleagues and I to St. Paul Minnesota to see the state of the art in robotics and to meet others in our respective fields. Monday through Friday we attended the International Conference on Robotics and Automation (ICRA). On Saturday and Sunday we attended ROScon, a conference on Robot Operating System (ROS).

Going in it seems obvious that one would meet a lot of people as research often involves collaboration. However, and maybe I'm alone in this revelation, but I underestimated the amount of time I would spend meeting new people and learning about their work. I guess I expected to meet a few people whose interests align with mine and this occurred. I did not expect to be awake from 7:30 AM until about 2:00 AM the next morning everyday.

Even with the lack of sleep I felt quite good. A couple cups of coffee in the morning to wake up and a few beers each night to ensure I rested well and I was raring to go. I think there was an additional dimension to this though. I did not expect the sheer number of "new" ideas spawned by seeing what others were doing (I qualify because not having done a literature review one cannot be certain whether any given idea is in fact new). With this came something of a high.

I don't believe I was the only one feeling this way though. A very common question was "so, what do yo do?" Granted this is a classic small talk question, but what better way is there to seek out new ideas? Suffice it to say that by the end of the week I felt almost choreographed in my response, save for the minor variations that arose based on the specialty of the person I was speaking with at any given moment.

From all this I met a lot of great people. Several that I have idolized, some with which I hope to collaborate, and a whole lot I'm glad to call friend. Thank you for making this past week so fun.

20110925

Technology Failures

I realize I am a bit late in posting this week but my mind has been on my research which isn't sufficiently mature to discuss here. Tonight my mind is on technology failures. I seem to be plagued with them at the moment. In fact I'm currently using my wife's machine to write this because my own laptop is in the shop getting a new motherboard. Initially they told me it shouldn't take more than 3 days to fix however when I dropped it off this evening they said it will probably be ready tomorrow, so that's a good thing. In fact even though my machine has had four failures in the two and a half years since I purchased it I have been extremely pleased with it. This stems from the fact that the OS is incredibly intuitive, mostly, and Apple is extremely efficient at fixing hardware issues.

I find myself a little less thrilled about my Galaxy Tab 10.1 lately. This is mostly because the E-mail and calendar clients leave a lot to be desired. This is partly the fault of the IT staff at the U. Recently they changed their security policy so as to require a great deal of security control over my tablet. I would understand this better if they weren't targeting Android devices alone. As a result of this policy change I decided to use Gmail as my U-mail client. While this works great from the Gmail web client it doesn't work as well from the Gmail Android app. Specifically it doesn't allow me to send E-mails via my U-mail account. With a little research I found a great number of people have the same issue and the "fixes" are kludgy at best and often ineffective as in my case.

The Google calendar app on the tablet has its own unique issues. First while you can add meetings via the app they are not sent back to Google. Secondly the calendar app believes the current time is seven hours earlier than is actually the case. You're probably thinking something along the lines of "well, just adjust your timezone." I thought of that and it actually corrects the issue. However it reschedules all meetings accordingly. Worse yet those changes get sent back to Google.

Truth be told, I bought the tablet to make it easier to carry and read the myriad papers I need to get through and it has served this purpose well. I'm not even certain where the fault lies, e.g. with Google or Samsung, since these issues only started occurring after the last update from Samsung.

Unfortunately the problems aren't confined to my personal machines. We just purchased two nice machines for the Algorithmic Robotics Lab. However one of them is suffering fromperformance issues for reasons we have not yet identified.

Don't get me wrong, all these issues are relatively minor and can be worked around. However we it makes me wonder about they types of errors that will arise as a result of integrating machine learning into our lives. I won't speculate as to what could occur. The list of possibilities is extensive I'm sure. Though I will say that I'm not talking about the robot apocalypse here. If you are concerned about such an event then I suggest reading the Willow Garage blog entry entitled Averting the Robot Uprising. Actually I suggest reading it anyway as it's quite humorous.

20110911

Learning to Learn from Nature

Science has frequently taken pages from the book of Nature when trying to solve its puzzles. The ability to learn is clearly a natural phenomenon. As such it is no surprise that learning algorithms have been inspired by nature.

A well known example are neural networks. These algorithms model, though fairly simply, the operations nerves. Neural networks have been used extensively to perform character recognition, face recognition, to generate gaits, to classify data, and so much more. It has been shown that neural networks approximate the process of Fourier transformations and can approximate any function given the correct basis functions.

Genetic algorithms are another popular example. These algorithms constitute a class of algorithms that model the operations of genetic material. In short, the first generation is created by randomly generating multiple hypotheses. A function, known as the fitness function, is used to measure how accurately a hypothesis estimates the target function. Hypotheses are chosen based on their fitness to be bred. The next generation is then measured and again bred. This process repeats until some desired accuracy is achieved.

Another example, though less well known, is reinforcement learning. Reinforcement learning was inspired by the concepts of pleasure and pain. However Sutton & Barto showed that any algorithm that learns from interaction with its environment is a reinforcement learning algorithm. Reinforcement learning has also been widely employed. It is particularly good  where learning needs to be performed online.

What other learning algorithms have been inspired by nature? What are their origins? How have they grown since then?