EduardoRosLab / EDLUT_BAXTER

Cerebellar-SNN control of a Baxter robot. The repository includes EDLUT simulator source code, the ROS package to perform a closed-loop cerebellar-SNN control and all configuration files needed.
10 stars 3 forks source link

Configuration File Error when using baxter simulator #1

Open yunxdai opened 4 years ago

yunxdai commented 4 years ago

Hello! I encountered a problem when following the instruction of "Using simulated Baxter robot on Gazebo" and typing "roslaunch edlut_ros circle_trajectory.launch". An error showed in the terminal as followed Error while: Loading the configuration parameters of LIFTimeDrivenModel_1_2_GPU neuron model In file , line: 0 Error message 94493016109: Can't open the neuron model configuration file Try to: Check if the configuration file exist and has the same name that in the network file I check the config_file folder and there is no file named like "LIFTimeDrivenModel_1_2_GPU", so could you please help me find out what happens?

wangxRobot commented 2 years ago

请问您解决这个问题了吗 @yunxdai

jgarridoalcazar commented 2 years ago

This error gives me the impression that you have no CUDA installation linked to the EDLUT compilation. In order to provide better advice I would need to check the output logs produced during the following steps:

Please, be aware that we do not have any specific resource allocated to the development of EDLUT simulator nor this repository, so we can not provide support with the installation beyond what our free time allows us.

wangxRobot commented 2 years ago

Thank you for your answer!

jgarridoalcazar commented 2 years ago

It seems Cuda is properly detected.

Could you also include the EDLUT make and make install output log (the command run right after configure)? I need to check that EDLUT has compiled properly.

wangxRobot commented 2 years ago

Thanks!

------------------ making executable

g++ -I./include -fPIC -Wall -O3 -DHAVE_INLINE -fopenmp -I/usr/include -I/usr/samples/common/inc/ -fno-strict-aliasing src/communication/ArrayInputCurrentDriver.o src/communication/ArrayInputSpikeDriver.o src/communication/ArrayOutputSpikeDriver.o src/communication/CdSocket.o src/communication/ClientSocket.o src/communication/CommunicationDevice.o src/communication/ConnectionException.o src/communication/FileInputCurrentDriver.o src/communication/FileInputSpikeDriver.o src/communication/FileOutputSpikeDriver.o src/communication/FileOutputWeightDriver.o src/communication/InputBooleanArrayDriver.o src/communication/InputCurrentDriver.o src/communication/InputSpikeDriver.o src/communication/OutputBooleanArrayDriver.o src/communication/OutputSpikeDriver.o src/communication/OutputWeightDriver.o src/communication/ServerSocket.o src/communication/TCPIPInputOutputSpikeDriver.o src/communication/TCPIPInputSpikeDriver.o src/communication/TCPIPOutputSpikeDriver.o src/integration_method/BiFixedStep.o src/integration_method/FixedStep.o src/integration_method/IntegrationMethod.o src/interface/C_Interface.o src/neuron_model/CompressNeuronModelTable.o src/neuron_model/CompressSynchronousTableBasedModel.o src/neuron_model/CompressTableBasedModel.o src/neuron_model/CurrentSynapseModel.o src/neuron_model/EventDrivenInputDevice.o src/neuron_model/EventDrivenNeuronModel.o src/neuron_model/InputCurrentNeuronModel.o src/neuron_model/InputSpikeNeuronModel.o src/neuron_model/LIFTimeDrivenModel_1_1.o src/neuron_model/LIFTimeDrivenModel_1_2.o src/neuron_model/LIFTimeDrivenModel_1_4.o src/neuron_model/NeuronModel.o src/neuron_model/NeuronModelTable.o src/neuron_model/NeuronState.o src/neuron_model/SynchronousTableBasedModel.o src/neuron_model/TableBasedModel.o src/neuron_model/TimeDrivenInputDevice.o src/neuron_model/TimeDrivenModel.o src/neuron_model/TimeDrivenNeuronModel.o src/neuron_model/TimeDrivenSinCurrentGenerator.o src/neuron_model/VectorBufferedState.o src/neuron_model/VectorNeuronState.o src/learning_rules/AdditiveKernelChange.o src/learning_rules/BufferedActivityTimes.o src/learning_rules/ConnectionState.o src/learning_rules/ExpOptimisedBufferedWeightChange.o src/learning_rules/LearningRule.o src/learning_rules/STDPState.o src/learning_rules/STDPWeightChange.o src/learning_rules/WithoutPostSynaptic.o src/learning_rules/WithPostSynaptic.o src/simulation/CommunicationEvent.o src/simulation/EndSimulationEvent.o src/simulation/Event.o src/simulation/EventQueue.o src/simulation/ExponentialTable.o src/simulation/MediananFilter.o src/simulation/ParameterException.o src/simulation/ParamReader.o src/simulation/RandomGenerator.o src/simulation/RealTimeRestriction.o src/simulation/SaveWeightsEvent.o src/simulation/StopSimulationEvent.o src/simulation/SynchronizeActivityEvent.o src/simulation/SynchronizeSimulationEvent.o src/simulation/TimeEventUpdateNeurons.o src/simulation/TrigonometricTable.o src/simulation/Utils.o src/spike/Current.o src/spike/EDLUTException.o src/spike/EDLUTFileException.o src/spike/EndRefractoryPeriodEvent.o src/spike/InputCurrent.o src/spike/InputSpike.o src/spike/Interconnection.o src/spike/InternalSpike.o src/spike/Neuron.o src/spike/NeuronModelPropagationDelayStructure.o src/spike/NeuronPropagationDelayStructure.o src/spike/PropagatedCurrent.o src/spike/PropagatedSpike.o src/spike/PropagatedSpikeGroup.o src/spike/Spike.o src/spike/SynchronousTableBasedModelEvent.o src/spike/SynchronousTableBasedModelInternalSpike.o src/spike/TimeDrivenInternalSpike.o src/EDLUTKernel.o src/integration_method/BDFn_GPU.o src/integration_method/Bifixed_Euler_GPU.o src/integration_method/Bifixed_RK2_GPU.o src/integration_method/Bifixed_RK4_GPU.o src/integration_method/BiFixedStep_GPU.o src/integration_method/Euler_GPU.o src/integration_method/FixedStep_GPU.o src/integration_method/IntegrationMethod_GPU.o src/integration_method/RK2_GPU.o src/integration_method/RK4_GPU.o src/neuron_model/LIFTimeDrivenModel_1_1_GPU.o src/neuron_model/LIFTimeDrivenModel_1_2_GPU.o src/neuron_model/LIFTimeDrivenModel_1_4_GPU.o src/neuron_model/TimeDrivenNeuronModel_GPU.o src/neuron_model/VectorNeuronState_GPU.o src/simulation/Simulation_GPU.o src/spike/Network_GPU.o src/openmp/openmp_GPU.o -lm -fopenmp -L/usr/lib -lcudart -o bin/edlutkernel compiler path = g++

------------------ making real time executable

