0
$\begingroup$

Rosanswers logo

Hi everybody,

I have a complex application in which I would like to integrate ROS, so as to make a ros node out of it an be able to send messages, call services...

This application is complex and heavy and would not fit well in a catkin workspace (a silly refactoring would be needed). Actually ROS is not very central in this specific application and thus integrating ROS should not require a heavy reorganisation (such as putting the codebase in a catkin workspace).

Is there a way to integrate ROS in an application outside of the catkin workspace? I guess most complex software willing to integrate ROS have the same issue...

Thanks,

Antoine.


Originally posted by arennuit on ROS Answers with karma: 955 on 2015-09-16

Post score: 3


Original comments

Comment by arennuit on 2015-09-17:
Interesting... Can I generate the custom messages in a separate package inside catkin and use the generated msg from my complex application?

Comment by joq on 2015-09-17:
Probably yes. Putting messages into a separate package is the recommended practice, anyway. http://docs.ros.org/api/catkin/html/howto/format2/building_msgs.html .

Comment by William on 2015-09-17:
(moved to answer)

Comment by William on 2015-09-17:
I converted my comments to an answer.

Comment by babu on 2017-03-13:
@arennuit can you please provide a sample listener which is outside of catkin workspace ?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

If it is a CMake project you can just find_package(roscpp REQUIRED), find_package(std_msgs REQUIRED), and so on. Then use the resulting _INCLUDE_DIRS and _LIBRARIES CMake variables to integrate it into your project. You'll start to have issues when you want to generate custom messages.

From @arennuit

Interesting... Can I generate the custom messages in a separate package inside catkin and use the generated msg from my complex application?

Sure. The reason the messages need to be generated within a catkin package is that the fully qualified name of messages includes the package they are from. Other than message, service, action, and dynamic reconfigure generation, the rest (I think) can be done outside of a catkin package.


Originally posted by William with karma: 17335 on 2015-09-16

This answer was ACCEPTED on the original site

Post score: 3

$\endgroup$

Your Answer

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