ymontmarin / memory-mpc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Memory MPC for manipulation purpose

ros-noetic is necessary to launch the HPP scripts.

HPP prerequisites:

apt-get install robotpkg-py${pyver}-hpp-manipulation-corba
apt-get install robotpkg-py${pyver}-qt5-hpp-gepetto-viewer
apt-get install robotpkg-py${pyver}-qt5-hpp-gui
apt-get install robotpkg-py${pyver}-hpp-environments

To load the Talos robot, table, boxes, and contact surfaces, you need to install the following repositories:

git clone --recursive -b devel https://github.com/stack-of-tasks/talos-data.git
git clone --recursive -b devel https://gitlab.laas.fr/gepetto/gerard-bauzil.git
git clone --recursive -b devel https://github.com/agimus/agimus-demos.git

HPP_dataset

hpp_dataset folder contains HPP scripts used to generate collision-free trajectories given a target to reach. To run the scripts, open 3 terminals. In the first one, launch the corba-server:

hpp-manipulation-server

In the second one, launch Gepetto viewer:

gepetto-gui

In the third one, launch any python script. script_lean.py generates a contact motion with the table in full body. generate_reduced_wp.py generates a dataset of waypoints for a reaching motion with torso + right arm, given an obstacle to avoid. Target to reach and initial pose are sampled uniformly.

pfc_script

Example of boos-minions architecture to generate HPP trajectories on the LAAS computation platform. It uses apptainer as a container. To build the container:

sudo apptainer build pfc-hpp.sif pfc-hpp.def
scp pfc-hpp.sif $USER@pfcalcul.laas.fr:/pfcalcul/work/$USER/hpp-dataset/

Then start a manager on the pfc frontend:

ssh $USER@pfcalcul.laas.fr
cd /pfcalcul/work/$USER/pfc-hpp
apptainer run --app manager pfc-hpp.sif

And run a boss wherever you want:

apptainer run --app boss pfc-hpp.sif

Then, you should be good for sbatch ./schedule.sh

learn_dataset

The script neural_network.py takes as argument the dataset generated by HPP scripts and trains a neural network to output a collision-free state trajectory given target to reach + initial robot configuration.

Test neural network

The script reduced_ocp.py generates a Crocoddyl optimal control problem with reduced Talos model (torso + arm) and solves it using a neural network warm-start. It displays the trajectory using pybullet. The problem configuration is stored in configuration_reduced.py. The OCP formulation is performed in problem_formulation.py. The bullet simulation code is handled in bullet_Talos.py.

About


Languages

Language:Python 99.7%Language:Shell 0.3%