g++ -I./include -fPIC -Wall -O3 -DHAVE_INLINE -fopenmp -I/usr/include -I/usr/samples/common/inc/ -fno-strict-aliasing src/communication/ArrayInputCurrentDriver.o src/communication/ArrayInputSpikeDriver.o src/communication/ArrayOutputSpikeDriver.o src/communication/CdSocket.o src/communication/ClientSocket.o src/communication/CommunicationDevice.o src/communication/ConnectionException.o src/communication/FileInputCurrentDriver.o src/communication/FileInputSpikeDriver.o src/communication/FileOutputSpikeDriver.o src/communication/FileOutputWeightDriver.o src/communication/InputBooleanArrayDriver.o src/communication/InputCurrentDriver.o src/communication/InputSpikeDriver.o src/communication/OutputBooleanArrayDriver.o src/communication/OutputSpikeDriver.o src/communication/OutputWeightDriver.o src/communication/ServerSocket.o src/communication/TCPIPInputOutputSpikeDriver.o src/communication/TCPIPInputSpikeDriver.o src/communication/TCPIPOutputSpikeDriver.o src/integration_method/BiFixedStep.o src/integration_method/FixedStep.o src/integration_method/IntegrationMethod.o src/interface/C_Interface.o src/neuron_model/CompressNeuronModelTable.o src/neuron_model/CompressSynchronousTableBasedModel.o src/neuron_model/CompressTableBasedModel.o src/neuron_model/CurrentSynapseModel.o src/neuron_model/EventDrivenInputDevice.o src/neuron_model/EventDrivenNeuronModel.o src/neuron_model/InputCurrentNeuronModel.o src/neuron_model/InputSpikeNeuronModel.o src/neuron_model/LIFTimeDrivenModel_1_1.o src/neuron_model/LIFTimeDrivenModel_1_2.o src/neuron_model/LIFTimeDrivenModel_1_4.o src/neuron_model/NeuronModel.o src/neuron_model/NeuronModelTable.o src/neuron_model/NeuronState.o src/neuron_model/SynchronousTableBasedModel.o src/neuron_model/TableBasedModel.o src/neuron_model/TimeDrivenInputDevice.o src/neuron_model/TimeDrivenModel.o src/neuron_model/TimeDrivenNeuronModel.o src/neuron_model/TimeDrivenSinCurrentGenerator.o src/neuron_model/VectorBufferedState.o src/neuron_model/VectorNeuronState.o src/learning_rules/AdditiveKernelChange.o src/learning_rules/BufferedActivityTimes.o src/learning_rules/ConnectionState.o src/learning_rules/ExpOptimisedBufferedWeightChange.o src/learning_rules/LearningRule.o src/learning_rules/STDPState.o src/learning_rules/STDPWeightChange.o src/learning_rules/WithoutPostSynaptic.o src/learning_rules/WithPostSynaptic.o src/simulation/CommunicationEvent.o src/simulation/EndSimulationEvent.o src/simulation/Event.o src/simulation/EventQueue.o src/simulation/ExponentialTable.o src/simulation/MediananFilter.o src/simulation/ParameterException.o src/simulation/ParamReader.o src/simulation/RandomGenerator.o src/simulation/RealTimeRestriction.o src/simulation/SaveWeightsEvent.o src/simulation/StopSimulationEvent.o src/simulation/SynchronizeActivityEvent.o src/simulation/SynchronizeSimulationEvent.o src/simulation/TimeEventUpdateNeurons.o src/simulation/TrigonometricTable.o src/simulation/Utils.o src/spike/Current.o src/spike/EDLUTException.o src/spike/EDLUTFileException.o src/spike/EndRefractoryPeriodEvent.o src/spike/InputCurrent.o src/spike/InputSpike.o src/spike/Interconnection.o src/spike/InternalSpike.o src/spike/Neuron.o src/spike/NeuronModelPropagationDelayStructure.o src/spike/NeuronPropagationDelayStructure.o src/spike/PropagatedCurrent.o src/spike/PropagatedSpike.o src/spike/PropagatedSpikeGroup.o src/spike/Spike.o src/spike/SynchronousTableBasedModelEvent.o src/spike/SynchronousTableBasedModelInternalSpike.o src/spike/TimeDrivenInternalSpike.o src/RealTimeEDLUTKernel.o src/integration_method/BDFn_GPU.o src/integration_method/Bifixed_Euler_GPU.o src/integration_method/Bifixed_RK2_GPU.o src/integration_method/Bifixed_RK4_GPU.o src/integration_method/BiFixedStep_GPU.o src/integration_method/Euler_GPU.o src/integration_method/FixedStep_GPU.o src/integration_method/IntegrationMethod_GPU.o src/integration_method/RK2_GPU.o src/integration_method/RK4_GPU.o src/neuron_model/LIFTimeDrivenModel_1_1_GPU.o src/neuron_model/LIFTimeDrivenModel_1_2_GPU.o src/neuron_model/LIFTimeDrivenModel_1_4_GPU.o src/neuron_model/TimeDrivenNeuronModel_GPU.o src/neuron_model/VectorNeuronState_GPU.o src/simulation/Simulation_GPU.o src/spike/Network_GPU.o src/openmp/openmp_GPU.o -lm -fopenmp -L/usr/lib -lcudart -o bin/RealTimeEDLUTKernel compiler path = g++

------------------ making step-by-step example

