openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
719 stars 38 forks source link

[REVIEW]: Advanced Multi-Surface Navigation for Unmanned Ground Vehicles (UGVs) Using 4D Path Planning Techniques (ugv_nav4d) #6983

Open editorialbot opened 3 months ago

editorialbot commented 3 months ago

Submitting author: !--author-handle-->@haider8645<!--end-author-handle-- (Muhammad Haider Khan Lodhi) Repository: https://github.com/dfki-ric/ugv_nav4d Branch with paper.md (empty if default branch): main Version: v1.0.0 Editor: !--editor-->@logological<!--end-editor-- Reviewers: @soraxas, @OlgerSiebinga Archive: Pending

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/a44895698a64e573995bccb1efd37325"><img src="https://joss.theoj.org/papers/a44895698a64e573995bccb1efd37325/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/a44895698a64e573995bccb1efd37325/status.svg)](https://joss.theoj.org/papers/a44895698a64e573995bccb1efd37325)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@brean & @soraxas, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @logological know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @soraxas

📝 Checklist for @OlgerSiebinga

editorialbot commented 3 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 3 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- None

MISSING DOIs

- No DOI given, and none found for title: Slam Maps
- No DOI given, and none found for title: SBPL: Search-Based Planning Library
- No DOI given, and none found for title: Traversability Generator3d
- No DOI given, and none found for title: Robotics Exploration Laboratory
- No DOI given, and none found for title: Trajectory Follower
- No DOI given, and none found for title: SBPL Spline Primitives
- No DOI given, and none found for title: GoogleTest

INVALID DOIs

- None
editorialbot commented 3 months ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.03 s (1453.4 files/s, 241346.8 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C++                              13            678            208           2961
C/C++ Header                     12            221            186            722
CMake                             5             38              3            433
Markdown                          2            152              0            416
TeX                               1              6              0             47
Bourne Again Shell                2              7              1             30
XML                               1              3              0             25
YAML                              1              2              0              5
--------------------------------------------------------------------------------
SUM:                             37           1107            398           4639
--------------------------------------------------------------------------------

Commit count by author:

   298  Arne Böckmann
   142  Janosch Machowinski
    49  mlodhi
    23  Alexander Lindermayr
    23  Christoph Hertzberg
    14  arne
    11  Mathis Logemann
     9  Muhammad Haider Khan Lodhi
     8  mulo01
     7  Sebastian Kasperski
     6  Pierre Willenbrock
     6  Steffen Planthaber
     4  Felix Glinka
     3  Anna Born
     3  Dennis Hemker
     3  Image Builder
     3  Malte Wirkus
     3  Mulo01
     3  Sascha Arnold
     2  Haider Lodhi
     2  Leon Danter
     1  Ayden Janssen
     1  Enternlap1
     1  Raul Dominguez
     1  haider
editorialbot commented 3 months ago

Paper file info:

📄 Wordcount for paper.md is 1376

✅ The paper includes a Statement of need section

editorialbot commented 3 months ago

License info:

✅ License found: BSD 3-Clause "New" or "Revised" License (Valid open source OSI approved license)

editorialbot commented 3 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

brean commented 3 months ago

Review checklist for @brean

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

brean commented 3 months ago

@logological as I work for the same research institute as the authors of this publication (even in the same department) I think this is clearly a COI and I am not allowed to review this paper, as this situation "being employed at the same institution" is explicitly stated as a COI in the JOSS Conflict of Interest Policy

logological commented 3 months ago

@brean Sorry for the oversight! I had overlooked that one of the co-authors was from DFKI. I'll remove you as a reviewer and look for someone else. Would you happen to be able to recommend anyone with the relevant knowledge who doesn't have a COI?

logological commented 3 months ago

@editorialbot remove @brean from reviewers

editorialbot commented 3 months ago

@brean removed from the reviewers list!

soraxas commented 3 months ago

@logological Shall I wait until we have found sufficient reviewers?

soraxas commented 3 months ago

Hi @haider8645 I had a quick glance into the paper, and the statement of need doesn't really address why this package is needed in the community.

i.e., how does this differ from other similar-purpose packages like Nav2 (github) [1], one of the most well-structured / generic navigation frameworks that are widely adopted in autonomous robots and tested in the industry (De facto standard in ROS); or other more speciality framework like vox_nav [2] which is created for unstructured treeains.

The traversability aspect should be able to achieved via imposing cost in like a costmap?

[1] Macenski, S., Martín, F., White, R., & Clavero, J. G. (2020, October). The marathon 2: A navigation system. In 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 2718-2725). IEEE. [2] Atas, F., Cielniak, G., & Grimstad, L. (2022, October). Elevation state-space: Surfel-based navigation in uneven environments for mobile robots. In 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 5715-5721). IEEE.

