0
$\begingroup$

Rosanswers logo

I'm an amateur/hobby roboticist who loves robots but has only built a couple of simple, fairly dumb Arduino- and AVR-based robots that can avoid obstacles (most of the time), wander around aimlessly, etc.

I'd like to advance my skills, and learning to develop in ROS is an obvious place to start. I do have software development experience as a web developer (+12 years), and some experience with Python.

My robot will be an autonomous rover based on the 6WD Wild Thumper (34:1 gear ratio) chassis, using either a Radxa Rock Pro or Raspberry Pi 2 (haven't decided which yet), with an AVR ATmega1284 (possibly more than one) working as an intermediary to control the motors and possibly other peripherals, such as sensors, Bluetooth comms, etc.

My question is, I'm not sure of the best way to get started with ROS. There seem to be multiple good entry points to working with ROS; e.g. the ROS tutorials, of course. But while googling ROS tutorials today, I stumbled onto the MoveIt! project, which I had not heard of before.

The MoveIt! FAQ page said it MoveIt! is quickly becoming the preferred entry point to ROS development (for n00bs like me, presumably). However, some of the pictures and text on the home page cause me to wonder if the MoveIt! project isn't intended for mobile-manipulator-type robots, like stationary robotic arms and such. On the other hand, it did include robots like PR2 and other mobile robots in its list of supported robots. So, I guess, in short, I'm asking if the MoveIt! project would be appropriate and/or ideal for a complete ROS beginner.

Secondly, I wanted to ask whether diving into a somewhat complex project like the one I described above with the Wild Thumper chassis, with multiple devices involved, is the wisest approach, or whether it might be better to begin with a fairly simple project, like taking my new Raspberry Pi 2, installing ROS on it, and interfacing it with a single sensor, or something like a Bluetooth module. Is it reasonable to use a mobile rover-type robot project as your first intro to ROS (or MoveIt!), or would it be better to start small?

I've been wanting to learn ROS for a long time and just reached a long break in school (I'm a pre-engineering undergrad student, planning to major in electrical engineering), during which time I'll have almost 4 weeks of uninterrupted time in which to get comfortable with ROS programming.

Any advice, links, recommendations, etc., are quite welcome. Thank you!


Originally posted by tommytwoeyes on ROS Answers with karma: 57 on 2015-12-08

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Hi,

since my robot is based on a 4wd wild thumper I probably should tell you that in order for the ros navigation stack to work your vehicle needs to do odometry. Probably the easiest way for you is to replace the middle motors with a version with encoders, e.g. this one. My setup is indeed very similar. I have a Hummingboard which controls one Atmega32 for the drive and one Atmega328 for the other electronic (sonar/ir distance sensors, voltage monitoring etc) over I2C. Main navigation sensors is an Asus xtion.

For starters I would recommend to start with the ros tutorials, then interface your hardware and finally look at the ros navigation tutorials.

Moveit is basically for manipulators and if you look closely you will see that the PR2 has two of them.


Originally posted by Humpelstilzchen with karma: 1504 on 2015-12-10

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by tommytwoeyes on 2015-12-21:
Oh, great! I was planning to get the encoder-equipped motors from Pololu, of course, since odometry is important. But I did not realize ROS wouldn't work without it. That sucks, because it may be a while before I can afford those motors.

Comment by Humpelstilzchen on 2015-12-22:
That ros will not work, was a bit misphrased, the navigation stack will not work. There are also other possibilities like using Hector Mapping or rtabmap. You can also try to attach encoders to your current motors.

Comment by tommytwoeyes on 2017-01-11:
Humpelstilzchen How's the community activity & support for the Hummingboard? It's a Pi clone, isn't it? I don't know much about it, but if I remember correctly, it has more RAM than the Pi 3. Was it easy (or at least, as easy as with the Pi) to get ROS installed and your robot running with it?

Comment by Humpelstilzchen on 2017-01-11:
My Hummingboard has 1GB RAM, so its equal to the rpi3 here. I started this project around two years ago, thats why rpi was not an option.The Hummingboard (i.mx6) Linux community is really good and active. For ROS I choosed to compile from source on Debian jessie, which I do not recommend.

Comment by Humpelstilzchen on 2017-01-11:
Afaik there is no ready to use ros image for the Hummingboard. Also I'm currently evaluating if the Cortex-A53 of the rpi3 delivers more power/watt as the Hummingboards older Cortex-A9 for my use case, so maybe I'll switch..

$\endgroup$

Your Answer

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