Search within Lanny's blog:


Leave me comments so I know people are actually reading my blogs! Thanks!

Monday, April 13, 2009

Seven Weapons - Longevity Sword: Chapter 1 (4)

This one is a bit short. It's Gu Long's fault, not mine. :)

FOUR

The stone cell was ghastly and chilly, but Gongsun Jing started to sweat. Drops of soybean-sized cold sweats streamed down his pale face one after another.
Young Master Zhu looked at him, his gaze as tender as when he looked at his own hands.
“You must know it!” he said in a gentle voice.
“Know…know what?”
“Know who is thanking you.”
Clenching his fists, Gongsun Jing suddenly turned around and dashed out.
“Well, he really is a nice guy. What a pity that nice guys are always said to not live very long…,” Young Master Zhu murmured with another sigh.
“Suppose it is true that there are only seven people who are capable of getting through these thirteen traps. Who would they be?”
“One is for sure. No matter how you count them, he’d count as one of the seven.”
“Who is he then?”
“Bai Yujing[1]!”

[1] “Bai Yujing” means palace of white jade, the same words used in the first line of the poem at the beginning of the chapter.
Now support the translator Lanny by following my blog and leaving comments! :)


Video of the Day:

Disclaimer: I do not mean any disrespect to the Indian people. But this video is just hilarious!! So be aware, never get Buffalaxed!

Sunday, April 12, 2009

The challenges of evaluating the search efficiency of a UAV's coverage path (1)

Imagine that you have won a shopping spree sweepstake at the local Walmart. Assuming that you know the layout of the store pretty well and have common sense on how much general merchandises are worth. Now for the next 2 minutes anything you grab are yours to keep for free, what would you do? Would you just start grabbing everything that are close to you such as orange juice, eggs, sausages, and breakfast cereals, or would you dash straight to that 60-inch LCD TV (or that 5 Carat diamond ring if you are a woman) at the furthest corner of the store? What is the best path you should take to maximize the total monetary value of the shopping spree?

Now just to make it a little bit more complicated, what if you only have 1 minute to grab things? Maybe you are asked to start from the cashier's lane and must return to the cashier's lane before your time runs out? What if your shopping cart was tinkered with and it doesn't roll backward? What if getting that 5 Carat diamond ring required a Walmart employee to unlock three things before you can get to it? What if you forgot to bring your glasses and everything looked totally blurry in front of your eyes? Looks like the wonderful dream of winning the sweepstake has just turned into a nightmare! "Why are you making it so hard for me?" you moan. And I shrug and tell you that those are all the challenges I face when I plan a coverage path for a UAV in support of Wilderness Search and Rescue operations.

The benefit of adding a UAV to the Wilderness Search and Rescue team is that now you have an eye in the sky and you can cover large areas quickly and also reach areas that are difficult for human on foot to reach sooner. When planning a coverage path for the UAV with a gimbaled camera, what we really care about is the path of the camera footprint. In our path-planning approach, we use a 4-connect grid to represent the probability distribution of where it is likely to find the missing person. Even though a fix-wing UAV might need to roll and follow a curvy path when it turns, the gimbaled camera can automatically adjust itself to always point straight down and the path of the camera footprint can include sharp 90 degrees turns. As the camera footprint covers an area, it "vacuums up" the probability within that area, and obviously the more probability we can "vacuums up" along the path, the more likely the UAV can spot the missing person.

When we evaluate how good a UAV path is, we focus on two factors: flight time and the amount of probability accumulated along the path. If a desired flight time is set (maybe due to the fact that the battery on the UAV only lasts for one hour), then the more probability we can accumulate, the better the path. If a desired amount of probability is expected (e.g., 80% probability of spotting the person from the UAV), then the sooner we can reach that goal, the better the path. My research focuses on the first type of case only where we plan a path for a given flight duration.

