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

Which programming language have mature and maintained client libraries?

asked 2018-07-27 01:35:27 -0500

pepijndevos gravatar image

Looking at http://wiki.ros.org/Client%20Libraries it appears as if a lot of languages have ROS client libraries. However, upon closer inspection, half of the ones I looked at have not been updated in years and provide only the bare minimum features.

Are there any bindings outside Python and C++ that are mature enough to be used in anything more than a toy project?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-07-27 02:49:04 -0500

gvdhoorn gravatar image

updated 2018-07-27 02:57:05 -0500

Looking at http://wiki.ros.org/Client%20Libraries it appears as if a lot of languages have ROS client libraries. However, upon closer inspection, half of the ones I looked at have not been updated in years and provide only the bare minimum features.

And I believe the page also makes that clear: apart from roslisp, roscpp and rospy, all other client libraries are listed under Experimental client libraries.

But without further quantifying it: roseus, rosjava (and consequently rosandroid) and rosnodejs are pretty ok. Some won't have feature parity with roscpp and/or rospy, but that is to be expected.


Edit:

Are there any bindings outside Python and C++ that are mature enough to be used in anything more than a toy project?

I understand this is a common phrase when talking about suitability of software for a particular purpose, but I don't feel it really helps any discussion. What I consider "toy projects" could be your final project in your MSc, a very complex project for me could be a "toy project" for the next guy, and so on.

The suitability of a particular piece of software will always have to be determined relative to a set of requirements and constraints, and as such, any of the client libraries listed on that page could be more than sufficient in certain situations.

If all I need is to get a bare message from a Windows UI across to a ROS application hosted on an Ubuntu machine and I happen to work in R, chances are that rosR provides sufficient functionality for that. The fact that it may not have support for actions or dynamic reconfigure or other more 'advanced' functionality is completely unimportant as long as it covers my primary requirement(s).

edit flag offensive delete link more

Comments

Note also btw: there are a few more libraries not listed on that page (like rosserial and RobotWebTools' roslibjs).

gvdhoorn gravatar image gvdhoorn  ( 2018-07-27 02:50:19 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2018-07-27 01:35:27 -0500

Seen: 148 times

Last updated: Jul 27 '18