Diverse, Noisy and Parallel: a New Spiking Neural Network Approach for Humanoid Robot Control
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
BaxterArm_VREP_simulation_data All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
VREP_scenes All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_LSM_DATA-GENERATOR.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_LSM_DATA-TESTER.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_LSM_LINEAR_REGRESSION.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_trajectories-generator_v1-CIRCLE.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_trajectories-generator_v1-SQUARE.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_trajectories-generator_v1-TEMPLATES.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_trajectories-generator_v1-TRIANGLE.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_trajectories-testing_v1-IJCNN2016-BAXTER.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_VREP_trajectories-testing_v1-IJCNN2016.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_v1_CONNECTION_PATTERN_VISUALIZATION_2D.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
BEE_Simulator_ArmControl_v1_CONNECTION_PATTERN_VISUALIZATION_3D.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
IJCNN2016_figures_generator.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
IJCNN2016_preprint.pdf Preprint of the article Nov 3, 2016
Membrane low-pass filter class.ipynb All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
README.md Update README.md Jul 25, 2017
dtw_C.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
dtw_C.pyc All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
dtw_python.so All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
inputs_indices.pickle All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
inputs_weights.pickle All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
membrane_lowpass_md.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
movement_generation_training.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
remoteApi.dylib All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
rot_array.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
save_load_file.pyc All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
todo.txt All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
vrep.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
vrep.pyc All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
vrepConst.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
vrepConst.pyc All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016
vrep_training.py All the files I used for writing the paper submitted to the IJCNN2016 Jan 15, 2016

README.md

Experiments used for the paper submitted to presented at IJCNN2016 / IEEE WCCI 2016

Diverse, Noisy and Parallel: a New Spiking Neural Network Approach for Humanoid Robot Control

Abstract:

How exactly our brain works is still an open question, but one thing seems to be clear: biological neural systems are computationally powerful, robust and noisy. Using the Reservoir Computing paradigm based on Spiking Neural Networks, also known as Liquid State Machines, we present results from a novel approach where diverse and noisy parallel reservoirs, totalling 3,000 modelled neurons, work together receiving the same averaged feedback. Inspired by the ideas of action learning and embodiment we use the safe and flexible industrial robot BAXTER in our experiments. The robot was taught to draw three different 2D shapes on top of a desk using a total of four joints. Together with the parallel approach, the same basic system was implemented in a serial way to compare it with our new method. The results show our parallel approach enables BAXTER to produce the trajectories to draw the learned shapes more accurately than the traditional serial one.

The trajectories are always closed shapes (otherwise the initial and final values are different and the signal conditioning must be changed)

  1. The trajectories are generated using a simulated BAXTER robot inside V-REP.
  • BEE_Simulator_ArmControl_VREP_trajectories-generator_v1-SHAPE_NAME.ipynb
  • /VREP_scenes/Baxter_IK_felt_pen_pick-and-place_learning_IJCNN2016.ttt (cell templates come from BEE_Simulator_ArmControl_VREP_trajectories-generator_v1-TEMPLATES.ipynb)
  1. Training data (output spikes) are generated using the notebook:
  • BEE_Simulator_ArmControl_VREP_LSM_DATA-GENERATOR.ipynb (there's also a testing session at the end of the notebook)
  1. After the generation of the training data, it is necessary to train the readouts. This is done by:
  • BEE_Simulator_ArmControl_VREP_LSM_LINEAR_REGRESSION.ipynb
  1. With all the readout weights defined, it's possible to verify the system using only the LSMs:
  • BEE_Simulator_ArmControl_VREP_LSM_DATA-TESTER.ipynb

OBS:

BEE SNN simulator:

https://github.com/ricardodeazambuja/BEE

Dynamic Time Warping:

https://github.com/ricardodeazambuja/DTW

Python scripts in general:

https://github.com/ricardodeazambuja/Python-UTILS

V-REP simulator:

http://www.coppeliarobotics.com/downloads.html

Preprint version:

https://github.com/ricardodeazambuja/IJCNN2016/blob/master/IJCNN2016_preprint.pdf

Bibtex citation:

https://github.com/ricardodeazambuja/ricardodeazambuja.github.io/raw/master/public/citations/de_azambuja_diverse_2016.bib

Final IEEE Xplore version:

http://ieeexplore.ieee.org/document/7727325/

Related works:

https://github.com/ricardodeazambuja/ICONIP2016
https://github.com/ricardodeazambuja/IJCNN2017
https://github.com/ricardodeazambuja/IJCNN2017-2
https://github.com/ricardodeazambuja/I2MTC2017-LSMFusion