User Tools

Site Tools


ires_journal8

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ires_journal8 [2018/07/29 18:04] – created yuhangheires_journal8 [2018/07/29 19:16] (current) – [Project Status] yuhanghe
Line 43: Line 43:
 ==== Project Status ==== ==== Project Status ====
  
-Inverse kinematic is one of the most crucial part of this project. This week, I learned how to use the inverse kinematic(IK) function for Hubo 2 and created PODO AL program to test the IK function. I used Choreonoid simulator to test the program.+Last week, I implement the inverse kinematic function and created PODO AL that will transform mocap data to joint data and execute the motionThis week, focused on filtering the data and implementing joint angle, velocity, and acceleration limit on the output joint data.
  
-{{ :yuhang:ires2018:ik_demo.mp4 |}}+The implementation of joint limit turn out to be more of a challenge then I anticipated. The simplest method to apply joint angle constraint is to limit the angles once they exceed maximum or minimum. The simplest method to limit joint angle velocity and acceleration is to apply a time warp to slow down motion within velocity and acceleration limit. However, both method are not suitable for the project because this project aim at preserving as much original characteristic of motion as possible.
  
-After learning how to use inverse kinematics, I transferred my functions that was originally written in Matlab into the C++ PODO AL program that I created for this project+In order to accomplish this, I decided to implement the filters developed by [[https://ieeexplore.ieee.org/document/1014737/|Pollard et al]]. Here are the result of implementation.
  
-{{ :yuhang:ires2018:screenshot_from_2018-07-16_09-35-51.png?400 |}}+Joint angle limit:\\ 
 +{{ :yuhang:ires2018:screenshot_from_2018-07-30_10-50-18.png?700 |}} 
 +The blue lines are the original joint angles and the green lines are joint angles after applying joint angle limit and filtering. The algorithm is not perfect, however, it was able to limit the joint angles while preserving some characteristics of original motion.
  
-Another problem that encountered during the project is the orientation of wrist. During the initial motion captureI did not take the orientation of wrist into consideration. However, in order for the IK function to work properly, orientation of wrist is a crucial input parameter. In the endI have to transformed the orientation captured during mocap into an orientation that can be used with IK function.+Joint velocity limit:\\ 
 +{{ :yuhang:ires2018:screenshot_from_2018-07-30_10-20-20.png?700 |}} 
 +Again, the blue lines are the original joint angles and green lines are joint angles after applying joint velocity limit and filtering. One problem I noticed for this algorithm is that, for relatively small amount of velocity exceed the limit, the algorithm worked very well. However, once the velocity and acceleration exceeds the limit, the filter will result in a flat angle.
  
-{{ :yuhang:ires2018:orientation.png?300 |}}+Another problem I noticed is that the first set of data I collected using mocap system are inaccurate and inconsistent. I need to collect more data from mocap system this week and test the filtering.
ires_journal8.1532912647.txt.gz · Last modified: by yuhanghe