PyPnC is a python library designed for generating trajectories for a robot system and stabilizing the system over the trajectories.
- Install anaconda
- Clone the repository:
$ git clone https://github.com/junhyeokahn/PyPnC.git - Create a virtual environment and install dependancies:
$ conda env create -f pypnc.yml - Activate the environment:
$ conda activate pypnc
- Run the code:
$ python simulator/pybullet/manipulator_main.py
- Run the code:
$ python simulator/pybullet/atlas_dynamics_main.py - Send walking commands through keystroke interface. For example, press
8for forward walking, press5for in-place walking, press4for leftward walking, press6for rightward walking, press2for backward walking, press7for ccw turning, and press9for cw turning. - Plot the results:
$ python plot/atlas/plot_task.py --file=data/history.pkl
- For TOWR+, install additional dependancy ifopt
- Train a Composite Rigid Body Inertia network and generate files for optimization:
$ python simulator/pybullet/atlas_crbi_trainer.pyand press5for training - Run
TOWR+:
$ mkdir build && cd build && cmake .. && make -j6 && ./atlas_forward_walk - Plot the optimized trajectory:
$ python plot/plot_towr_plus_trajectory.py --file=data/atlas_forward_walk.yaml --crbi_model_path=data/tf_model/atlas_crbi - Replay the optimized trajectory with the robot:
$ python simulator/pybullet/atlas_kinematics_main.py --file=data/atlas_forward_walk.yaml
@article{10.3389/frobt.2021.712239,
author = {Ahn, Junhyeok and Jorgensen, Steven Jens and Bang, Seung Hyeon and Sentis, Luis},
journal = {Frontiers in Robotics and AI},
pages = {257},
title = {Versatile Locomotion Planning and Control for Humanoid Robots},
volume = {8},
year = {2021}}