logological commented 3 months ago

@soraxas No, you can begin your review right away while I look for an additional reviewer. Thanks!

haider8645 commented 3 months ago

@soraxas Excuse me for the late reply. I am on vacation atm so my replies might be delayed. Hmmm, please see some brief comments below about nav2 for now. If you expect a more detailed analysis of the capabilities then let me know but it would just take me a bit longer.

1) The environment representation used by the planner to generate the Traversability map is based on a Multi-Layered Surface Map (MLS). The MLS map can be generated online or an offline MLS map can be used. As of my latest update, ROS2 does not natively support MLS (Multi-Layered Surface) maps out-of-the-box within the standard Nav2 stack without additional development or customization. The primary map type supported by Nav2 is the 2D occupancy grid map. On the contrary, we used a 3D Map. The choice of MLS maps vs Voxel maps (used in nav2) is a personal choice. I personally like MLS Maps because they are great for visualization and provide a detailed surface representation.

2) The key contribution is that the planner can plan in a multistorey environment without the need to maintain multiple costmaps for each floor of a building. The planner internally maintains a 3D Traversablity Map for long distance planning in environments with distinct elevation levels, such as buildings with multiple floors or terrains with varying heights. To the best of my knowledge, ros2 nav2 does not natively support multistorey navigation out-of-the-box.

3) The Traversability map servers a similar purpose as the costmap in ROS but each cell in the traversability map contains further information about the ground surface like slope, plane model etc. See TravGenTrackingData. This can be seen as kind of an alternative to the combination of 3d costmap + gradient map in nav2. See Other Forms

So in short, the ugv_nav4d provides many new capabilities which are not yet available in nav2. We are currently working on making a ROS2 wrapper for the planner so that the ROS2 community can used it out-of-the-box. A fully integrated plugin support for nav2 is not in the pipeline but can be done if the interest from the community side is high :)

@arneboe FYI

soraxas commented 3 months ago

@soraxas Excuse me for the late reply. I am on vacation atm so my replies might be delayed. Hmmm, please see some brief comments below about nav2 for now. If you expect a more detailed analysis of the capabilities then let me know but it would just take me a bit longer.

  1. The environment representation used by the planner to generate the Traversability map is based on a Multi-Layered Surface Map (MLS). The MLS map can be generated online or an offline MLS map can be used. As of my latest update, ROS2 does not natively support MLS (Multi-Layered Surface) maps out-of-the-box within the standard Nav2 stack without additional development or customization. The primary map type supported by Nav2 is the 2D occupancy grid map. On the contrary, we used a 3D Map. The choice of MLS maps vs Voxel maps (used in nav2) is a personal choice. I personally like MLS Maps because they are great for visualization and provide a detailed surface representation.
  2. The key contribution is that the planner can plan in a multistorey environment without the need to maintain multiple costmaps for each floor of a building. The planner internally maintains a 3D Traversablity Map for long distance planning in environments with distinct elevation levels, such as buildings with multiple floors or terrains with varying heights. To the best of my knowledge, ros2 nav2 does not natively support multistorey navigation out-of-the-box.
  3. The Traversability map servers a similar purpose as the costmap in ROS but each cell in the traversability map contains further information about the ground surface like slope, plane model etc. See TravGenTrackingData. This can be seen as kind of an alternative to the combination of 3d costmap + gradient map in nav2. See Other Forms

So in short, the ugv_nav4d provides many new capabilities which are not yet available in nav2. We are currently working on making a ROS2 wrapper for the planner so that the ROS2 community can used it out-of-the-box. A fully integrated plugin support for nav2 is not in the pipeline but can be done if the interest from the community side is high :)

@arneboe FYI

Thanks for the response. I would suggest adding snippets of these relevant disussion to the statement of need section. I will move our conversion to issues in the target repository.

soraxas commented 3 months ago

Review checklist for @soraxas

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

logological commented 3 months ago

