Search within Lanny's blog:


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

Tuesday, April 14, 2009

The Twelve Stances of Yi-Jin-Jing (The Tendon-Altering Sutra) Part 1

Yi-Jin-Jing (Tendon-Altering Sutra), or 易筋经 in Chinese, is a famous Kung Fu from the Shaolin Temple School of Martial Arts. It is probably one of the most famous ancient Kung Fu manuscripts thanks to Mr. Jin Yong (Louis Cha), who used the  Kung Fu manuscript in the story plots in two of his well-received Wuxia (Martial Heroes) novels: Smiling Proud Wanderer, and Demi-Gods and Semi Devils. It is considered one of the two top Kung Fu skills of Shaolin alongside the Xi-Sui-Jing (Marrow-Cleansing Sutra).

Both the Tendon-Altering Sutra and the Marrow-Cleansing Sutra were said to be granted to the Shaolin Temple by Bodhidharma (达摩), the monk from ancient India and the founder of the Zen school of Buddhism in China. The two manuscripts supposedly contained breathing and meditation techniques that can turn a normal person into a top-notch Grandmaster of martial arts.

Of course Mr. Jin Yong had greatly exaggerated the power of the Tendon-Altering Sutra in his storytelling, but the manuscript was not a mere fabrication of the author and really existed. You can actually download the manuscript from the Internet. Following the exercises described in the manuscript can certainly improve one's well-being. The only problem is that the manuscript is in Chinese. So a fan of my SPW translation asked me if I could translate the manuscript into English. I thought it would be fun for all my readers to get a real sense of what the Tendon-Altering Sutra is all about, so here you go!

Note that there are many different variations  of the Tendon-Altering Sutra, each slightly different from one another. I just picked one of them to translate, and the videos might show slightly different movements. I picked this set of video because the guy in the video actually explains everything in English. Besides, he is just a funny guy! Enjoy!

易筋经十二式
The Twelve-Stances of Yi-Jin-Jing (aka Tendon-Altering Sutra)

预备式

预备式身体正直站立,脚尖外撇,两脚与肩同宽。 周身放松,澄心敛神。 两臂自然下垂,紧贴两大腿外侧,下颔微收,两眼半睁半闭。 做三次深呼吸。

Preparation Stance

Stand upright, slightly point toes outward, and keep feet shoulder width. Relax your entire body, clear your heart, and keep your mind focused. Let arms hang naturally and keep them close to the outside of your thighs. Tighten your chin slightly. Keep your eyes half closed half open. Take three deep breaths.
 
第一式韦驮献杵

身体正直,两脚跟靠拢,两脚尖外撇,成小八字形。 两臂向前缓缓举起,手心相对,与肩同宽。 举至肩平屈肘成90度角,立掌,同时吸气。 而后缓慢合掌于胸前,同时呼气臆想四肢之气调入胸中,定式后静停一分钟。

1st Stance: Skanda[1] Presenting the Vajra Pestle

Stand in an upright position, keep two heels close, and slightly point toes outward like the Chinese character eight. Keep arms shoulder width, slowly raise arms forward, palms facing each other. Raise arms until they are at shoulder height, fold forearms inward so each elbow is at a 90-degree angle. Bent palms backwards while breathing in. Then slowly put palms together in a prayer position in front of your chest. Breathe out at the same time and imagine that you are directing inner energy flows from your limbs into your chest. Hold the position for one minute.

第二式横担降魔杵

接上式,身体不动,两臂缓缓下落,并逐渐分手。 两手落到丹田时稍停片刻,再下落时分向两侧,经大腿外侧向上成俯掌侧平举,两脚跟提起。 手臂下落时要意沉丹田,平举时气随手行入掌心。 呼吸自然,心平气和。 定式后静停一分钟。

2nd Stance: Shoulders Carrying the Demon-Subduing Vajra Pestle
Continue from the last stance, slowly lower two arms without moving the body and gradually move arms outward. Stop briefly when your two hands reach the Dan-Tian (lower abdomen) region. Then lower your hands while moving them outward and let your hands move past the outer side of your thighs before bringing your arms upwards on the sides with palms facing down. Raise your arms until they are even with shoulder height. Raise your heels to stand on your toes. When lowering your arms, you must submerge you mind into the Dan-Tian region. When raising your arms on the side, direct the energy flow from each arm into the center of your palm. Breathe naturally and maintain a peaceful and calm mind. Hold the position for one minute.



[1] Skanda is a Bodhisattva in Buddhism scriptures.

The video below shows you how the above-translated stances are executed, demonstrated by Mr. Bruce Wen, a Shaolin monk (I couldn't verify that). It's one of the many videos on the Internet demonstrating the stances of the Tendon-Altering Sutra. It's actually slightly different from the version I translated, but this is the only one with detailed explanations in English.


Watch out for the remaining stances translated in my future blog posts.


The Twelve Stances of Yi-Jin-Jing (The Tendon-Altering Sutra) Part 2


Video of the Day:

I Googled Mr. Bruce Wen and found this very interesting video below, in which he demonstrated how to get rid of your useless yellow page phone book and spare metal bars. (Disclaim: Don't try this at home or anywhere else!) Enjoy!

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.