ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Neural network and machine learning ?

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

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

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 -0600

Victor Lopez gravatar image

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

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 image Arkapravo  ( 2012-03-12 01:57:52 -0600 )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 image Victor Lopez  ( 2012-03-12 03:34:28 -0600 )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 image Arkapravo  ( 2012-03-12 03:44:39 -0600 )edit

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

Pi Robot gravatar image Pi Robot  ( 2012-03-12 04:25:24 -0600 )edit

@Pi Robot Thank you - will check it out !

Arkapravo gravatar image Arkapravo  ( 2012-03-12 04:53:58 -0600 )edit

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

Astronaut gravatar image Astronaut  ( 2013-08-04 22:12:29 -0600 )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 image Victor Lopez  ( 2013-08-06 22:14:33 -0600 )edit

Ok, thanks. My email adress is

Astronaut gravatar image Astronaut  ( 2013-08-06 22:51:18 -0600 )edit

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

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 image Emad_Mohammed  ( 2018-05-26 18:55:21 -0600 )edit

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

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

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 -0600

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

Question Tools



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

Seen: 11,827 times

Last updated: Mar 12 '12