Ask Your Question

How to integrate libcreate in an own ros package - (turtlebot1)

asked 2016-11-30 17:57:08 -0500

Markus gravatar image

Hey there,

what I recently did was installing a ROS driver for a roomba 521 (similar to a turtlebot1). I cloned this files in my catkin_ws/src/create_autonomy and then I just catkin_make them. All works fine. Now what I found out is that this ROS driver relies on a libcreate library. This library is however build in catkin_ws/devel/src/libcreate.

What I want to do next is create an own package (e.g: catkin_ws/src/roomba_521) and in this package I would like to have some c++ files which somehow include this library, so that I can use functions etc.

(1) That is why I would like to ask how and where do I have to install the libcreate library

(2) How do I have to reference to this library e.g. in a c++ file / just include these files?

edit retag flag offensive close merge delete


Wait, catkin_ws/devel/ only has include, lib, and share. Where is the src? Also how did you link libcreate and create_autonomy?

Usui gravatar image Usui  ( 2019-06-23 23:32:50 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-12-01 13:30:47 -0500

jacobperron gravatar image

updated 2019-07-02 11:39:01 -0500

You can use this dev branch of create_autonomy (EDIT: merged) as a reference. This assumes that libcreate is installed as a catkin package (currently by cloning libcreate into your workspace and building with catkin). Then, in your package.xml you can add build/run dependencies to libcreate, include/link in your CMakeLists.txt (example), and include the header create/create.h and make API calls in your code (example). Hope it helps.

edit flag offensive delete link more


Thanks Jacob ;) that was easier as I thought! I got it. I also would like to use your code and libcreate library for my own project which is specefic for the roomba 521. Do I have your permission to create an own github repository witch contains code that is very similar to yours?

Markus gravatar image Markus  ( 2016-12-02 06:11:47 -0500 )edit

Yes, as long as you adhere to the 3-clause BSD license. Is there a core feature that create_autonomy is missing that you cannot just use that?

jacobperron gravatar image jacobperron  ( 2016-12-02 11:47:29 -0500 )edit

No your code is working perfect. Anyway I just would like to experiment a little bit with it and simply git clone this modified code that is why I am thinking about making my own repository. I hope this is ok for you? Anyway I found out that I am not able to execute dual processes on the roomba.

Markus gravatar image Markus  ( 2016-12-03 12:08:59 -0500 )edit

Dual Processes on the roomba: I was for example not able to simultanously play a song and change the colour of the power clean led light.

Markus gravatar image Markus  ( 2016-12-03 12:09:54 -0500 )edit

OK. If you end up improving the functionality of the driver, pull requests are welcome :)

jacobperron gravatar image jacobperron  ( 2016-12-03 14:53:08 -0500 )edit

of course I will let you know if I have something.

Markus gravatar image Markus  ( 2016-12-05 02:30:58 -0500 )edit

@jacobperron your links doesn't lead to any page. Could you re upload it?

Usui gravatar image Usui  ( 2019-06-23 23:34:10 -0500 )edit

@Usui updated.

jacobperron gravatar image jacobperron  ( 2019-07-02 11:39:22 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2016-11-30 17:57:08 -0500

Seen: 323 times

Last updated: Jul 02 '19