g++ -I./include -fPIC -Wall -O3 -DHAVE_INLINE -fopenmp -I/usr/include -I/usr/samples/common/inc/ -fno-strict-aliasing src/communication/ArrayInputCurrentDriver.o src/communication/ArrayInputSpikeDriver.o src/communication/ArrayOutputSpikeDriver.o src/communication/CdSocket.o src/communication/ClientSocket.o src/communication/CommunicationDevice.o src/communication/ConnectionException.o src/communication/FileInputCurrentDriver.o src/communication/FileInputSpikeDriver.o src/communication/FileOutputSpikeDriver.o src/communication/FileOutputWeightDriver.o src/communication/InputBooleanArrayDriver.o src/communication/InputCurrentDriver.o src/communication/InputSpikeDriver.o src/communication/OutputBooleanArrayDriver.o src/communication/OutputSpikeDriver.o src/communication/OutputWeightDriver.o src/communication/ServerSocket.o src/communication/TCPIPInputOutputSpikeDriver.o src/communication/TCPIPInputSpikeDriver.o src/communication/TCPIPOutputSpikeDriver.o src/integration_method/BiFixedStep.o src/integration_method/FixedStep.o src/integration_method/IntegrationMethod.o src/interface/C_Interface.o src/neuron_model/CompressNeuronModelTable.o src/neuron_model/CompressSynchronousTableBasedModel.o src/neuron_model/CompressTableBasedModel.o src/neuron_model/CurrentSynapseModel.o src/neuron_model/EventDrivenInputDevice.o src/neuron_model/EventDrivenNeuronModel.o src/neuron_model/InputCurrentNeuronModel.o src/neuron_model/InputSpikeNeuronModel.o src/neuron_model/LIFTimeDrivenModel_1_1.o src/neuron_model/LIFTimeDrivenModel_1_2.o src/neuron_model/LIFTimeDrivenModel_1_4.o src/neuron_model/NeuronModel.o src/neuron_model/NeuronModelTable.o src/neuron_model/NeuronState.o src/neuron_model/SynchronousTableBasedModel.o src/neuron_model/TableBasedModel.o src/neuron_model/TimeDrivenInputDevice.o src/neuron_model/TimeDrivenModel.o src/neuron_model/TimeDrivenNeuronModel.o src/neuron_model/TimeDrivenSinCurrentGenerator.o src/neuron_model/VectorBufferedState.o src/neuron_model/VectorNeuronState.o src/learning_rules/AdditiveKernelChange.o src/learning_rules/BufferedActivityTimes.o src/learning_rules/ConnectionState.o src/learning_rules/ExpOptimisedBufferedWeightChange.o src/learning_rules/LearningRule.o src/learning_rules/STDPState.o src/learning_rules/STDPWeightChange.o src/learning_rules/WithoutPostSynaptic.o src/learning_rules/WithPostSynaptic.o src/simulation/CommunicationEvent.o src/simulation/EndSimulationEvent.o src/simulation/Event.o src/simulation/EventQueue.o src/simulation/ExponentialTable.o src/simulation/MediananFilter.o src/simulation/ParameterException.o src/simulation/ParamReader.o src/simulation/RandomGenerator.o src/simulation/RealTimeRestriction.o src/simulation/SaveWeightsEvent.o src/simulation/StopSimulationEvent.o src/simulation/SynchronizeActivityEvent.o src/simulation/SynchronizeSimulationEvent.o src/simulation/TimeEventUpdateNeurons.o src/simulation/TrigonometricTable.o src/simulation/Utils.o src/spike/Current.o src/spike/EDLUTException.o src/spike/EDLUTFileException.o src/spike/EndRefractoryPeriodEvent.o src/spike/InputCurrent.o src/spike/InputSpike.o src/spike/Interconnection.o src/spike/InternalSpike.o src/spike/Neuron.o src/spike/NeuronModelPropagationDelayStructure.o src/spike/NeuronPropagationDelayStructure.o src/spike/PropagatedCurrent.o src/spike/PropagatedSpike.o src/spike/PropagatedSpikeGroup.o src/spike/Spike.o src/spike/SynchronousTableBasedModelEvent.o src/spike/SynchronousTableBasedModelInternalSpike.o src/spike/TimeDrivenInternalSpike.o src/StepByStep.o src/integration_method/BDFn_GPU.o src/integration_method/Bifixed_Euler_GPU.o src/integration_method/Bifixed_RK2_GPU.o src/integration_method/Bifixed_RK4_GPU.o src/integration_method/BiFixedStep_GPU.o src/integration_method/Euler_GPU.o src/integration_method/FixedStep_GPU.o src/integration_method/IntegrationMethod_GPU.o src/integration_method/RK2_GPU.o src/integration_method/RK4_GPU.o src/neuron_model/LIFTimeDrivenModel_1_1_GPU.o src/neuron_model/LIFTimeDrivenModel_1_2_GPU.o src/neuron_model/LIFTimeDrivenModel_1_4_GPU.o src/neuron_model/TimeDrivenNeuronModel_GPU.o src/neuron_model/VectorNeuronState_GPU.o src/simulation/Simulation_GPU.o src/spike/Network_GPU.o src/openmp/openmp_GPU.o -lm -fopenmp -L/usr/lib -lcudart -o bin/stepbystep compiler path = g++

------------------ making precision example

g++ -I./include -fPIC -Wall -O3 -DHAVE_INLINE -fopenmp -I/usr/include -I/usr/samples/common/inc/ -fno-strict-aliasing src/communication/ArrayInputCurrentDriver.o src/communication/ArrayInputSpikeDriver.o src/communication/ArrayOutputSpikeDriver.o src/communication/CdSocket.o src/communication/ClientSocket.o src/communication/CommunicationDevice.o src/communication/ConnectionException.o src/communication/FileInputCurrentDriver.o src/communication/FileInputSpikeDriver.o src/communication/FileOutputSpikeDriver.o src/communication/FileOutputWeightDriver.o src/communication/InputBooleanArrayDriver.o src/communication/InputCurrentDriver.o src/communication/InputSpikeDriver.o src/communication/OutputBooleanArrayDriver.o src/communication/OutputSpikeDriver.o src/communication/OutputWeightDriver.o src/communication/ServerSocket.o src/communication/TCPIPInputOutputSpikeDriver.o src/communication/TCPIPInputSpikeDriver.o src/communication/TCPIPOutputSpikeDriver.o src/integration_method/BiFixedStep.o src/integration_method/FixedStep.o src/integration_method/IntegrationMethod.o src/interface/C_Interface.o src/neuron_model/CompressNeuronModelTable.o src/neuron_model/CompressSynchronousTableBasedModel.o src/neuron_model/CompressTableBasedModel.o src/neuron_model/CurrentSynapseModel.o src/neuron_model/EventDrivenInputDevice.o src/neuron_model/EventDrivenNeuronModel.o src/neuron_model/InputCurrentNeuronModel.o src/neuron_model/InputSpikeNeuronModel.o src/neuron_model/LIFTimeDrivenModel_1_1.o src/neuron_model/LIFTimeDrivenModel_1_2.o src/neuron_model/LIFTimeDrivenModel_1_4.o src/neuron_model/NeuronModel.o src/neuron_model/NeuronModelTable.o src/neuron_model/NeuronState.o src/neuron_model/SynchronousTableBasedModel.o src/neuron_model/TableBasedModel.o src/neuron_model/TimeDrivenInputDevice.o src/neuron_model/TimeDrivenModel.o src/neuron_model/TimeDrivenNeuronModel.o src/neuron_model/TimeDrivenSinCurrentGenerator.o src/neuron_model/VectorBufferedState.o src/neuron_model/VectorNeuronState.o src/learning_rules/AdditiveKernelChange.o src/learning_rules/BufferedActivityTimes.o src/learning_rules/ConnectionState.o src/learning_rules/ExpOptimisedBufferedWeightChange.o src/learning_rules/LearningRule.o src/learning_rules/STDPState.o src/learning_rules/STDPWeightChange.o src/learning_rules/WithoutPostSynaptic.o src/learning_rules/WithPostSynaptic.o src/simulation/CommunicationEvent.o src/simulation/EndSimulationEvent.o src/simulation/Event.o src/simulation/EventQueue.o src/simulation/ExponentialTable.o src/simulation/MediananFilter.o src/simulation/ParameterException.o src/simulation/ParamReader.o src/simulation/RandomGenerator.o src/simulation/RealTimeRestriction.o src/simulation/SaveWeightsEvent.o src/simulation/StopSimulationEvent.o src/simulation/SynchronizeActivityEvent.o src/simulation/SynchronizeSimulationEvent.o src/simulation/TimeEventUpdateNeurons.o src/simulation/TrigonometricTable.o src/simulation/Utils.o src/spike/Current.o src/spike/EDLUTException.o src/spike/EDLUTFileException.o src/spike/EndRefractoryPeriodEvent.o src/spike/InputCurrent.o src/spike/InputSpike.o src/spike/Interconnection.o src/spike/InternalSpike.o src/spike/Neuron.o src/spike/NeuronModelPropagationDelayStructure.o src/spike/NeuronPropagationDelayStructure.o src/spike/PropagatedCurrent.o src/spike/PropagatedSpike.o src/spike/PropagatedSpikeGroup.o src/spike/Spike.o src/spike/SynchronousTableBasedModelEvent.o src/spike/SynchronousTableBasedModelInternalSpike.o src/spike/TimeDrivenInternalSpike.o src/PrecisionTest.o src/integration_method/BDFn_GPU.o src/integration_method/Bifixed_Euler_GPU.o src/integration_method/Bifixed_RK2_GPU.o src/integration_method/Bifixed_RK4_GPU.o src/integration_method/BiFixedStep_GPU.o src/integration_method/Euler_GPU.o src/integration_method/FixedStep_GPU.o src/integration_method/IntegrationMethod_GPU.o src/integration_method/RK2_GPU.o src/integration_method/RK4_GPU.o src/neuron_model/LIFTimeDrivenModel_1_1_GPU.o src/neuron_model/LIFTimeDrivenModel_1_2_GPU.o src/neuron_model/LIFTimeDrivenModel_1_4_GPU.o src/neuron_model/TimeDrivenNeuronModel_GPU.o src/neuron_model/VectorNeuronState_GPU.o src/simulation/Simulation_GPU.o src/spike/Network_GPU.o src/openmp/openmp_GPU.o -lm -fopenmp -L/usr/lib -lcudart -o bin/precisiontest