@AtsushiSakai @mjansen4857 @whoenig Would you be willing and able to review this submission on navigation of autonomous robots for the Journal of Open Source Software?

haider8645 commented 2 months ago

@soraxas thanks for your input and the issues. I am back from vacation and will start to work on the open issues :-)

haider8645 commented 2 months ago

@logological any luck with finding a second reviewer in background?

haider8645 commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

haider8645 commented 2 months ago

@editorialbot generate pdf

editorialbot commented 2 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

haider8645 commented 2 months ago

@soraxas I have taken steps related to all issues in the repo. Please find further details in the issue descriptions. Thanks!

logological commented 2 months ago

Thanks for your patience, @haider8645. I've been continuing to reach out to potential reviewers by e-mail, and have sent another round of queries today. Hopefully we'll get someone to accept soon.

logological commented 2 months ago

@editorialbot add @OlgerSiebinga as reviewer

editorialbot commented 2 months ago

@OlgerSiebinga added to the reviewers list!

logological commented 2 months ago

I've added a reviewer who has kindly informed me by e-mail that he can start his review in one or two weeks' time. @OlgerSiebinga, please add the following comment here when you are ready to begin: @editorialbot generate my checklist

OlgerSiebinga commented 2 months ago

@logological, thanks for adding me, I'm happy to help

OlgerSiebinga commented 2 months ago

Review checklist for @OlgerSiebinga

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

OlgerSiebinga commented 1 month ago

Hi @haider8645,

I have some questions about the authorship and contributions, so I hope you can clarify some things.

First, I would like to ask you about the authorship. I noticed that there are quite some contributors to the repo, some of which have made substantial contributions (in terms of lines of code/commits). However, most are not co-authors and are not mentioned in the acknowledgments. According to the JOSS policy, it's up to you to decide whom to include. However, I am curious why some major contributors are not mentioned in the paper. Furthermore, I can't find the second author ( Janosch Machowinski) in the list of contributors to the repo. Could you clarify his contribution?

Second, I read in the paper that you're currently working on a ROS2 wrapper. What is the status of that development? I'm asking because the potential impact of your software can be substantially increased by providing this wrapper. I would be more inclined to use your planner if I could directly incorporate it into my robots by accessing it from ROS. Including this wrapper in this published version of the software and paper might be worth considering.

OlgerSiebinga commented 1 month ago

@editorialbot check repository

