- How does the frame walker infer the path of the user?
The frame walker made use of a path inference algorithm to infer the intended path of the user. At each step, the walker estimates the probability that the user is traveling on each of the possible arc from its current position by assigning a weight to each of the paths available. One question may pop up from your mind? What if the user turns the frame walker in place? Through that, he or she could in fact move to any point in a straight line. However, the frame walker is designed in such a way that, it assumes that the user usually do not operate the rollator in such a way. Most of the time, the walker is moved in a non-holonomic style. All the motions are a combination of translation and rotation, in other words and arc. How much weight to give to each path is depending on the orientation of the walker. Paths are first weighted by the orientation of the walker. If the path translation component is the same direction as that indicated by the walker sensor, more weight would be given to that path than its opposite component. When the walker is at rest, more weight will be given to path in front of the walker. Next, the paths are weighted by length. In the beginning, longer paths are given more weight. Paths are then weighted by a history of the user steering input. Additional weight will be given to paths that are similar to the arc traveled in the last time step. The walker would select the path with the highest weight. The sensors in the walker allow it to monitor the difference in force applied to both handles. When more force is applied to one handle, the walker will turn in the opposite direction. The amount of translation and rotation would be determined by the difference in force applied. If the difference is large, there would be more rotation and less translation. Equal force on both handle would mean that the walker would move either forward or backward. What happen when the path selected by the walker does not corresponds to the desired path of travel of the user? In this case, the agent would reduce the weight of paths near the direction of the wheel orientation. At the same time, the agent would increase the weight of path around the direction indicated by the user. The action taken by the agent helps to prevent the user from falling or knocking into obstacles. However, in the event of danger, the walker would override the commands issued by the user. Other than that, under normal situation, the user would be in control.
- Obstacles Avoidance
Obstacles avoidance can be broken down into three levels. If the user is relatively near to the obstacle (distance t1), the walker would try to steer away from the obstacle. If the user get closer to the obstacle (distance t2), the walker does not have enough distance to steer away. At such, the brake of the frame walker will be activated slowly, proportional to the walker. However, if the user gets very close to the obstacle (distance t3), the brake will be engaged fully.