So how good or efficient is the path generated by our algorithm? A natural way to evaluate this is to compare the amount of probability the UAV accumulates along our path against what the UAV can accumulate along the best possible path and compute a percentage. A path with 50% efficiency means the path is half as good as the best we can do. The irony here is that we don't know what the best possible (optimal) path is, and searching for this optimal path might take a long time (years) especially when the probability distribution is complex (like how it is in real search and rescue scenarios), and it defeats the purpose of finding the missing person quickly. Many factors can also affect how the optimal path might turn out and change the total amount of probability accumulated if the UAV follows that path. Here I'll list the ones we must deal with.

1. Desired flight time

If the search region is very small, the UAV has 100% probability of detection (say we are searching in the Bonneville Salt Flats), and you have plenty of UAV flight time to completely comb the area many times, then life gets easier and you can be pretty sure that you will spot the missing person if the UAV follows a lawnmower or Zamboni flight pattern (assuming the missing person stays in a fixed location). If the search region is very large and you have a very short UAV flight time, then maybe there are areas you simple can never reach given the short flight duration. Remember the 2-minute shopping spree vs. a 1-minute one?

2. Starting position and possibly the ending position

If the UAV starts from the middle of the search region, the optimal path will most definitely not be the same as the one when the UAV starts from the edge of the search region. And if the UAV must return to a desired ending position (maybe for easy retrieval or returning to command base), time must be allocated for the UAV for the return flight. Ideally, while flying back, the UAV should still try to cover areas with high probabilities. In the example of the shopping spree case, if you are required to start from the cashier's lane and also return there before time runs out, you probably still want to grab things on your way back, maybe choosing a different route back.

3. Type of UAV (fix-wing vs. copter)

A fix-wing UAV must keep moving in the air in order to get enough lift to maintain airborne. It also cannot fly backward. But a copter type UAV doesn't have these restrictions. It can hover over a spot or fly backward anytime it wants. Therefore, the type of UAV we use can really change how the optimal path looks like. Remember the shopping cart that was tinkered with in your shopping experience?


4. Task difficulty (probability of detection)

Although the UAV provides the bird's eye view of the search area, some times we look but we don't see. Maybe because the dense vegetation makes spotting the missing person a very difficult task; maybe the weather is really bad with lowers the visibility; maybe the missing person is wearing a green jacket that blends in with the surroundings. This means the probability of detection might vary from case to case and search area to search area. When the probability of detection is low, maybe we should send the UAV to cover the area multiple times so we can search better. This factor really adds complexity to the evaluation of a UAV's path's efficiency. When it takes 30 seconds for the Walmart employee to unlock everything and get that 5 Carat diamond ring for you, is it worth the wait? Or maybe grabbing all those unlocked watches at $50 a piece in the neighboring section sounds like a better idea now?

Given all these complicated factors, I still need to find out how well my path-planning algorithm is performing in different search scenarios. In the following blog posts in this series, I'll go through each factor and discuss how we can reasonably evaluate the efficiency of a search path without knowing the optimal solution.


Video of the Day:

A video my friend Bev made when I showed her around the BYU campus!

Saturday, April 11, 2009

AI Robot Related Conferences and Journals For My Research (Part 4)

AI Robot Related Conferences and Journals For My Research Part 3

Top Conferences
==================================================================

RSS -- Robotics: Science and Systems Conference

RSS is a single-track conference held annually that brings together researchers working on algorithmic or mathematical foundations of robotics, robotics applications, and analysis of robotics systems. The very low average acceptance rate of 25% makes the conference a very selective one. Accepted papers cover a wide range of topics such as kinematics/dynamic control, planning/algorithms, manipulation, human-robot interaction, robot perception, estimation and learning for robotic systems, and etc. One thing great about this conference is that all proceedings are available online for free

RSS is also a relatively new conference. The first ever RSS was held in 2005. However, the conference is growing quickly, attracting lead researchers in the robotics community with an expected attendance of over 400 for the next RSS conference. The conference also includes several workshops and tutorials. I have not submitted anything to the RSS conference in the past. It would be really nice if I could get a paper published here.

The next RSS conference RSS 2012 will be held at Sydney, Australia.
Conference Dates: June 27-July 1, 2012 (Roughly)
Submission Deadline: January 17, 2012 (Roughly)



