Closed editorialbot closed 11 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
Software report:
github.com/AlDanial/cloc v 1.88 T=0.03 s (747.4 files/s, 147309.4 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 7 467 904 945
Jupyter Notebook 2 0 643 499
Markdown 3 92 0 285
reStructuredText 6 126 45 250
TeX 1 19 0 141
YAML 2 7 8 47
DOS Batch 1 8 1 26
make 1 4 7 9
-------------------------------------------------------------------------------
SUM: 23 723 1608 2202
-------------------------------------------------------------------------------
gitinspector failed to run statistical information for the repository
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1103/PhysRevLett.75.1226 is OK
- 10.1016/S0921-8890(99)00004-4 is OK
- 10.1109/ICIIS.1999.810278 is OK
- 10.1038/35035023 is OK
- 10.1109/CDC.2001.980728 is OK
- 10.1007/978-3-540-87527-7_36 is OK
- 10.1109/TAC.2003.812781 is OK
- 10.1038/nature03236 is OK
- 10.1017/S0373463308005080 is OK
- 10.3389/frobt.2017.00012 is OK
- 10.1007/s10514-018-9702-0 is OK
- 10.1109/JPROC.2021.3072740 is OK
- 10.3390/s21062062 is OK
- 10.1023/B:AURO.0000033970.96785.f2 is OK
- 10.1016/j.swevo.2019.100565 is OK
- 10.1007/978-3-540-77612-3 is OK
- 10.1109/IROS.2016.7759558 is OK
- 10.1109/LRA.2021.3061366 is OK
- 10.1109/ICRA46639.2022.9812417 is OK
- 10.1007/s11721-012-0075-2 is OK
MISSING DOIs
- None
INVALID DOIs
- None
Wordcount for paper.md
is 1044
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
ππΌ @mrsonandrade this is the review thread for the paper. All of our communications will happen here from now on.
ππΌ @sea-bass @JHartzer - you both should generate your checklists with the JOSS requirements by running @editorialbot generate my checklist. As you go over the submission, please check the items that you feel have been satisfied and let the author know where further work needs to be done.
Here is a little more context for first-time reviewers :) - The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention https://github.com/openjournals/joss-reviews/issues/5647 so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.
We aim for reviews to be completed within about 2-4 weeks. Please let me know if any of you require some more time. We can also use @editorialbot to set automatic reminders if you know you'll be away for a known period of time.
Please feel free to ping me (@adi3) if you have any questions/concerns. Thank you for all your help!!
I have gone through and reviewed this submission.
Overall, I think this is a really nice tool and a welcome addition to the swarm robotics community. As someone who has created simular multi-robot simulators (https://github.com/mathworks-robotics/mobile-robotics-simulation-toolbox and https://github.com/sea-bass/pyrobosim), I particularly appreciate that PySwarming isn't just a generic point robot simulator like these tools, but actually is specifically focused to implementing swarm behaviors from the literature in a modular framework.
PySwarming was extremely easy to install (I appreciate that it is pip
installable). It was also easy to dig into the Python code and make changes/modifications. Finally, the API documentation and connection to ReadTheDocs was solid.
The code examples were helpful, and I really appreciated that the docs page has a nice Jupyter notebook that renders and shows the animations on the ReadTheDocs page. However, that same notebook didn't run standalone and the main README.md
doesn't have self-contained examples beyond the first few simple ones. As such, I highly recommend also including smaller, self-contained examples in plain text .py
format in the examples directory. My detailed feedback is here: https://github.com/mrsonandrade/pyswarming/issues/2
The paper is overall in good shape, but I think there are a few structural changes needed. Additionally, some more information on the state of swarm robotics software and on the developer workflows to add their own swarm behaviors to the tool would be helpful. Finally, a conclusion is needed. My detailed feedback is here: https://github.com/mrsonandrade/pyswarming/issues/4
In addition, I found a few more blocking software issues that I think should be resolved:
Thank you for submitting this exciting tool, and I look forward to seeing these comments addressed.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
I have a concern regarding substantial scholarly effort of this work. As it currently stands, most of the lines of python code are tests, setups, or examples. While all these things are good to have, what remains are about 400 unique lines of code. Additionally, a large portion of this code is auto_differentiation.py
which is used to compute function gradients. Excluding this leaves ~270 lines of code within swarm.py
and behaviors.py
, which in my opinion does not constitute a substantial scholarly effort.
I can understand that, by nature, swarm robotics has a large variety of objective functions to perform so creating an all-encompassing work is untenable. Other works have focused on specific algorithms such as search and path planning, or are generic but contain high-level examples, like ARGoS. Because this work currently only implements low-level behaviors, I think this currently falls short of the statement of need.
Dear @JHartzer, I kind of understand your points. However, all these behaviors took me months of work, in which I had to read, understand, and select papers, and put everything in the same nomenclature and format in order to have a common ground. After that, I had to implement while trying to maintain the clearness and connection with their original sources (the articles), all in order to facilitate the understanding for those that are initiating/interested. Also, based on previous experiences, I tried to have good documentation to make it accessible to new researchers. So, please, take this into your scholarly effort considerations.
Regarding the βbehaviorsβ, is exactly what you said, we have βa large variety of objective functions to performβ, but the main point of this library is joining the maximum behaviors/algorithms in order to avoid βrepeatedβ use of those same behaviors/algorithms as something new. For instance, you probably already saw some work that uses a βbehavior Xβ inspired by something, but you knew that the behavior was not new, it was just the same proposed by someone else with a different mathematical expression. So, the main point here is always the algorithms' standardization and implementation in PySwarming (and the use of Python language which needs no words). Also, you mentioned search and path planning, but they have a Python simulator like marabunta, so, PySwarming here is not just another simulator, it comes as a package with various behaviors/algorithms that can be used even within these aforementioned packages. So, I hope you have got my point and I apologize if those points were not clear through the paper.
@adi3 After working with the author in response to my comments, I'm inclined to approve on my end. However, @JHartzer makes some valid points in his review. Up to you as the editor on how this should proceed.
@mrsonandrade Thank you for your rebuttal to the comments. While we all appreciate your hard work learning and developing this tool, I unfortunately don't think that the time it took is something that factors in such decisions. Whether it took 1 day or 10 years, the value of these submissions is measured by the submission itself.
In addition to the above comments, I have submitted the following blocking issue: https://github.com/mrsonandrade/pyswarming/issues/8
And non-blocking issue: https://github.com/mrsonandrade/pyswarming/issues/7
@JHartzer @sea-bass @mrsonandrade thanks for all your participation in the review so far! Excellent discussion up there. I'll discuss the reviewers' feedback with other editors and write on how to move forward.
@mrsonandrade in the meantime, could you please address the issues opened by the reviewers? Appreciate your effort!
Great! Thank you @adi3! I will work on the issues opened by the reviewers.
@mrsonandrade @JHartzer @sea-bass after taking a deeper look into the codebase and discussing this with other editors, we have concluded that this paper does meet the requirements of substantial scholarly effort. In examinig this, we also took setup, tests and examples into consideration as those are crucial parts of using OSS.
@mrsonandrade please inform @JHartzer when you're done fixing the remaining items so he can complete his review smoothly.
Thank you @adi3!
Just to inform all of you that two papers related to PySwarming were accepted for publication in the 20th IEEE Latin American Robotics Symposium. As soon as possible, I will insert their information on the README file from PySwarming.
I have worked on the blocking issue from @JHartzer.
Regarding the non-blocking issues from @JHartzer and @sea-bass, I am planning to work on them as soon as possible. I have a new contributor in my lab that will work with this package, so, I hope this will help to work on the non-blocking issues and improve the package.
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
The author has addressed my remaining issues and so I can now recommend publication!
@JHartzer @sea-bass thank you for completing your respective reviews. I appreciate your thoroughness!
@mrsonandrade Looks like everything is set. Congratulations! I need one final formality to be done from your side. Please make a tagged release of the project and archive it. Then report the version number and archive DOI here. Once I have that, I will send this for publication. Cheers!
@adi3 @sea-bass @JHartzer thank you for all the comments and for your time! ππ
@adi3 the version number is: v1.1.3 and the archive DOI is: https://doi.org/10.5281/zenodo.8317286
@editorialbot set 10.5281/zenodo.8317286 as archive
Done! archive is now 10.5281/zenodo.8317286
@editorialbot set v1.1.3 as version
Done! version is now v1.1.3
@editorialbot generate pdf
@editorialbot commands
Hello @adi3, here are the things you can ask me to do:
# List all available commands
@editorialbot commands
# Add to this issue's reviewers list
@editorialbot add @username as reviewer
# Remove from this issue's reviewers list
@editorialbot remove @username from reviewers
# Get a list of all editors's GitHub handles
@editorialbot list editors
# Assign a user as the editor of this submission
@editorialbot assign @username as editor
# Remove the editor assigned to this submission
@editorialbot remove editor
# Remind an author, a reviewer or the editor to return to a review after a
# certain period of time (supported units days and weeks)
@editorialbot remind @reviewer in 2 weeks
# Check the references of the paper for missing DOIs
@editorialbot check references
# Perform checks on the repository
@editorialbot check repository
# Adds a checklist for the reviewer using this command
@editorialbot generate my checklist
# Set a value for version
@editorialbot set v1.0.0 as version
# Set a value for branch
@editorialbot set joss-paper as branch
# Set a value for repository
@editorialbot set https://github.com/organization/repo as repository
# Set a value for the archive DOI
@editorialbot set set 10.5281/zenodo.6861996 as archive
# Mention the EiCs for the correct track
@editorialbot ping track-eic
# Generates the pdf paper
@editorialbot generate pdf
# Recommends the submission for acceptance
@editorialbot recommend-accept
# Generates a LaTeX preprint file
@editorialbot generate preprint
# Flag submission with questionable scope
@editorialbot query scope
# Get a link to the complete list of reviewers
@editorialbot list reviewers
# Creates a post-review checklist with editor and authors tasks
@editorialbot create post-review checklist
# Open the review issue
@editorialbot start review
@editorialbot check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1103/PhysRevLett.75.1226 is OK
- 10.1007/s11721-008-0014-4 is OK
- 10.1023/B:AURO.0000033972.50769.1c is OK
- 10.1109/ROBOT.2007.363180 is OK
- 10.1109/IROS.2011.6094829 is OK
- 10.3390/computation10060080 is OK
- 10.1145/37402.37406 is OK
- 10.1103/PhysRevE.58.4828 is OK
- 10.1109/70.736776 is OK
- 10.1016/S0921-8890(99)00004-4 is OK
- 10.1109/ICIIS.1999.810278 is OK
- 10.1038/35035023 is OK
- 10.1109/CDC.2001.980728 is OK
- 10.1007/978-3-540-87527-7_36 is OK
- 10.1109/TAC.2003.812781 is OK
- 10.1038/nature03236 is OK
- 10.1017/S0373463308005080 is OK
- 10.3389/frobt.2017.00012 is OK
- 10.1109/ICRA.2015.7139807 is OK
- 10.1007/s10514-018-9702-0 is OK
- 10.1109/JPROC.2021.3072740 is OK
- 10.3390/s21062062 is OK
- 10.1023/B:AURO.0000033970.96785.f2 is OK
- 10.1007/978-3-540-77612-3 is OK
- 10.1109/IROS.2016.7759558 is OK
- 10.1109/LRA.2021.3061366 is OK
- 10.1109/ICRA46639.2022.9812417 is OK
- 10.1007/s11721-012-0075-2 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@editorialbot recommend-accept
Attempting dry run of processing paper acceptance...
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1103/PhysRevLett.75.1226 is OK
- 10.1007/s11721-008-0014-4 is OK
- 10.1023/B:AURO.0000033972.50769.1c is OK
- 10.1109/ROBOT.2007.363180 is OK
- 10.1109/IROS.2011.6094829 is OK
- 10.3390/computation10060080 is OK
- 10.1145/37402.37406 is OK
- 10.1103/PhysRevE.58.4828 is OK
- 10.1109/70.736776 is OK
- 10.1016/S0921-8890(99)00004-4 is OK
- 10.1109/ICIIS.1999.810278 is OK
- 10.1038/35035023 is OK
- 10.1109/CDC.2001.980728 is OK
- 10.1007/978-3-540-87527-7_36 is OK
- 10.1109/TAC.2003.812781 is OK
- 10.1038/nature03236 is OK
- 10.1017/S0373463308005080 is OK
- 10.3389/frobt.2017.00012 is OK
- 10.1109/ICRA.2015.7139807 is OK
- 10.1007/s10514-018-9702-0 is OK
- 10.1109/JPROC.2021.3072740 is OK
- 10.3390/s21062062 is OK
- 10.1023/B:AURO.0000033970.96785.f2 is OK
- 10.1007/978-3-540-77612-3 is OK
- 10.1109/IROS.2016.7759558 is OK
- 10.1109/LRA.2021.3061366 is OK
- 10.1109/ICRA46639.2022.9812417 is OK
- 10.1007/s11721-012-0075-2 is OK
MISSING DOIs
- None
INVALID DOIs
- None
:wave: @openjournals/pe-eics, this paper is ready to be accepted and published.
Check final proof :point_right::page_facing_up: Download article
If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/4603, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept
@adi3 I have checked here and the output looks good π
Hi @mrsonandrade, I'm doing some final checks before publishing.
I made a few fixes to references in this PR, could you merge it? https://github.com/mrsonandrade/pyswarming/pull/9
Hi @kyleniemeyer, thank you! done!
@editorialbot generate pdf
@editorialbot check references
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):
OK DOIs
- 10.1103/PhysRevLett.75.1226 is OK
- 10.1007/s11721-008-0014-4 is OK
- 10.1023/B:AURO.0000033972.50769.1c is OK
- 10.1109/ROBOT.2007.363180 is OK
- 10.1109/IROS.2011.6094829 is OK
- 10.3390/computation10060080 is OK
- 10.1145/37402.37406 is OK
- 10.1103/PhysRevE.58.4828 is OK
- 10.1109/70.736776 is OK
- 10.1016/S0921-8890(99)00004-4 is OK
- 10.1109/ICIIS.1999.810278 is OK
- 10.1038/35035023 is OK
- 10.1109/CDC.2001.980728 is OK
- 10.1007/978-3-540-87527-7_36 is OK
- 10.1109/TAC.2003.812781 is OK
- 10.1038/nature03236 is OK
- 10.1017/S0373463308005080 is OK
- 10.3389/frobt.2017.00012 is OK
- 10.1109/ICRA.2015.7139807 is OK
- 10.1007/s10514-018-9702-0 is OK
- 10.1109/JPROC.2021.3072740 is OK
- 10.3390/s21062062 is OK
- 10.1023/B:AURO.0000033970.96785.f2 is OK
- 10.1007/978-3-540-77612-3 is OK
- 10.1109/IROS.2016.7759558 is OK
- 10.1109/LRA.2021.3061366 is OK
- 10.1109/ICRA46639.2022.9812417 is OK
- 10.1007/s11721-012-0075-2 is OK
MISSING DOIs
- None
INVALID DOIs
- None
@editorialbot generate pdf
:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:
@editorialbot accept
Doing it live! Attempting automated processing of paper acceptance...
Ensure proper citation by uploading a plain text CITATION.cff file to the default branch of your repository.
If using GitHub, a Cite this repository menu will appear in the About section, containing both APA and BibTeX formats. When exported to Zotero using a browser plugin, Zotero will automatically create an entry using the information contained in the .cff file.
You can copy the contents for your CITATION.cff file here:
``` cff-version: "1.2.0" authors: - family-names: Andrade given-names: Emerson Martins name-particle: de orcid: "https://orcid.org/0000-0002-5023-8733" - family-names: Fernandes given-names: Antonio Carlos orcid: "https://orcid.org/0000-0001-6578-1985" - family-names: Junior given-names: Joel Sena Sales orcid: "https://orcid.org/0000-0003-4563-1538" doi: 10.5281/zenodo.8317286 message: If you use this software, please cite our article in the Journal of Open Source Software. preferred-citation: authors: - family-names: Andrade given-names: Emerson Martins name-particle: de orcid: "https://orcid.org/0000-0002-5023-8733" - family-names: Fernandes given-names: Antonio Carlos orcid: "https://orcid.org/0000-0001-6578-1985" - family-names: Junior given-names: Joel Sena Sales orcid: "https://orcid.org/0000-0003-4563-1538" date-published: 2023-09-26 doi: 10.21105/joss.05647 issn: 2475-9066 issue: 89 journal: Journal of Open Source Software publisher: name: Open Journals start: 5647 title: "PySwarming: a research toolkit for Swarm Robotics" type: article url: "https://joss.theoj.org/papers/10.21105/joss.05647" volume: 8 title: "PySwarming: a research toolkit for Swarm Robotics" ```
If the repository is not hosted on GitHub, a .cff file can still be uploaded to set your preferred citation. Users will be able to manually copy and paste the citation.
πππ π Toot for this paper π πππ
Submitting author: !--author-handle-->@mrsonandrade<!--end-author-handle-- (Emerson Andrade) Repository: https://github.com/mrsonandrade/pyswarming Branch with paper.md (empty if default branch): Version: v1.1.3 Editor: !--editor-->@adi3<!--end-editor-- Reviewers: @sea-bass, @JHartzer Archive: 10.5281/zenodo.8317286
Status
Status badge code:
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
@sea-bass & @JHartzer, 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:
The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @adi3 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 @sea-bass
π Checklist for @JHartzer