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

How to distribute a package which is not a ROS package but could interest ROS community ? [closed]

asked 2014-10-17 07:05:16 -0500

bchiffreville gravatar image

updated 2014-10-22 10:07:33 -0500

Hello everybody !

I am currently an intern in a research center which developed a programming language for signal processing : Faust. My goal is to write some code in order to allow ROS users to use faust applications.

My question is : should I create a specific ROS package, following the DevelopersGuide, in order to distribute my work to ROS Community ? This implies some maintenance issues, because two separate packages aren't that easy to maintain. The other possibility could be to integrate my codes to the faust package, available on Source Forge and git, and tell ROS Community "Hey there ! Let's try this wonderful new programming language ! It's available for ROS, you just have to download faust package !". The problem would be that users would have to download an entire package with files concerning Windows, for instance, and use only 5 or 6 files...

What do you think ? Your ideas would be very helpful to me =)


EDIT : I wrote some documentation to explain how to use Faust in a ROS package. It is available here (using-faust-with-ros.pdf). In the current state, you compile a Faust file into a cpp file, which is created in a catkin package - in a catkin workspace or in a zip file. Then, you just have to make your catkin workspace and run the generated executable.

For instance, I tested it on a kinect and harpe node : using the depth values, I could play harpe by subscribing to a depth value topic (after some image processing). Don't know if it's clearer now ?

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by bchiffreville
close date 2014-10-23 02:39:00.563042

1 Answer

Sort by ยป oldest newest most voted

answered 2014-10-17 10:55:54 -0500

paulbovbel gravatar image

The optimal route would be to release Faust into the ubuntu ecosystem (which would allow adoption/usage outside of ROS ), and then release a package with ROS-specific wrappers, APIs and documentation as a ROS package with a system dependency on libfaust.

The other option, which may involve (slightly) less work is to release Faust as a 3rd party package, however this would limit the library's exposure to ROS users only.

IMO maintaining an ubuntu package would not actually involve twice the maintenace, as the ROS wrapper would be unaffected as long as the API is stable.

edit flag offensive delete link more


+1 for introducing multiple options. But the following sentence isn't accurate:

however this would limit the library's exposure to ROS users only.

To obtain the packages released as 3rd party in ROS, your machine should point to ROS repository. But that's the only limitation for using them IMO.

130s gravatar image 130s  ( 2014-10-17 21:14:52 -0500 )edit

Hi! Thanks for your answer! In fact, there already exists a faust Ubuntu package. It's quite long to explain what I did, but I tried to write some documentation. It is the file called using-faust-with-ros.pdf : here

bchiffreville gravatar image bchiffreville  ( 2014-10-22 09:55:49 -0500 )edit

Well, then option 1 becomes even easier, assuming that the faust API is relatively stable/mature. Uou should be able to create a ROS wrapper/convenience package, with faust as a system dependency (add it to rosdep).

paulbovbel gravatar image paulbovbel  ( 2014-10-22 11:17:17 -0500 )edit

Great ! Thank you very much for your help ! I'll work on my package now ;)

bchiffreville gravatar image bchiffreville  ( 2014-10-23 02:38:28 -0500 )edit

Question Tools



Asked: 2014-10-17 07:05:16 -0500

Seen: 239 times

Last updated: Oct 22 '14