------------------ making library ./lib/libedlutkernel.a

- This is the terminal output when typing "make install":

------------------ creating pkg-config file

------------------ uninstalling if-installed

compiler path = g++

------------------ making executable

g++ -I./include -fPIC -Wall -O3 -DHAVE_INLINE -fopenmp -I/usr/include -I/usr/samples/common/inc/ -fno-strict-aliasing src/communication/ArrayInputCurrentDriver.o src/communication/ArrayInputSpikeDriver.o src/communication/ArrayOutputSpikeDriver.o src/communication/CdSocket.o src/communication/ClientSocket.o src/communication/CommunicationDevice.o src/communication/ConnectionException.o src/communication/FileInputCurrentDriver.o src/communication/FileInputSpikeDriver.o src/communication/FileOutputSpikeDriver.o src/communication/FileOutputWeightDriver.o src/communication/InputBooleanArrayDriver.o src/communication/InputCurrentDriver.o src/communication/InputSpikeDriver.o src/communication/OutputBooleanArrayDriver.o src/communication/OutputSpikeDriver.o src/communication/OutputWeightDriver.o src/communication/ServerSocket.o src/communication/TCPIPInputOutputSpikeDriver.o src/communication/TCPIPInputSpikeDriver.o src/communication/TCPIPOutputSpikeDriver.o src/integration_method/BiFixedStep.o src/integration_method/FixedStep.o src/integration_method/IntegrationMethod.o src/interface/C_Interface.o src/neuron_model/CompressNeuronModelTable.o src/neuron_model/CompressSynchronousTableBasedModel.o src/neuron_model/CompressTableBasedModel.o src/neuron_model/CurrentSynapseModel.o src/neuron_model/EventDrivenInputDevice.o src/neuron_model/EventDrivenNeuronModel.o src/neuron_model/InputCurrentNeuronModel.o src/neuron_model/InputSpikeNeuronModel.o src/neuron_model/LIFTimeDrivenModel_1_1.o src/neuron_model/LIFTimeDrivenModel_1_2.o src/neuron_model/LIFTimeDrivenModel_1_4.o src/neuron_model/NeuronModel.o src/neuron_model/NeuronModelTable.o src/neuron_model/NeuronState.o src/neuron_model/SynchronousTableBasedModel.o src/neuron_model/TableBasedModel.o src/neuron_model/TimeDrivenInputDevice.o src/neuron_model/TimeDrivenModel.o src/neuron_model/TimeDrivenNeuronModel.o src/neuron_model/TimeDrivenSinCurrentGenerator.o src/neuron_model/VectorBufferedState.o src/neuron_model/VectorNeuronState.o src/learning_rules/AdditiveKernelChange.o src/learning_rules/BufferedActivityTimes.o src/learning_rules/ConnectionState.o src/learning_rules/ExpOptimisedBufferedWeightChange.o src/learning_rules/LearningRule.o src/learning_rules/STDPState.o src/learning_rules/STDPWeightChange.o src/learning_rules/WithoutPostSynaptic.o src/learning_rules/WithPostSynaptic.o src/simulation/CommunicationEvent.o src/simulation/EndSimulationEvent.o src/simulation/Event.o src/simulation/EventQueue.o src/simulation/ExponentialTable.o src/simulation/MediananFilter.o src/simulation/ParameterException.o src/simulation/ParamReader.o src/simulation/RandomGenerator.o src/simulation/RealTimeRestriction.o src/simulation/SaveWeightsEvent.o src/simulation/StopSimulationEvent.o src/simulation/SynchronizeActivityEvent.o src/simulation/SynchronizeSimulationEvent.o src/simulation/TimeEventUpdateNeurons.o src/simulation/TrigonometricTable.o src/simulation/Utils.o src/spike/Current.o src/spike/EDLUTException.o src/spike/EDLUTFileException.o src/spike/EndRefractoryPeriodEvent.o src/spike/InputCurrent.o src/spike/InputSpike.o src/spike/Interconnection.o src/spike/InternalSpike.o src/spike/Neuron.o src/spike/NeuronModelPropagationDelayStructure.o src/spike/NeuronPropagationDelayStructure.o src/spike/PropagatedCurrent.o src/spike/PropagatedSpike.o src/spike/PropagatedSpikeGroup.o src/spike/Spike.o src/spike/SynchronousTableBasedModelEvent.o src/spike/SynchronousTableBasedModelInternalSpike.o src/spike/TimeDrivenInternalSpike.o src/EDLUTKernel.o src/integration_method/BDFn_GPU.o src/integration_method/Bifixed_Euler_GPU.o src/integration_method/Bifixed_RK2_GPU.o src/integration_method/Bifixed_RK4_GPU.o src/integration_method/BiFixedStep_GPU.o src/integration_method/Euler_GPU.o src/integration_method/FixedStep_GPU.o src/integration_method/IntegrationMethod_GPU.o src/integration_method/RK2_GPU.o src/integration_method/RK4_GPU.o src/neuron_model/LIFTimeDrivenModel_1_1_GPU.o src/neuron_model/LIFTimeDrivenModel_1_2_GPU.o src/neuron_model/LIFTimeDrivenModel_1_4_GPU.o src/neuron_model/TimeDrivenNeuronModel_GPU.o src/neuron_model/VectorNeuronState_GPU.o src/simulation/Simulation_GPU.o src/spike/Network_GPU.o src/openmp/openmp_GPU.o -lm -fopenmp -L/usr/lib -lcudart -o bin/edlutkernel

------------------ installing library and header files

------------------ installing at /usr/local

