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

Is catkin recommended for use outside of ROS?

asked 2014-02-24 06:59:23 -0500

updated 2016-10-24 08:59:17 -0500

ngrennan gravatar image

I'm going through the exercise of setting up a new project that needs to be combined with other build-from-source pieces, and dealing with many of the same issues catkin was designed to solve: dependency, packaging, finding, etc.

So, my questions are:

  • Is it easy to use catkin with non-ros projects?
  • Are there any ros-specific pieces which will make this difficult?
  • Is there a plan to move catkin out into the wider debian/ubuntu ecosystem / into official apt repositories?
    • I know python-catkin, and python-bloom already are
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-02-24 08:02:31 -0500

William gravatar image

updated 2014-02-25 14:55:48 -0500

tfoote gravatar image

catkin is 100% ROS agnostic. All ROS specific environment variables and settings are setup as hooks into catkin, so that catkin does not depend on ROS.

catkin has been used in non-ROS projects and can be run with only these dependencies:

  • CMake
  • Python
  • catkin_pkg (python library for catkin)

Other tools have varying degrees of ROS integration.

rosdep is used to convert dependency names listed in the package.xml into calls to the system package manager. For example, rosdep will convert boost to sudo apt-get install libboost-all-dev on ubuntu and to brew install boost on OS X.

bloom will generate Debian debs and (as of very recently) Fedora rpms for you, in a ROS agnostic way, but a lot of the features in bloom are ROS specific and specific.

Other tools like catkin_simple do use some ROS specific stuff, but generally can be used without.

As for distribution. Currently we are still working towards a version of catkin which can be easily distributed through Debian proper, but it isn't a huge priority because you can easily bootstrap your build with catkin by just putting catkin's source code into your workspace.

You might even be able to see catkin in this video:

EDIT: More details have been posted here:

edit flag offensive delete link more


Is there a guide for bootstrapping with catkin?

Asomerville gravatar image Asomerville  ( 2014-02-25 07:54:17 -0500 )edit

You just checkout catkin into your workspace, along with your other packages.

William gravatar image William  ( 2014-02-25 08:13:52 -0500 )edit

answered 2014-02-24 07:36:27 -0500

demmeln gravatar image

William Woodall recently mentioned [1] successfully using catkin for a non-ROS project, in particular he was using (the unreleased but seemingly usable) catkin_simple [2]. I'm sure @William can elaborate on the other questions.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-02-24 06:59:23 -0500

Seen: 1,035 times

Last updated: Feb 25 '14