SMC -- IEEE International Conference on Systems, Man, and Cybernetics

The SMC conference is a multi-track conference held annually. It provides an international forum for researchers and practitioners to report the latest innovations,
summarize the state-of-the-art, and exchange ideas and advances in all aspects of systems engineering, human-machine systems, and emerging cybernetics. Wikipedia defines the word Cybernetics as "the interdisciplinary study of the structure of regulatory systems." Cybernetics is closely related to information theory, control theory and systems theory.


The SMC conference is sponsored by the Systems, Man, and Cybernetics Society, whose mission is: "... to serve the interests of its members and the community at large by promoting the theory, practice, and interdisciplinary aspects of systems science and engineering, human-machine systems, and cybernetics. It is accomplished through conferences, publications, and other activities that contribute to the professional needs of its members."

My interest in the conference lies in the human-machine systems track, especially under the topics of adjustable autonomy, human centered design, and human-robot interaction. This would be a good place to publish research related to UAV (Unmanned Aerial Vehicle) and search and rescue robotics.

I have never submitted anything to this conference before and I can't find any information on the acceptance rate for the conference. But one thing for sure, this is not one of those "come and greet" conferences and all papers submitted go through a serious peer-review process.

The next SMC conference SMC 2011 will be held at Anchorage, Alaska, USA.
Conference Dates: October 9-12, 2011
Submission Deadline: April 1, 2011

The next SMC conference you can submit paper to is SMC 2012, which will be held in Seoul, Korea.
Conference Dates: October 7-10, 2012
Submission Deadline: April 1, 2012 (Roughly)

AI Robot Related Conferences and Journals For My Research Part 5






Why is every day so short? Wouldn't it be nice if we don't have to sleep?



Friday, April 10, 2009

How to find all the modes of a 3D probability distribution surface

A 3D probability distribution surface can represent the likelihood of certain events in a specific region where a higher point on the surface could mean it is more likely for the event to happen. For example, a 3D probability distribution surface created for a Wilderness Search and Rescue (WiSAR) operation, whether systematically or manually or with a hybrid, can show the searchers areas where it is more likely to find the missing person. The distribution map can be used to better allocate search resources and to generate flight paths for an Unmanned Aerial Vehicle (UAV).
An example 3D probability distribution surface
Because different path-planning algorithms may be better suited for different probability distributions (I appeal to the No-Free-Lunch theorem), identifying the type of distribution beforehand can help us decide what algorithm to use for the path-planning task. In our decision process, we particularly care about how many modes the probability distribution has. So how can we automatically identify all the modes in a 3D probability distribution surface? Here I'll describe the algorithm we used.

In our case, the 3D probability distribution surface is represented by a matrix/table where each value represents the height of the point. You can think of this distribution as a gray-scale image where the gray value of each pixel represent the height of the point. And we use a Local Hill Climbing type algorithm with 8-connected neighbors.

1. Down sample the distribution
If the distribution map is very large, it might be a good idea to down sample the distribution to improve algorithm speed. We assume the surface is noise-free. If the surface is noisy, we can also smooth it with a Gaussian filter (think image processing).

2. Check for a uniform distribution (a flat surface)
It is a good idea to check if the probability distribution is a uniform distribution. Just check to see if all values in the matrix are identical. If a uniform distribution is identified, we know the distribution has 0 mode and we are done.

3. Local Hill Climbing with Memory
Start from the a point of the surface and then check its neighbors (8-connected). As soon as a neighbor with the same or better value is found, we "climb" to that point. The process is repeated until we reach a point (hilltop) where all neighbors have smaller values. As we "climb" and check neighbors, we mark all the points we visited along the way. And when we check neighbors, we only check points we have not visited before. This way we avoid finding a mode we had found before. Once we find a "mode", we can start from another unvisited point on the surface and do another Local Hill Climbing. Here I use quotes around the word mode because we are not sure if the "mode" we found is a real mode.