'./include/communication' -> '/usr/local/include/edlutkernel/communication' './include/communication/ArrayInputCurrentDriver.h' -> '/usr/local/include/edlutkernel/communication/ArrayInputCurrentDriver.h' './include/communication/ArrayInputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/ArrayInputSpikeDriver.h' './include/communication/ArrayOutputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/ArrayOutputSpikeDriver.h' './include/communication/CdSocket.h' -> '/usr/local/include/edlutkernel/communication/CdSocket.h' './include/communication/ClientSocket.h' -> '/usr/local/include/edlutkernel/communication/ClientSocket.h' './include/communication/CommunicationDevice.h' -> '/usr/local/include/edlutkernel/communication/CommunicationDevice.h' './include/communication/ConnectionException.h' -> '/usr/local/include/edlutkernel/communication/ConnectionException.h' './include/communication/FileInputCurrentDriver.h' -> '/usr/local/include/edlutkernel/communication/FileInputCurrentDriver.h' './include/communication/FileInputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/FileInputSpikeDriver.h' './include/communication/FileOutputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/FileOutputSpikeDriver.h' './include/communication/FileOutputWeightDriver.h' -> '/usr/local/include/edlutkernel/communication/FileOutputWeightDriver.h' './include/communication/InputBooleanArrayDriver.h' -> '/usr/local/include/edlutkernel/communication/InputBooleanArrayDriver.h' './include/communication/InputCurrentDriver.h' -> '/usr/local/include/edlutkernel/communication/InputCurrentDriver.h' './include/communication/InputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/InputSpikeDriver.h' './include/communication/OutputBooleanArrayDriver.h' -> '/usr/local/include/edlutkernel/communication/OutputBooleanArrayDriver.h' './include/communication/OutputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/OutputSpikeDriver.h' './include/communication/OutputWeightDriver.h' -> '/usr/local/include/edlutkernel/communication/OutputWeightDriver.h' './include/communication/ServerSocket.h' -> '/usr/local/include/edlutkernel/communication/ServerSocket.h' './include/communication/TCPIPConnectionType.h' -> '/usr/local/include/edlutkernel/communication/TCPIPConnectionType.h' './include/communication/TCPIPInputOutputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/TCPIPInputOutputSpikeDriver.h' './include/communication/TCPIPInputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/TCPIPInputSpikeDriver.h' './include/communication/TCPIPOutputSpikeDriver.h' -> '/usr/local/include/edlutkernel/communication/TCPIPOutputSpikeDriver.h' './include/cudaError.h' -> '/usr/local/include/edlutkernel/cudaError.h' './include/integration_method' -> '/usr/local/include/edlutkernel/integration_method' './include/integration_method/BDFn.h' -> '/usr/local/include/edlutkernel/integration_method/BDFn.h' './include/integration_method/BDFn_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/BDFn_GPU.h' './include/integration_method/BDFn_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/BDFn_GPU2.h' './include/integration_method/BiFixedStep.h' -> '/usr/local/include/edlutkernel/integration_method/BiFixedStep.h' './include/integration_method/BiFixedStep_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/BiFixedStep_GPU.h' './include/integration_method/BiFixedStep_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/BiFixedStep_GPU2.h' './include/integration_method/Bifixed_BDFn.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_BDFn.h' './include/integration_method/Bifixed_Euler.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_Euler.h' './include/integration_method/Bifixed_Euler_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_Euler_GPU.h' './include/integration_method/Bifixed_Euler_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_Euler_GPU2.h' './include/integration_method/Bifixed_RK2.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_RK2.h' './include/integration_method/Bifixed_RK2_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_RK2_GPU.h' './include/integration_method/Bifixed_RK2_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_RK2_GPU2.h' './include/integration_method/Bifixed_RK4.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_RK4.h' './include/integration_method/Bifixed_RK4_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_RK4_GPU.h' './include/integration_method/Bifixed_RK4_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/Bifixed_RK4_GPU2.h' './include/integration_method/Euler.h' -> '/usr/local/include/edlutkernel/integration_method/Euler.h' './include/integration_method/Euler_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/Euler_GPU.h' './include/integration_method/Euler_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/Euler_GPU2.h' './include/integration_method/FixedStep.h' -> '/usr/local/include/edlutkernel/integration_method/FixedStep.h' './include/integration_method/FixedStep_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/FixedStep_GPU.h' './include/integration_method/FixedStep_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/FixedStep_GPU2.h' './include/integration_method/IntegrationMethod.h' -> '/usr/local/include/edlutkernel/integration_method/IntegrationMethod.h' './include/integration_method/IntegrationMethod_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/IntegrationMethod_GPU.h' './include/integration_method/IntegrationMethod_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/IntegrationMethod_GPU2.h' './include/integration_method/LoadIntegrationMethod_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/LoadIntegrationMethod_GPU.h' './include/integration_method/RK2.h' -> '/usr/local/include/edlutkernel/integration_method/RK2.h' './include/integration_method/RK2_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/RK2_GPU.h' './include/integration_method/RK2_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/RK2_GPU2.h' './include/integration_method/RK4.h' -> '/usr/local/include/edlutkernel/integration_method/RK4.h' './include/integration_method/RK4_GPU.h' -> '/usr/local/include/edlutkernel/integration_method/RK4_GPU.h' './include/integration_method/RK4_GPU2.h' -> '/usr/local/include/edlutkernel/integration_method/RK4_GPU2.h' './include/interface' -> '/usr/local/include/edlutkernel/interface' './include/interface/C_Interface.h' -> '/usr/local/include/edlutkernel/interface/C_Interface.h' './include/interface/C_interface_for_robot_control.h' -> '/usr/local/include/edlutkernel/interface/C_interface_for_robot_control.h' './include/interface/simulink' -> '/usr/local/include/edlutkernel/interface/simulink' './include/interface/simulink/SimulinkBlockInterface.h' -> '/usr/local/include/edlutkernel/interface/simulink/SimulinkBlockInterface.h' './include/learning_rules' -> '/usr/local/include/edlutkernel/learning_rules' './include/learning_rules/AdditiveKernelChange.h' -> '/usr/local/include/edlutkernel/learning_rules/AdditiveKernelChange.h' './include/learning_rules/BufferedActivityTimes.h' -> '/usr/local/include/edlutkernel/learning_rules/BufferedActivityTimes.h' './include/learning_rules/ConnectionState.h' -> '/usr/local/include/edlutkernel/learning_rules/ConnectionState.h' './include/learning_rules/ExpOptimisedBufferedWeightChange.h' -> '/usr/local/include/edlutkernel/learning_rules/ExpOptimisedBufferedWeightChange.h' './include/learning_rules/LearningRule.h' -> '/usr/local/include/edlutkernel/learning_rules/LearningRule.h' './include/learning_rules/STDPState.h' -> '/usr/local/include/edlutkernel/learning_rules/STDPState.h' './include/learning_rules/STDPWeightChange.h' -> '/usr/local/include/edlutkernel/learning_rules/STDPWeightChange.h' './include/learning_rules/WithPostSynaptic.h' -> '/usr/local/include/edlutkernel/learning_rules/WithPostSynaptic.h' './include/learning_rules/WithoutPostSynaptic.h' -> '/usr/local/include/edlutkernel/learning_rules/WithoutPostSynaptic.h' './include/neuron_model' -> '/usr/local/include/edlutkernel/neuron_model' './include/neuron_model/CompressNeuronModelTable.h' -> '/usr/local/include/edlutkernel/neuron_model/CompressNeuronModelTable.h' './include/neuron_model/CompressSynchronousTableBasedModel.h' -> '/usr/local/include/edlutkernel/neuron_model/CompressSynchronousTableBasedModel.h' './include/neuron_model/CompressTableBasedModel.h' -> '/usr/local/include/edlutkernel/neuron_model/CompressTableBasedModel.h' './include/neuron_model/CurrentSynapseModel.h' -> '/usr/local/include/edlutkernel/neuron_model/CurrentSynapseModel.h' './include/neuron_model/EventDrivenInputDevice.h' -> '/usr/local/include/edlutkernel/neuron_model/EventDrivenInputDevice.h' './include/neuron_model/EventDrivenNeuronModel.h' -> '/usr/local/include/edlutkernel/neuron_model/EventDrivenNeuronModel.h' './include/neuron_model/InputCurrentNeuronModel.h' -> '/usr/local/include/edlutkernel/neuron_model/InputCurrentNeuronModel.h' './include/neuron_model/InputSpikeNeuronModel.h' -> '/usr/local/include/edlutkernel/neuron_model/InputSpikeNeuronModel.h' './include/neuron_model/LIFTimeDrivenModel_1_1.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_1.h' './include/neuron_model/LIFTimeDrivenModel_1_1_GPU.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_1_GPU.h' './include/neuron_model/LIFTimeDrivenModel_1_1_GPU2.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_1_GPU2.h' './include/neuron_model/LIFTimeDrivenModel_1_2.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_2.h' './include/neuron_model/LIFTimeDrivenModel_1_2_GPU.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_2_GPU.h' './include/neuron_model/LIFTimeDrivenModel_1_2_GPU2.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_2_GPU2.h' './include/neuron_model/LIFTimeDrivenModel_1_4.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_4.h' './include/neuron_model/LIFTimeDrivenModel_1_4_GPU.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_4_GPU.h' './include/neuron_model/LIFTimeDrivenModel_1_4_GPU2.h' -> '/usr/local/include/edlutkernel/neuron_model/LIFTimeDrivenModel_1_4_GPU2.h' './include/neuron_model/NeuronModel.h' -> '/usr/local/include/edlutkernel/neuron_model/NeuronModel.h' './include/neuron_model/NeuronModelTable.h' -> '/usr/local/include/edlutkernel/neuron_model/NeuronModelTable.h' './include/neuron_model/NeuronState.h' -> '/usr/local/include/edlutkernel/neuron_model/NeuronState.h' './include/neuron_model/SynchronousTableBasedModel.h' -> '/usr/local/include/edlutkernel/neuron_model/SynchronousTableBasedModel.h' './include/neuron_model/TableBasedModel.h' -> '/usr/local/include/edlutkernel/neuron_model/TableBasedModel.h' './include/neuron_model/TimeDrivenInputDevice.h' -> '/usr/local/include/edlutkernel/neuron_model/TimeDrivenInputDevice.h' './include/neuron_model/TimeDrivenModel.h' -> '/usr/local/include/edlutkernel/neuron_model/TimeDrivenModel.h' './include/neuron_model/TimeDrivenNeuronModel.h' -> '/usr/local/include/edlutkernel/neuron_model/TimeDrivenNeuronModel.h' './include/neuron_model/TimeDrivenNeuronModel_GPU.h' -> '/usr/local/include/edlutkernel/neuron_model/TimeDrivenNeuronModel_GPU.h' './include/neuron_model/TimeDrivenNeuronModel_GPU2.h' -> '/usr/local/include/edlutkernel/neuron_model/TimeDrivenNeuronModel_GPU2.h' './include/neuron_model/TimeDrivenSinCurrentGenerator.h' -> '/usr/local/include/edlutkernel/neuron_model/TimeDrivenSinCurrentGenerator.h' './include/neuron_model/VectorBufferedState.h' -> '/usr/local/include/edlutkernel/neuron_model/VectorBufferedState.h' './include/neuron_model/VectorNeuronState.h' -> '/usr/local/include/edlutkernel/neuron_model/VectorNeuronState.h' './include/neuron_model/VectorNeuronState_GPU.h' -> '/usr/local/include/edlutkernel/neuron_model/VectorNeuronState_GPU.h' './include/neuron_model/VectorNeuronState_GPU2.h' -> '/usr/local/include/edlutkernel/neuron_model/VectorNeuronState_GPU2.h' './include/openmp' -> '/usr/local/include/edlutkernel/openmp' './include/openmp/openmp.h' -> '/usr/local/include/edlutkernel/openmp/openmp.h' './include/simulation' -> '/usr/local/include/edlutkernel/simulation' './include/simulation/CommunicationEvent.h' -> '/usr/local/include/edlutkernel/simulation/CommunicationEvent.h' './include/simulation/Configuration.h' -> '/usr/local/include/edlutkernel/simulation/Configuration.h' './include/simulation/EndSimulationEvent.h' -> '/usr/local/include/edlutkernel/simulation/EndSimulationEvent.h' './include/simulation/Event.h' -> '/usr/local/include/edlutkernel/simulation/Event.h' './include/simulation/EventQueue.h' -> '/usr/local/include/edlutkernel/simulation/EventQueue.h' './include/simulation/ExponentialTable.h' -> '/usr/local/include/edlutkernel/simulation/ExponentialTable.h' './include/simulation/MediananFilter.h' -> '/usr/local/include/edlutkernel/simulation/MediananFilter.h' './include/simulation/ParamReader.h' -> '/usr/local/include/edlutkernel/simulation/ParamReader.h' './include/simulation/ParameterException.h' -> '/usr/local/include/edlutkernel/simulation/ParameterException.h' './include/simulation/PrintableObject.h' -> '/usr/local/include/edlutkernel/simulation/PrintableObject.h' './include/simulation/RandomGenerator.h' -> '/usr/local/include/edlutkernel/simulation/RandomGenerator.h' './include/simulation/RealTimeRestriction.h' -> '/usr/local/include/edlutkernel/simulation/RealTimeRestriction.h' './include/simulation/SaveWeightsEvent.h' -> '/usr/local/include/edlutkernel/simulation/SaveWeightsEvent.h' './include/simulation/Simulation.h' -> '/usr/local/include/edlutkernel/simulation/Simulation.h' './include/simulation/StopSimulationEvent.h' -> '/usr/local/include/edlutkernel/simulation/StopSimulationEvent.h' './include/simulation/SynchronizeActivityEvent.h' -> '/usr/local/include/edlutkernel/simulation/SynchronizeActivityEvent.h' './include/simulation/SynchronizeSimulationEvent.h' -> '/usr/local/include/edlutkernel/simulation/SynchronizeSimulationEvent.h' './include/simulation/TimeEventUpdateNeurons.h' -> '/usr/local/include/edlutkernel/simulation/TimeEventUpdateNeurons.h' './include/simulation/TrigonometricTable.h' -> '/usr/local/include/edlutkernel/simulation/TrigonometricTable.h' './include/simulation/Utils.h' -> '/usr/local/include/edlutkernel/simulation/Utils.h' './include/spike' -> '/usr/local/include/edlutkernel/spike' './include/spike/Current.h' -> '/usr/local/include/edlutkernel/spike/Current.h' './include/spike/EDLUTException.h' -> '/usr/local/include/edlutkernel/spike/EDLUTException.h' './include/spike/EDLUTFileException.h' -> '/usr/local/include/edlutkernel/spike/EDLUTFileException.h' './include/spike/EndRefractoryPeriodEvent.h' -> '/usr/local/include/edlutkernel/spike/EndRefractoryPeriodEvent.h' './include/spike/InputCurrent.h' -> '/usr/local/include/edlutkernel/spike/InputCurrent.h' './include/spike/InputSpike.h' -> '/usr/local/include/edlutkernel/spike/InputSpike.h' './include/spike/Interconnection.h' -> '/usr/local/include/edlutkernel/spike/Interconnection.h' './include/spike/InternalSpike.h' -> '/usr/local/include/edlutkernel/spike/InternalSpike.h' './include/spike/Network.h' -> '/usr/local/include/edlutkernel/spike/Network.h' './include/spike/Neuron.h' -> '/usr/local/include/edlutkernel/spike/Neuron.h' './include/spike/NeuronModelPropagationDelayStructure.h' -> '/usr/local/include/edlutkernel/spike/NeuronModelPropagationDelayStructure.h' './include/spike/NeuronPropagationDelayStructure.h' -> '/usr/local/include/edlutkernel/spike/NeuronPropagationDelayStructure.h' './include/spike/PropagatedCurrent.h' -> '/usr/local/include/edlutkernel/spike/PropagatedCurrent.h' './include/spike/PropagatedSpike.h' -> '/usr/local/include/edlutkernel/spike/PropagatedSpike.h' './include/spike/PropagatedSpikeGroup.h' -> '/usr/local/include/edlutkernel/spike/PropagatedSpikeGroup.h' './include/spike/Spike.h' -> '/usr/local/include/edlutkernel/spike/Spike.h' './include/spike/SynchronousTableBasedModelEvent.h' -> '/usr/local/include/edlutkernel/spike/SynchronousTableBasedModelEvent.h' './include/spike/SynchronousTableBasedModelInternalSpike.h' -> '/usr/local/include/edlutkernel/spike/SynchronousTableBasedModelInternalSpike.h' './include/spike/TimeDrivenInternalSpike.h' -> '/usr/local/include/edlutkernel/spike/TimeDrivenInternalSpike.h' './lib/libedlutkernel.a' -> '/usr/local/lib/libedlutkernel.a'

