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

ROS beginner questions

asked 2012-07-25 05:20:40 -0500

Peter Roos gravatar image

updated 2012-07-25 09:56:37 -0500


I'm pretty new to robot programming, so I don't have much experience in this topic yet. My task at univerity is to compare using ROS to our Pioneer P3AT's default library called ARIA. My goal is to answer this question: if our project is to make this Pioneer P3AT follow a predefined path and make corrections by the incoming positions - provided by an iGPS system - if the robot doesn't follow the planned path (for example it skids), then do we benefit from using ROS, and ROSARIA (P2OS), or should we just stick with the AIRA libraries. Does programming in ROSARIA result in more general code that can be reused if we change the P3AT to a different robot? If I understand well, the ROSARIA is a wrapper around the ARIA packet; and P2OS is a "driver" for robots like the Pioneer P3AT.

What are the pros/cons?

Thank you in advance!


Does ROS have a general open source controlling system like the Player/Stage, or is it only using ARIA? If I want to use some algorithm found on in some package, will it use ARIA? How do I know which packages are 'compatible'. I started reading 'Programming Mobile Robots with ARIA and Player' by Amanda Whitbrook, it has cleared some points for me, but the book doesn't speak about ROS at all. So my question really is how does programming compare with or without ROS. With only ARIA, I use the ARIA C++ library, and that's all. If I use ROS, will I still use ARIA with some neat tools provided by this meta-operating system? Or will the programming procedure change?

edit retag flag offensive close merge delete



Hi, you should tag your question, so the right people see it. Further it seems hard to answer your question for a comparison without knowledge about ARIA. Maybe you should rather ask about the properties of ROS regarding code reuse.

Felix Endres gravatar image Felix Endres  ( 2012-07-25 06:30:25 -0500 )edit

I've been reading a lot since, and so is my opinion right that ROSARIA is not really a wrapper 'general language' for generally developing robotics software, but only a node for the ROS system, with subscribed and published topics that can be used effectively in a ROS node system.

Peter Roos gravatar image Peter Roos  ( 2012-07-25 07:27:05 -0500 )edit

So basically I'll still use ARIA (aria.h header, etc.) if I use ROSARIA and ROS, and these latter are systems responsible for making the development easier and more effective based on developers experiences so far (peer to peer connections, multi-lingual system, IDL, and so on).

Peter Roos gravatar image Peter Roos  ( 2012-07-25 07:29:39 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2012-07-25 08:19:27 -0500

Ryan gravatar image

updated 2012-07-25 12:43:41 -0500

In general, the answer I posted here may help at little.

More specifically, I've never used ARIA, but from the ROSARIA wiki page I would surmise that most of your work will be done in ROS, with only a little bit of interfacing with ARIA. It looks like ARIA is a pretty thin package that just serves as a bridge to your hardware. Once you've got it connected, you'll primarily be using the ROS tools (Gazebo, rviz, navigation stack, etc), and your core algorithms will not care or know about the specifics of the robot hardware. They'll only need to know about the topics which RosAria publishes and subscribes to.

edit flag offensive delete link more

Question Tools


Asked: 2012-07-25 05:20:40 -0500

Seen: 503 times

Last updated: Jul 25 '12