ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

New package: Move base sequence

Hello,

I’m happy to announce that my move_base_sequence package is now available on ROS Kinetic/Melodic/Noetic.
Link to GitHub repo: GitHub
Link to ROS Wiki: ROS Wiki

This is simply a ROS package that uses a ROS Action server to manage sending multiple goals to the navigation stack action server on a robot in order to achieve them one after another. The package handles everything regarding the goals: receiving, storing, sending, error handling… etc.

The package was made as a part of my graduation project, which will be itself published very soon as well along with other parts of it that can be standalone projects, just like this one. It is very useful when you need to make your platform navigate through some checkpoints, which were determined by a user or another piece of software, autonomously. Such applications may include:

  • Security robots that continuously scan specific areas.
  • Quality assurance robots that regularly check on products.
  • Fruit picking robots.

In the repo or the ros wiki page, you can find an example of the package running on the turtlebot3.

I hope to see this package helping others in their projects. Please use it, report any issues in it, and contribute to it if you can.

Best wishes,
Mark

1 Like

Hi Mark,

Thanks fore creating this package and sharing. It does indeed sound like a useful package for many applications. Two questions come to mind before adopting this:

  1. Are you committing to maintaining this package? For instance, do you plan to port this to ROS2? “The package was made as a part of my graduation project” makes it sounds it might be end-of-life very soon already.
  2. I noticed it is licensed under GPL-3. Doesn’t this means that companies cannot use it on robots they sell/lease without open-sourcing their entire robot-code base as well? Would you consider a non-copyleft license like MIT/BSD/Apache instead?

Thanks.

IANAL, but process boundaries are typically understood to be sufficient protection against license contamination. I haven’t checked, but IIUC, the package provided by the OP is not linked against, but the node(s) are started from it.

As ROS 1 nodes are by definition processes, nodes covered by a copyleft license don’t necessarily affect other parts of a system.

2 Likes

Hello,

Thank you for your interest in the package. For the first question, I am planning to migrate to ROS2, and I will be maintaining the package. Of course if things got too complicated, I will be looking for more maintainers. But till now, it’s only me.
About the second question, I think ROS itself is an open-source project and I’m not familiar with the process of including open-source code in commercial products. We can discuss this via email if you’re interested.
Thanks.

If you don’t care about the license, switch to BSD or MIT :slight_smile:

4 Likes

Okay, I’m just used to put this license when publishing anything. I will search about that to see what would be better :slightly_smiling_face:. Thanks.

There’s probably something a little more suitable for products in ROS2 already in the Nav2 Waypoint Follower Waypoint Follower — Navigation 2 1.0.0 documentation. This also includes more than just going to a waypoint, but also a plugin based interface for tasks to be completed at each waypoint (since your robot probably wants to do something at a particular goal you navigated to). We provide plugin implementations of taking pictures, waiting for user input, and pausing for a fixed duration batteries-included.

2 Likes

Thank you for the comment :smiley:. I will refer to the Waypoint follower at the Wiki page as a better way for waypoint navigation for ROS2 users, and probably not consider moving this package to ROS2, this is a much better implementation.

license file deleted

move_base_sequence/package.xml at main · MarkNaeem/move_base_sequence · GitHub Still set in the manifest :slight_smile:

Rather than deleting it, you should replace with another (no license is more problematic than a restrictive one :slight_smile: )

1 Like

Updated to MIT. Didn’t know that GitHub can actually change licenses (It makes me wonder what would happen if a project’s license changes from copyright to copyleft). Anyways, Thank you for your help.

1 Like

If you are the copyright holder then you can change the license…however it only is applied to the next release. So anyone could go back and fork from an old release/version that had a different license and use that.

If you aren’t the copyright holder you could still change the license for a new release if you get explicit permission from the copyright owner(s) to do so.

1 Like

Correct, though you’re free to nuke those releases and re-release them under the new license. Though you have no releases (Releases · MarkNaeem/move_base_sequence · GitHub) so its a moot point.

1 Like