Ask Your Question
0

Does ROS source installation variant "mobile" work?

asked 2019-11-22 18:20:52 -0600

jordan gravatar image

updated 2019-11-23 13:04:32 -0600

Raspberry Pi 3, ROS Kinetic, Ubuntu 16.04 (32-bit)

The "robot" variant works fine. But it does not include navigation stack and what I would consider other mandatory packages. So I tried "mobile", like this:

rosinstall_generator mobile --rosdistro kinetic --deps --wet-only --tar > kinetic-mobile-wet.rosinstall wstool init -j8 src kinetic-mobile-wet.rosinstall

Result:

The following unreleased packages/stacks will be ignored: mobile
No packages/stacks left after ignoring unreleased

Which seems to suggest that variant is not working.

Is there a way to add the navigation stack (and other packages) after the fact, into the "robot" variant?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-11-23 06:01:00 -0600

gvdhoorn gravatar image

updated 2019-11-23 11:50:47 -0600

tl;dr: there is no mobile variant. So the error you receive would seem to be expected.


All variants are defined in REP 150: ROS Melodic and Newer Metapackages.

For ROS Melodic, they include:

  • ros_core
  • ros_base
  • robot
  • perception
  • simulators
  • viz
  • desktop, and
  • desktop_full

mobile is not a defined variant.

Where did you see it mentioned?

it does not include navigation stack and what I would consider other mandatory packages

The navigation packages are not included in any variant. Or at least, not in a variant defined by REP 150.


Edit:

Thanks for pointing out REP 150. I was not aware of that REP, as I was simply following what appears in: http://wiki.ros.org/Installation/Source

ie. "In addition to the 3 variants above, more are defined in REP 131 such as robot..."

Looks like that page needs to be updated for Melodic and should point to REP 150.

Note that REP 131 DOES include "mobile" (and also navigation!).

Yes, it does.

I am surprised to find that REP 150 contains no variant that includes navigation. What is the thinking behind that?

I'm not sure. It looks like mobile (and some of the other variants) already didn't appear any more in REP-142 (which was submitted in ros-infrastructure/rep#71).

I've tried to find related discussions on the old ROS mailing lists, but nothing really turns up.

Perhaps @tfoote remembers why those variants were removed.

How should I build from source to include navigation?

The top-level (ie: meta) package for navigation appears to be called navigation (who'd have thought? ;)).

So you should be able to do something like this:

rosinstall_generator --rosdistro=kinetic --tar --deps navigation > navigation.rosinstall

That should get you all packages in the navigation metapackage.

But: please make sure you actually need to build things from source. You state you are running "ROS Melodic, Ubuntu 18.04 (64-bit)" on an RPi. If I'm not mistaken, that would be bionic on arm64 (or ARMv8). According to this page there are plenty of binary packages available for that combination.

Refer to #q320046 for information on how to figure out when something is available as a binary package, and for which platforms.


Edit 2:

Thanks for the comments and suggestions. Yes, I do indeed actually need to build from source.

As long as you are absolutely sure.

And I would like the equivalent of "mobile" as specified in REP 131. But regarding your suggestion:

rosinstall_generator --rosdistro=kinetic --tar --deps navigation > navigation.rosinstall

... the above just gives me the navigation sources and omits everything else. So, manually merge the two 'src' trees (obtained from variants navigation and base)? Or what?

there is no need to manually do anything. Either:

  • ask wstool to merge in the new .rosinstall file, or
  • supply rosinstall_generator with more package names instead of just the one. Like so:

    rosinstall_generator --rosdistro=kinetic --tar --deps robot navigation slam_gmapping laser_pipeline perception_pcl > robot_and_navigation.rosinstall
    

Refer to the rosinstall_generator --help for more information on which ... (more)

edit flag offensive delete link more

Comments

Thanks for pointing out REP 150. I was not aware of that REP, as I was simply following what appears in:

http://wiki.ros.org/Installation/Source

ie. "In addition to the 3 variants above, more are defined in REP 131 such as robot..."

Note that REP 131 DOES include "mobile" (and also navigation!).

I am surprised to find that REP 150 contains no variant that includes navigation. What is the thinking behind that?

How should I build from source to include navigation?

jordan gravatar imagejordan ( 2019-11-23 09:49:11 -0600 )edit

Thanks for the comments and suggestions. Yes, I do indeed actually need to build from source. And I would like the equivalent of "mobile" as specified in REP 131. But regarding your suggestion:

rosinstall_generator --rosdistro=kinetic --tar --deps navigation > navigation.rosinstall

... the above just gives me the navigation sources and omits everything else. So, manually merge the two 'src' trees (obtained from variants navigation and base)? Or what?

jordan gravatar imagejordan ( 2019-11-23 11:16:33 -0600 )edit

Sorry. My bad. Too many projects. The platform I'm actually using to test this is:

Raspberry Pi 3, ROS Kinetic, Ubuntu 16.04 (32-bit)

I've updated the original wording to reflect that.

jordan gravatar imagejordan ( 2019-11-23 13:05:48 -0600 )edit

No problem.

Doesn't change my answer.

gvdhoorn gravatar imagegvdhoorn ( 2019-11-23 13:13:19 -0600 )edit

It worked. Thanks for your help!

jordan gravatar imagejordan ( 2019-11-23 21:43:41 -0600 )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

Stats

Asked: 2019-11-22 18:20:52 -0600

Seen: 36 times

Last updated: Nov 23 '19