editorialbot commented 1 month ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.03 s (1495.0 files/s, 241499.2 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C++                              13            672            205           2969
C/C++ Header                     12            221            186            722
Markdown                          3            191              0            483
CMake                             5             41              3            419
TeX                               1              9              0             86
Bourne Again Shell                2              7              1             32
XML                               1              3              0             25
YAML                              2              4              0             21
--------------------------------------------------------------------------------
SUM:                             39           1148            395           4757
--------------------------------------------------------------------------------

Commit count by author:

   296  Arne Böckmann
   142  Janosch Machowinski
    47  mlodhi
    23  Alexander Lindermayr
    23  Christoph Hertzberg
    16  mulo01
    14  arne
    11  Mathis Logemann
     9  Muhammad Haider Khan Lodhi
     7  Sebastian Kasperski
     6  Pierre Willenbrock
     6  Steffen Planthaber
     5  Haider Lodhi
     4  Felix Glinka
     3  Anna Born
     3  Dennis Hemker
     3  Image Builder
     3  Malte Wirkus
     3  Sascha Arnold
     3  haider8645
     2  Leon Danter
     2  Mulo01
     1  Ayden Janssen
     1  Enternlap1
     1  Raul Dominguez
     1  haider
editorialbot commented 1 month ago

Paper file info:

📄 Wordcount for paper.md is 2106

✅ The paper includes a Statement of need section

editorialbot commented 1 month ago

License info:

✅ License found: BSD 3-Clause "New" or "Revised" License (Valid open source OSI approved license)

OlgerSiebinga commented 1 month ago

I have some opportunities to improve the paper itself, listed below in order of appearance. Let me know if I can help by clarifying or providing more explicit examples.

Summary

Statement of need

Figures

Quality of writing

haider8645 commented 1 month ago

@OlgerSiebinga thank you for the feedback! I will look into rectifying the points and get back to you.

haider8645 commented 1 month ago

Hi @haider8645,

I have some questions about the authorship and contributions, so I hope you can clarify some things.

First, I would like to ask you about the authorship. I noticed that there are quite some contributors to the repo, some of which have made substantial contributions (in terms of lines of code/commits). However, most are not co-authors and are not mentioned in the acknowledgments. According to the JOSS policy, it's up to you to decide whom to include. However, I am curious why some major contributors are not mentioned in the paper. Furthermore, I can't find the second author ( Janosch Machowinski) in the list of contributors to the repo. Could you clarify his contribution?

Second, I read in the paper that you're currently working on a ROS2 wrapper. What is the status of that development? I'm asking because the potential impact of your software can be substantially increased by providing this wrapper. I would be more inclined to use your planner if I could directly incorporate it into my robots by accessing it from ROS. Including this wrapper in this published version of the software and paper might be worth considering.

Janosch is probably not on github but you can see in the old history of the lib. He can be seen in the list of people who commited to the library. He has the second most commits. Thanks for the feedback about the authorship. I did not look at in in much detail. I will discuss about the authorship in my team and get back to you!

The ROS2 wrapper is working from the planner side, we just need to integrate MLS map in ROS2 because there is no support for MLS maps. Hmm, I get your point and agree that the usability will be more if the reader can directly test it. Alright!

Update: Hi @OlgerSiebinga, I discussed the authoriship with my team. I had received permission from Janosch Machowinski and Arne Böckmann for authoring this paper (since those two are the main developers) and also before making this request to JOSS. So we would keep the authorship the same but I would add the other contributors in the acknowledgements section.

haider8645 commented 1 month ago

@editorialbot generate pdf

editorialbot commented 1 month ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

haider8645 commented 1 month ago

@editorialbot generate pdf

editorialbot commented 1 month ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

haider8645 commented 1 month ago

@editorialbot check repository

editorialbot commented 1 month ago

Software report:

github.com/AlDanial/cloc v 1.90  T=0.03 s (1428.3 files/s, 227102.2 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C++                              13            672            205           2969
C/C++ Header                     12            221            186            722
CMake                             5             41              3            419
Markdown                          3            157              0            418
TeX                               1              9              0             86
Bourne Again Shell                2              7              1             32
XML                               1              3              0             25
YAML                              2              4              0             21
--------------------------------------------------------------------------------
SUM:                             39           1114            395           4692
--------------------------------------------------------------------------------

Commit count by author:

   296  Arne Böckmann
   142  Janosch Machowinski
    47  mlodhi
    23  Alexander Lindermayr
    23  Christoph Hertzberg
    17  mulo01
    14  arne
    11  Mathis Logemann
     9  Muhammad Haider Khan Lodhi
     7  Sebastian Kasperski
     6  Haider Lodhi
     6  Pierre Willenbrock
     6  Steffen Planthaber
     4  Felix Glinka
     4  haider8645
     3  Anna Born
     3  Dennis Hemker
     3  Image Builder
     3  Malte Wirkus
     3  Mulo01
     3  Sascha Arnold
     2  Leon Danter
     1  Ayden Janssen
     1  Enternlap1
     1  Raul Dominguez
     1  haider
editorialbot commented 1 month ago

Paper file info:

📄 Wordcount for paper.md is 876

✅ The paper includes a Statement of need section

editorialbot commented 1 month ago

License info:

✅ License found: BSD 3-Clause "New" or "Revised" License (Valid open source OSI approved license)

haider8645 commented 1 month ago

@OlgerSiebinga please find the updated paper. Took all your recommendations into consideration. The word count is now down from over 2000 to under 1000. The writing style is updated. Added acknowledgement for the contributors and combined figures etc.

logological commented 1 month ago

@haider8645 Thanks for letting us know about the revisions. @soraxas I don't believe we've heard from you since 17 July – could you please confirm whether the issues you've raised have been addressed to your satisfaction? If so, perhaps you could also now move on to the other items in your checklist. Please remember to work from the latest draft of the paper, as the authors have already made some substantial revisions based on the other reviewer's comments.

OlgerSiebinga commented 1 month ago

Hi @haider8645, With your revision, the paper really improved in my opinion. Some other updates from my side:

In the meantime, I’ve moved on to the documentation (i.e., the readme file and auto-generated doc) and I have some remarks. Please find them below in order of the checklist/appearance in the docs:

I plan to dive a bit deeper into the functionality next week.