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

Removing runtime dependency on Python

asked 2017-12-20 02:01:52 -0500

ameybits gravatar image

Is it possible to remove runtime dependency of ROS on Python. Catkin, the build system, may need python for code generation from messages; but how difficult it is to use only C++ libs when ROS runs on any target ? Has anybody in the community given a try ?

Thanks in advance !

edit retag flag offensive close merge delete


Could you be a bit more specific about what you mean with "when ROS runs on any target"? Are we just talking a nr of off-board developed nodes which participate in a node graph that is managed also off-board, or a full ROS dev environment?

gvdhoorn gravatar image gvdhoorn  ( 2017-12-20 02:15:46 -0500 )edit

And to avoid an xy-problem: what is it you're trying to achieve? There may be easier ways.

gvdhoorn gravatar image gvdhoorn  ( 2017-12-20 02:16:59 -0500 )edit

Hello gvdhoorn My question was in context of running ROS on an embedded system, which may not have python on. It may be running a custom linux distro built by yocto; just as an example. In this case, is it possible to remove python based packages from ROS and run it with only c++ packages.

ameybits gravatar image ameybits  ( 2017-12-20 02:25:51 -0500 )edit

In general: removing Python from everything will be difficult, as Python is used extensively throughout ROS (the master is pure Python fi). Deploying a subset that doesn't use Python is probably doable, but things like rosrun and roslaunch will not work. Depending on how much convenience ..

gvdhoorn gravatar image gvdhoorn  ( 2017-12-20 02:45:57 -0500 )edit

.. you'd like to maintain, this shouldn't be too much of a blocker though.

As to use of ROS on embedded systems with off-board built rootfs, you might want to take a look at bmwcarit/meta-ros: a "ROS Layer for OpenEmbedded Linux".

gvdhoorn gravatar image gvdhoorn  ( 2017-12-20 02:47:08 -0500 )edit

Yes. The original catkin system can also be leveraged for off-board cross compilation by overriding default compiler and sysroot paths in cmake. Any idea whether python free flavor of ROS is on the contributor's agenda ?

ameybits gravatar image ameybits  ( 2017-12-20 04:16:15 -0500 )edit

I'm not privy to what everyone else is planning to do / doing, but I'm not aware of any work towards something that does not use Python. On the contrary even.

gvdhoorn gravatar image gvdhoorn  ( 2017-12-20 04:21:49 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2017-12-20 07:19:16 -0500

Airuno2L gravatar image

Depending on what all you need to do on the embedded system, you might be able to benefit from rosserial. There is even a version specially for embedded linux and great tutorials.

edit flag offensive delete link more

Question Tools



Asked: 2017-12-20 02:01:52 -0500

Seen: 193 times

Last updated: Dec 20 '17