------------------ installing the pkg-config file to /usr/local/lib/pkgconfig. Remember to add this path to your PKG_CONFIG_PATH variable

jgarridoalcazar commented 2 years ago

So the compilation seems to be running as expected.

According to your first message you are launching the circle_trajectory.launch file. That file uses a network configuration file that uses the following network models:

// Mossy Fibers 240 InputNeuronModel Null 0 0 // Climbing Fibers 600 InputNeuronModel Null 0 0 // Granule cells 60000 LIFTimeDrivenModel_1_1_GPU ../neuron_models/_LIFTimeDriven_Granule_1_1_RK2_4MF 1 0 // Purkinje cells 600 LIFTimeDrivenModel_1_1 ../neuron_models/_LIFTimeDriven_Purkinje_1_1_RK4 1 0 // DCN cells 600 LIFTimeDrivenModel_1_4 ../neuron_models/_LIFTimeDriven_DCN_1_4_RK4 1 0

But according to your error, it references the LIFTimeDrivenModel_1_2_GPU, that is not used there. So I see two options: the error is related to something completely different (maybe it is not reading the network file correctly), or the network file used is different (but it should not be the case).

I'm any case I will need to reproduce the error myself, and I will take several days until I get a computer with the correct setup to compile it.

@iabadiat , Please, let me know if you manage to reproduce the issue in the meanwhile.

