Skip to content
This repository has been archived by the owner on Oct 19, 2021. It is now read-only.

Positioning control on a collaborative robot by sensor fusion with liquid state machines

Notifications You must be signed in to change notification settings

ricardodeazambuja/I2MTC2017-LSMFusion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Experiments used for the paper submitted to presented at I2MTC 2017


Positioning control on a collaborative robot by sensor fusion with liquid state machines


Abstract

A positioning controller based on Spiking Neural Networks for sensor fusion suitable to run on a neuromorphic computer is presented in this work. The proposed framework uses the paradigm of reservoir computing to control the collaborative robot BAXTER. The system was designed to work in parallel with Liquid State Machines that performs trajectories in 2D closed shapes. In order to keep a felt pen touching a drawing surface, data from sensors of force and distance are fed to the controller. The system was trained using data from a Proportional Integral Derivative controller, merging the data from both sensors. The results show that the LSM can learn the behavior of a PID controller on different situations.


(this work is intended to work with the LSM control loop presented in github.com/ricardodeazambuja/IJCNN2016)

1) The trajectories are generated using a simulated BAXTER robot inside V-REP.

generate_square_joint_angles_vrep.ipynb
/VREP_scenes/Baxter_IK_felt_pen_TallerTable(2xIK).ttt

2) Training data set created with the PID controlled using the notebook:

create_training_set(PID_CONTROL).ipynb

3) After the generation of the training data, it is necessary create the LSMs and generate the input spikes. This is done by:

generate_LSM_training_data.ipynb

4) Readout weights are generated using linear regression:

generate_LINEAR_REG.ipynb

5) With all the readout weights defined, it's possible to verify the system using BAXTER:

BAXTER_LSM_Z_CONTROLLER_INDIVIDUALS.ipynb

OBS:

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%