ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A
Ask Your Question

Neural network and machine learning ?

asked 2012-03-11 03:25:36 -0500

Arkapravo gravatar image

updated 2014-01-28 17:11:37 -0500

ngrennan gravatar image

Is there a ROS node/facility to implement machine learning via Artificial Neural Network (ANN) ? I know, I can write my own C++ and Python codes. However since topics as navigation, SLAM and face recognition has some inbuilt resources at ROS, so I was hoping that ANN may also have such a node/package.

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted

answered 2012-03-11 23:01:46 -0500

Victor Lopez gravatar image

updated 2012-03-11 23:01:58 -0500

I used PyBrain to create a reinforcement learning application that was using gazebo simulator with pr2, and had rewards based on the topics published by the simulator and the robot nodes.

I believe that the ANN doesn't need to be part of ROS, you just need to implement your publishers subscribers.

By the way, pybrain is pretty powerful, and the ANN has an ok documentation, but the reinforcement learning classes are awfully documented.

edit flag offensive delete link more


@Victor Are your codes/ideas on the public domain ?

Arkapravo gravatar imageArkapravo ( 2012-03-12 01:57:52 -0500 )edit

No, as it was just an experiment for a course at my AI master, but I'll gladly send it to you by email if you are interested.

Victor Lopez gravatar imageVictor Lopez ( 2012-03-12 03:34:28 -0500 )edit

@Victor Thank you, please send it to my email arkapravobhaumik at gmail dot com. In case I make any fruitful use of your work, I will cite you/your lab etc.

Arkapravo gravatar imageArkapravo ( 2012-03-12 03:44:39 -0500 )edit

@Arkapravo OpenCV also includes a fairly extensive collection of machine learning routines including neural networks. See

Pi Robot gravatar imagePi Robot ( 2012-03-12 04:25:24 -0500 )edit

@Pi Robot Thank you - will check it out !

Arkapravo gravatar imageArkapravo ( 2012-03-12 04:53:58 -0500 )edit

@Victor can I have also copy of your codes/ideas?

Astronaut gravatar imageAstronaut ( 2013-08-04 22:12:29 -0500 )edit

Sure just let me know your email address. Recently I've been experimenting with what Arkapravo suggests, and I find opencv Machine Learning library much more powerful than pybrain and better documented. I would go with that one

Victor Lopez gravatar imageVictor Lopez ( 2013-08-06 22:14:33 -0500 )edit

Ok, thanks. My email adress is

Astronaut gravatar imageAstronaut ( 2013-08-06 22:51:18 -0500 )edit

answered 2012-03-12 02:43:06 -0500

Bence Magyar gravatar image

I'd recommend this:

  • Python
  • open source
  • good tutorials
  • widely used
  • effective where needed, for example: using LibSVM under the SVM classes
edit flag offensive delete link more


@Victor could you send me the same files if you do not mind? emadmahrousawwad at gmail dot com

Emad_Mohammed gravatar imageEmad_Mohammed ( 2018-05-26 18:55:21 -0500 )edit

answered 2012-03-11 23:23:08 -0500

updated 2012-03-11 23:26:40 -0500

I used libSVM and shogun wrapped around with a ros node that subscribes/publishes learning-specific data. But I guess you would need something else if you are to use ANN.

An up-to-date list that shows what most popular ML tools support can be seen here.

edit flag offensive delete link more

answered 2012-03-11 10:52:28 -0500

Mac gravatar image

So far as I know, there is not. However, I'd be stunned if there weren't existing python or C++ libraries for these kinds of operations; writing ROS nodes that use such libraries is easy.

(In fact, making it easy to interface with other libraries is the _point_ of ROS)

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2012-03-11 03:25:36 -0500

Seen: 9,207 times

Last updated: Mar 12 '12