wangxRobot commented 2 years ago

Thank you very much for your help! If I set the wrong file path in circle_trajectory.launch, the error message is :

Error while: Loading the network file
In file config_file/trajectory_data_circle/Network_6_joints_10MF_per_RBF_4MF_per_GrC_CIRCLE_NEW_LEARNING_RULE.cfg, line: 1
Error message 38657458208: Can't open the network file
Try to: Ensure that the network file has the proper name and is in the application directory

The error message is different from the one set correctly. The following is the modified content of the circle_trajectory.launch:

<!-- EDLUT SIMULATOR NODE
Launches EDLUT simulator with the specified network and weight files.
Publishes EDLUT generated spikes to output_topic.
Also provides with EDLUT parameter configuration
-->
<node pkg="edlut_ros" name="edlut_simulator_node" type="simulator_node2" output="screen">
  # Define private parameters for the EDLUT simulation
  <!-- EDLUT NETWORK FIlE: -->
    <!-- wrong file path -->
    <param name="network_file" value="config_file/trajectory_data_circle/Network_6_joints_10MF_per_RBF_4MF_per_GrC_CIRCLE_NEW_LEARNING_RULE.cfg" type="str" />
    <!-- <param name="network_file" value="config_files/trajectory_data_circle/Network_6_joints_10MF_per_RBF_4MF_per_GrC_CIRCLE_NEW_LEARNING_RULE.cfg" type="str" /> -->
  <!-- LEARNING FROM SCRATCH WEIGHTS FILE: -->
    <param name="weight_file" value="config_files/trajectory_data_circle/Weights_6_joints_10MF_per_RBF_4MF_per_GrC_CIRCLE.cfg" type="str" />
  <param name="input_topic" value="edlut_ros/simulation/input_spike" type="str" />
  <param name="output_topic" value="edlut_ros/simulation/output_spike" type="str" />
  <param name="clock_topic" value="edlut_ros/clock/simulator" type="str" />
  <param name="Rt1_gap" value="0.70" type="double" />
  <param name="Rt2_gap" value="0.90" type="double" />
  <param name="Rt3_gap" value="0.95" type="double" />
  <param name="number_threads" value="4" type="int" />
  <param name="step_time" value="0.002" type="double" />
  <param name="max_spike_buffered" value="100000000" type="int" />
  <param name="sensorial_delay" value="0.04" type="double" />
  <param name="checking_frequency" value="1000.0" type="double" />
  <param name="output_delay" value="0.000" type="double" />
  <param name="save_weight_period" value="0.0" type="double" />
  <param name="rt_statistics_period" value="10.0" type="double" />
</node>
jgarridoalcazar commented 2 years ago

It seems to be reading the network file, but it is weird that in your error message it is not indicating the file name and the line where the error is found is set to 0.

Error while: Loading the configuration parameters of LIFTimeDrivenModel_1_2_GPU neuron model In file ---file name should be here--- , line: 0 Error message 94493016109: Can't open the neuron model configuration file Try to: Check if the configuration file exist and has the same name that in the network file It looks like it is not reading the fields of the network file in the correct order. Are you compiling the EDLUT code included in this repository? Now that newer and older versions of EDLUT might have different network description fields.

wangxRobot commented 2 years ago

Yes.I compiled the EDLUT source code included in this repository. I found some files about the LIFTimeDrivenModel_1_2_GPU in EDLUT source code,such as LIFTimeDrivenModel_1_2_GPU.h.

This is its comment:

/*!
 * \class LIFTimeDrivenModel_1_2_GPU
 *
 *
 * \brief Leaky Integrate-And-Fire Time-Driven neuron model with a membrane potential and
 * two conductances. This model is implemented in CPU to control a GPU class.
 *
 * This class abstracts the behavior of a neuron in a time-driven spiking neural network.
 * It includes internal model functions which define the behavior of the model
 * (initialization, update of the state, synapses effect, next firing prediction...).
 * This is only a virtual function (an interface) which defines the functions of the
 * inherited classes.
 *
 * \author Francisco Naveros
 * \date May 2013
 */
wangxRobot commented 2 years ago

I solved the above problem by setting Maximum number of characters of a type identificator to 128,because the file path exceeds 64 bytes.And the reason why we didn't use "LIFTimeDrivenModel_1_2_GPU" but it was in the error message is the source code in /EDLUT_BAXTER/EDLUT_BAXTER-master/EDLUT_source_code/src/neuron_model/LIFTimeDrivenModel_1_1_GPU:

void LIFTimeDrivenModel_1_1_GPU::LoadNeuronModel(string ConfigFile) throw (EDLUTFileException){
    FILE *fh;
    long Currentline = 0L;
    fh=fopen(ConfigFile.c_str(),"rt");
    printf("LTD_1_1_GPU");
    printf(ConfigFile.c_str());
    if(fh){
        ...
    }else{
        throw EDLUTFileException(TASK_LIF_TIME_DRIVEN_MODEL_1_2_GPU_LOAD, ERROR_NEURON_MODEL_OPEN, REPAIR_NEURON_MODEL_NAME, Currentline, ConfigFile.c_str(), true);
    }
    fclose(fh);
}

