- complete the implementation of PID controller in pid.py
- use pid_test.ipynb to tuning PID parameters
- start
jupyter notebook
in this folder, then you can launch pid_test.ipynb in your web browser - follow instruction in notebook, run the code and tune PID parameters
- start
- save the best parameters in
__init__
ofclass PIDController
- implement angle interploation method by using splins interpolation or Bezier interpolation in file angle_interpolation.py, please follow instruction in the comments of the file.
- run simspark and angle_interpolation.py to test hello motion
- test your implementation with provided keyframes in keyframes folder, for example:
- import keyframe with
from keyframes import hello
- and set the keyframe in
main
function, e.g.agent.keyframes = hello()
- Note: the provided keyframes doesn't have joint
RHipYawPitch
, please setRHipYawPitch
asLHipYawPitch
which reflects the real robot.
- import keyframe with
- (optional) create your own keyframes
use machine learning to recognize robot's posture learn_posture.ipynb, the scikit-learn-intro.ipynb is a good example to follow.
- preparing dataset (step 1~2 in learn_posture.ipynb )
- traning dataset, and save the results (step 3~5 in learn_posture.ipynb )
- getting feature data from simulation and recognize current posture in recognize_posture.py
- if the result is not good in simulation, adding new train data with add_training_data.ipynb
- commit file robot_pose.pkl as trained result to git before submission.
- complete the standing_up.py, e.g. call keyframe motion corresponds to current posture
- Test with the
TestStandingUpAgent
which turns off all joints regularly to make the robot falls - (optional) The
TestStandingUpAgent
always falls to belly, please also test other suitations: e.g. execute a keyframe motion to make robot falls to another pose and let it stands up.