author = "Olalekan Ogunmolu"
copyright = "2018, One Hell of a Lyapunov Solver"
credits = "Rachel Thompson (MIT), Jethro Tan (PFN), Ayaka Kume (PFN)"
license = "MIT"
maintainer = "Olalekan Ogunmolu"
email = "lexilighty@gmail.com"
status = "Testing"
This codebase represents a wip for our proposed learning stable control laws for nonlinear complex robot trajectories.
-
Torobo_ik: Contains the ik solver and service calls' source code for converting the joint positions of the robot to cartesian workspace. This leverages on the
TRAC_IK_SOLVER
and theKDL_LIBRARY
. -
Torobo Control: Details the meta-package for the whole packages that we use in this project.
-
LyapunovLearner: Basic implementation of Khansari-Zadeh's
Stable Estimator of Dynamical Systems
paper andLearning Control Lyapunov Functions for Nonlinear Robot Trajectories.
-
LWPR: This is an implementation of Stefan Schaal and Sethu Vijaykumar's
Locally Weighted Projected Regression
from their 2003 ICML paper. This is the test Matlab source code forThe original matlab lwpr code is located here.
-
LWPR Translations: These are my translations for the example that the original authors provided in the matlab code.
- This can be tested with
python test_lwpr_1D.py
.
- This can be tested with
-
LWPR 3rd party python source: This contains the source code for the python/c/mex source code by a 3rd party developer. I earlier tried to install this on a linux system as the readme file directs but I found that after running
configure
, make was giving weird errors. Would appreciate if you could look into this.
-
Bring up the robot
roslaunch toroboarm_seven_bringup bringup_real.launch
roslaunch torobo_ik torobo.launch
-
The above two commands can be merged with
roslaunch torobo_ik torobo.launch bringup:=true
In addition, one can turn off the stdout printouts by appending the arg
disp:=true
to thetorobo.launch
file e.g.,roslaunch torobo_ik torobo.launch bringup:=true disp:=false
-
Launch the Lyapunov Learner Executor
In a separate terminal, launch the robot executor.
cd /path_to_root_folder/lyapunovlearner/scripts
python main.py
- CSV raw files from Torobo now in lyapunovlearner/scripts/data/aug_16 folder
-
Note that these files represent each motion for the same sinusoidal stuff for the robot. The data was collected in joint space.
-
They have been augmented with the target position in the files to make the data uniform across all demos. See the scripts in torobo_ik/src/joints_pub.py
-
The joint space data collected was converted to cartesian workspace coordinates using the KDL library. This is saved in lyapunovlearner/scripts/data/cart_pos_new.csv
- We use the cartesian coordinates of the data collected in teaching the robot to repeat the motion.