4. Make sure the "mode" we found is a real mode
An Even-Height Great Wall
The "mode" we found using Local Hill Climbing might not actually be a real mode. It might be right next to a mode previously found and have a lower value (because we only checked unvisited neighbors in the previous step). It might also be part of another flat-surface mode where the mode consists of multiple points with identical values (think of a hilltop that looks like a plateau or think of a ridge). Things get even more complicated with special distributions such as this one on the right. And the "mode" point we found might be connected to a previously found mode through other points with the same value (e.g, the "mode" point is the end point of the short branch in the middle of the image.

Therefore, we need to keep track of all points leading to the final "mode" point that have identical values and check all the visited neighbors of these points, making sure this flat surface is not part of a previously found mode. If these points make up a real new mode, we mark these points with a unique mode count id (e.g, mode 3). If they are only part of a previous found mode, we mark these points so (e.g., mode 2). If one of them is right next to a previously found mode but have lower value, we mark these points as non-mode points. This step is almost like performing a Connected-Component Labeling operation in Computer Vision.

At the end of the algorithm run, we will have a count of how many modes the probability distribution has and also a map with all the mode points marked. With the Even-Height Great Wall distribution, the map would look just like the image (white pixels marking mode points) with 1 mode. And within Milli-seconds, the algorithm can identify the 4 modes in the example 3D surface above.

That's it! If you ever need to do this for your projects, you now know how!








Recursive functions work great for local hill climbing until you get a stack overflow.

Thursday, April 09, 2009

AI Robot Related Conferences and Journals For My Research (Part 3)

AI Robot Related Conferences and Journals For My Research Part 2

Top Conferences
==================================================================

IROS -- IEEE/RSJ International Conference on Intelligent Robots and Systems

IROS is a multi-track conference held annually. It is a premiere international conference in robotics and intelligent systems, bringing together an international community of researchers, educators and practitioners in the field to discuss the latest advancements in robotics and intelligent systems.

Every year, thousands of people all over the world attend the IROS conference and a large number of papers get published in the conference. For example, the IROS 2011 conference received 2541 papers and proposals and accepted 790 papers, with a 32% acceptance rate. However, the acceptance rate for IROS is normally much higher at around 55%. Every year the IROS has a different theme. The theme for IROS 2011 is Human-Centered Robotics, and the theme for IROS 2012 is Robotics for Quality of Life and Sustainable Development. However, people generally ignore the theme and submit whatever they have. I have been fortunate enough to attend the IROS conference in 2009 and published a paper on UAV path planning there.

The next IROS conference IROS 2011 will be held at San Francisco, California, USA.
Conference Dates: September 25-30, 2011
Submission Deadline: March 28, 2011

The next IROS conference you can submit a paper to is IROS 2012. It will be held at Vilamoura, Algarve, Portual.
Conference Dates: October 7-10, 2012
Submission Deadline: March 10, 2012



ICRA -- IEEE International Conference on Robotics and Automation

ICRA is a multi-track premiere conference in the robotics community held annually. It is in the same league with IROS and is also a major international conference with large attendance. The ICRA 2011 conference held in Shanghai, China welcomed more than 1,500 people around the world. The acceptance rate for ICRA is about 45%.

ICRA also has yearly themes. The ICRA 2011 conference's theme was "Better Robots, Better Life". The ICRA 2012 conference theme will be "Robots and Automation: Innovation for Tomorrow's Needs". Again, if you are thinking about submitting something to ICRA, don't worry about the themes. Just submit what you have on whatever topic, as long as it is related to robots or automation.

I have submitted a paper to ICRA before, but very unfortunately, the paper fell into the hands of several electrical engineer reviewers because I picked the wrong key words. They seem to hold grudges against computer science researchers. The same paper was accepted at IROS without any major revision. It is likely that I'll be submitting to ICRA again in the future, but I will be super careful about what key words to use this time!!

The next ICRA conference ICRA 2012 will be held at St. Paul, Minnesota, USA.
Conference Dates: May 14-18, 2012
Submission Deadline: September 16, 2011

AI Robot Related Conferences and Journals For My Research Part 4


Video of the Day:

This is why the back of my jersey has Messi's name on it!