Cleanest way to add a ROS interface to an existing codebase (CentOS)
I have an existing project based on CentOS 6.5 that controls a vehicle. It has no external interfaces currently and I would like to expose some of the functionality in a ROS node. I am expecting that the ROS master and all the other nodes would run on a separate Ubuntu machine.
To begin with 'all I need' is the ability to publish/subscribe to topics containing custom message types and offer one or two services (with the intentions to offer actions in the future). What is the 'proper' way to go about this? Can I build a subset of the ROS libraries manually and then just include some ROS header files in my own application? How difficult is this likely to be on CentOS (I'm not having much luck so far)? Will I need to get catkin working eventually or can I do this without it?
I have looked at rosbridge as a way round having to build any ROS stuff on the CentOS machine. I love the idea of a defined interface that I can implement one end of. Unfortunately from what I have read I won't be able to advertise services and if we wanted to extend the interface for access to the vehicles cameras at a later date this would be a strange way to do it?
I have a feeling this is going to be a long and painful road and I was hoping someone could point me in the right direction to get me started.
I know similar questions have been asked before but the answers I could find were 2 year+ old (pre catkin?) and I am hoping something might have changed :)