0
$\begingroup$

I want to build a low cost robot, running ROS for educational purposes. It can be a simple line follower using raspberry pi and an IR sensor. Is it overambitious as a beginner project? How difficult is it to make ROS run on custom hardware?

P.S. I am newbie in both robotics and programming and I am more interested in building actual robots than running simulations. Also, I cant afford to buy ROS compatible robots.

$\endgroup$

closed as primarily opinion-based by Ben, Mark Booth Feb 27 '16 at 19:02

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ Hi Siddhesh, the Raspberry PI is well suited for your line follower, but there'll be many, many more tutorials if you use an Arduino. The Pi is a full-fledged computer, and you only really need a small, specialized Arduino. Using ROS here is like using a sledge hammer when you need to hammer in a nail. :) $\endgroup$ – Ryan Loggerythm Feb 26 '16 at 20:25
  • $\begingroup$ Hi Ryan, my goal is to learn ROS, not to build line follower. I wanted to know how difficult it is to run ROS locally on pi and will I need to write any code (drivers ?) for acquiring data from sensor (It can be any sensor IR sensor, Kinect etc. ) ? $\endgroup$ – Siddhesh Feb 27 '16 at 2:29
2
$\begingroup$

It is not extremely difficult to achieve this. It is probably a great way to learn after you complete the main ROS tutorials. Using ROS will get you free joystick or keyboard teleoperation of your bot along potential integration with the ROS navigation stack.

You have the choice of either interfacing with your robot hardware using the GPIO onboard you raspi or using a microcontroller and interfacing that with the computer using rosserial. I would recommend using rosserial and an Arduino because controlling a small robot and reading analog sensors is better documented on the Arduino platform. Either way is totally doable though. Good Luck!

$\endgroup$
  • 1
    $\begingroup$ Using a microcontroller is indeed the better option here but not only because of the reason you have mentioned - better documentation. It's getting the timings right. When you run something on a Pi, you have to deal with the latency that comes from the kernel itself (Pi uses a normal and not a low-latency kernel). Approx. 2 months ago I was playing with some servos and steppers by controlling these using buttons and I was astonished how visible the delays were. If you use a mC you can easily avoid these by using interrupts. $\endgroup$ – rbaleksandar Feb 28 '16 at 23:16

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