8
$\begingroup$

I'm a beginner in robotics and I'm planning to do a basic navigation problem for differential drive robot. I know the concept involved and can code it in the arduino but I came to know about ROS and other robotic toolbox.

How is it useful if I wanted to improve myself in the concepts from scratch?

$\endgroup$

1 Answer 1

11
$\begingroup$

I think it is safe to say that ROS adds a lot of value to many robotics applications, but it definitely isn't appropriate for every robotics application

In fact, the ROS website has a series of pages that address that very point. These pages explain

The single major disadvantage with ROS is actually the time that it takes to learn ROS. It is not an easy learning-curve for people new to robotics, and it can take a long time before you are able to enjoy the benefits.

That said, there are now rather more "accessible" texts on ROS available on the market. For example, A Gentle Introduction to ROS and ROS Robotics By Example. These can make that learning-curve a little less daunting.


In your specific case, where you are looking at coding for a basic navigation problem for a differential drive robot using an Arduino, it is unlikely that ROS would be appropriate. It isn't possible to run ROS on an Arduino (although it is perfectly possible to run ROS on a Raspberry Pi).

$\endgroup$
2
  • 3
    $\begingroup$ I'd like to add that another major disadvantage of ROS is that it's not real-time. So if you have anything "serious" (that is used in a feedback control loop e.g.), ROS is not the right choice. $\endgroup$
    – Shahbaz
    Aug 28, 2017 at 20:05
  • 1
    $\begingroup$ @Shahbaz You're right that ROS isn't a real-time framework, although it is possible to integrate ROS with real-time code. e.g. pr2_etherCAT and the Orocos Real-time Toolkit $\endgroup$ Aug 28, 2017 at 20:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.