I encountered another problem without any error message.And I couldn't find the log file.

[ INFO] [1648642031.604427020]: Simulator: Simulating network...
[ INFO] [1648642031.604668114]: Simulator: Calling Watchdog
[ INFO] [1648642031.821765257]: Simulator: Starting watchdog...
[ INFO] [1648642031.821800949]: Simulator: Watchdog started...
[ INFO] [1648642046.154854731]: Simulator: Simulating until time 1.000000 with thread 0
[edlut_simulator_node-15] process has died [pid 7663, exit code -9, cmd /home/wangx/EDLUT_BAXTER/EDLUT_BAXTER-master/edlut_ros_ws/devel/lib/edlut_ros/simulator_node2 __name:=edlut_simulator_node __log:=/home/wangx/.ros/log/5952132c-b021-11ec-9b76-ec5c685a5cc9/edlut_simulator_node-15.log].

Have you ever encountered this problem?I would appreciate if you could give me any advice!

jgarridoalcazar commented 2 years ago

I solved the above problem by setting Maximum number of characters of a type identificator to 128,because the file path exceeds 64 bytes.And the reason why we didn't use "LIFTimeDrivenModel_1_2_GPU" but it was in the error message is the source code in /EDLUT_BAXTER/EDLUT_BAXTER-master/EDLUT_source_code/src/neuron_model/LIFTimeDrivenModel_1_1_GPU:

Just to clarify. Did you change the neuron model path in the Network configuration file (Network_6_joints_10MF_per_RBF_4MF_per_GrC_CIRCLE_NEW_LEARNING_RULE.cfg)? Or are you still using "../neuron_models/_LIFTimeDriven_Granule_1_1_RK2_4MF" as included in that file? In principle the 64-character identificator should not be an issue with the file included in the repository.

I encountered another problem without any error message.And I couldn't find the log file.


[ INFO] [1648642031.604427020]: Simulator: Simulating network...
[ INFO] [1648642031.604668114]: Simulator: Calling Watchdog
[ INFO] [1648642031.821765257]: Simulator: Starting watchdog...
[ INFO] [1648642031.821800949]: Simulator: Watchdog started...
[ INFO] [1648642046.154854731]: Simulator: Simulating until time 1.000000 with thread 0
[edlut_simulator_node-15] process has died [pid 7663, exit code -9, cmd /home/wangx/EDLUT_BAXTER/EDLUT_BAXTER-master/edlut_ros_ws/devel/lib/edlut_ros/simulator_node2 __name:=edlut_simulator_node __log:=/home/wangx/.ros/log/5952132c-b021-11ec-9b76-ec5c685a5cc9/edlut_simulator_node-15.log].

In order to get more information on the point where the simulator node died you could change the Log level to debug. You just need to change line 59 in edlut_ros_ws/src/edlut_ros/src/simulator_node2.cpp from:

my_logger->setLevel(ros::console::g_level_lookup[ros::console::levels::Info]);

to

my_logger->setLevel(ros::console::g_level_lookup[ros::console::levels::Debug]);

and rebuild the ROS project.

wangxRobot commented 2 years ago

Yes.When I first added the configs file path to pkg_config_path,I encountered some problem,so I changed the neuron model path. I have changed the Log level to debug,and the simulator node seemed to work for a while before dying.

[DEBUG] [1648702666.045053593]: EDLUT: Received spike: time 1648702650.239031 and neuron 326. Current time: 1648702666.045049. Reference time: 1648702642.991500
[DEBUG] [1648702666.045063040]: EDLUT: Received spike: time 1648702650.229032 and neuron 404. Current time: 1648702666.045059. Reference time: 1648702642.991500
[DEBUG] [1648702666.045072826]: EDLUT: Received spike: time 1648702650.231032 and neuron 404. Current time: 1648702666.045069. Reference time: 1648702642.991500
[DEBUG] [1648702666.045081067]: EDLUT: Received spike: time 1648702650.233032 and neuron 404. Current time: 1648702666.045077. Reference time: 1648702642.991500
[DEBUG] [1648702666.045088853]: EDLUT: Received spike: time 1648702650.235032 and neuron 404. Current time: 1648702666.045084. Reference time: 1648702642.991500
[DEBUG] [1648702666.045097220]: EDLUT: Received spike: time 1648702650.237032 and neuron 404. Current time: 1648702666.045093. Reference time: 1648702642.991500
[DEBUG] [1648702666.045104849]: EDLUT: Received spike: time 1648702650.239032 and neuron 404. Current time: 1648702666.045100. Reference time: 1648702642.991500
[edlut_simulator_node-15] process has died [pid 7261, exit code -9, cmd /home/wangx/EDLUT_BAXTER/EDLUT_BAXTER-master/edlut_ros_ws/devel/lib/edlut_ros/simulator_node2 __name:=edlut_simulator_node __log:=/home/wangx/.ros/log/be4b143a-b0ae-11ec-8cb1-ec5c685a5cc9/edlut_simulator_node-15.log].
log file: /home/wangx/.ros/log/be4b143a-b0ae-11ec-8cb1-ec5c685a5cc9/edlut_simulator_node-15*.log

All spike reference times are the same.

jgarridoalcazar commented 2 years ago

So according to the log the simulation seems to start properly, but there is no much information regarding the reason or the point where it fails.

Is there any way that we can reproduce your error? Are you using Baxter physical robot or simulator? Are you running the repository code as it is? Or are you using other neuron models, network configuration or anything else?

wangxRobot commented 2 years ago

I am using Baxter simulator and running the repository code by using the same neuron models and network configuration files.I will re-download this repository code and try again.Is this related to computer configuration?

jgarridoalcazar commented 2 years ago

It is difficult to say. How long does it take until it ends (in simulated time)? Does the edlut simulator node start sending output spikes? It is complicated to predict the source of the issue if we cannot reproduce it.

wangxRobot commented 2 years ago

I tried again and the information representation on the console indicates that it has been working for some time before dying.

[ INFO] [1648797628.876911297]: Simulator: Calling Watchdog
[ INFO] [1648797628.879440155]: Simulator: Simulating network...
[ INFO] [1648797629.314991819]: Simulator: Starting watchdog...
[ INFO] [1648797629.315027278]: Simulator: Watchdog started...
[ INFO] [1648797645.118472827]: Simulator: Simulating until time 1.000000 with thread 0
[ INFO] [1648797656.074591454]: Simulator: Simulating until time 2.000000 with thread 0
[ INFO] [1648797665.870298477]: Simulator: Simulating until time 3.000000 with thread 0
[edlut_simulator_node-15] process has died [pid 7682, exit code -9

I will try it on another device, but it is Ubuntu 18. Will it have an impact on EDLUT ?

jgarridoalcazar commented 2 years ago

It should not have any impact on EDLUT, but Ubuntu 18 tends to be problematic with Baxter simulator on Gazebo.

iabadiat commented 2 years ago

Does it always crash at the same point (i.e., same simulation time step)?

Ubuntu 18 should work fine with EDLUT, but the ROS package might present some compatibility issues, we have only tested it with Ubuntu 16 and ROS Kinetic.

wangxRobot commented 2 years ago

Thank you for your help. I think this problem is related to the computer performance.It can run on a computer with stronger performance, with Ubuntu 18.

18739467437 commented 1 year ago

@wangxRobot 你好 你是换了版本还是直接解决了问题 可以加下微信吗 我是一名本科生,和你遇到了一样的错误 18739467437