Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW]: Pybotics: Python Toolbox for Robotics #1738

Closed
whedon opened this issue Sep 16, 2019 · 80 comments · Fixed by nnadeau/pybotics#728
Closed

[REVIEW]: Pybotics: Python Toolbox for Robotics #1738

whedon opened this issue Sep 16, 2019 · 80 comments · Fixed by nnadeau/pybotics#728
Assignees
Labels

Comments

@whedon
Copy link
Collaborator

@whedon whedon commented Sep 16, 2019

Submitting author: @nnadeau (Nicholas A. Nadeau)
Repository: https://github.com/nnadeau/pybotics
Version: 0.7.1
Editor: @kyleniemeyer
Reviewer: @adi3, @CameronDevine
Archive: 10.5281/zenodo.3464685

Status

status

Status badge code:

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

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

@adi3 & @CameronDevine, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

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

Please try and complete your review in the next two weeks

Review checklist for @adi3

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@nnadeau) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @CameronDevine

Conflict of interest

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@nnadeau) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 16, 2019

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @adi3, @CameronDevine it looks like you're currently assigned to review this paper 🎉.

⭐️ Important ⭐️

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands

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

@whedon generate pdf
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 16, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 16, 2019

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 16, 2019

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 19, 2019

Thanks for volunteering to review, @adi3 and @CameronDevine

@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 23, 2019

@nnadeau Great work in the repo! I'm yet to test it out on my machine but I did a quick overview and I'm already a fan. Regarding the review, I'd like you to add a few things in the Development section of the readme.

Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Step 3 of your development process should have the contributor run tests to make sure the changes have not broken anything. Please list out specific commands and outputs the contributor should expect before the feature is ready for PR.

In addition, please add a quick line and a link to the issues board of your repo so users know where they can get support.

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 23, 2019

@adi3 thanks for the review. The following changes have been made:

@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 23, 2019

@nnadeau Thanks for updating that.

With reference to this quote from your paper:

It was designed to provide a simple, clear, and concise interface to quickly simulate and evaluate common robot concepts, such as kinematics, dynamics, trajectory generations, and calibration.

I see the how the library helps with kinematics and calibration easily; both your examples and the source code show it clearly. I'm less certain about the dynamics and trajectory generations part of it. Of course, the kinematics and calibration features are important for calculating solutions of dynamics and trajectory, but to actually mention it as an advantage of your library, please implement either (1) an out-of-the-box feature relating to them, or (2) an example script showing how the existing features lead to dynamics and planning equations.

Ditto for the mention of Machine learning in the Readme.

@nnadeau nnadeau reopened this Sep 25, 2019
@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 25, 2019

@nnadeau Stellar work! I'm impressed by the utility of your library. I'll likely use it my work at some point.

I'm having some trouble running your tests. This is the error I get: No such file or directory: 'black': 'black' . I'm not conversant with poetry so some pointers here would be useful.

@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 25, 2019

@nnadeau Stellar work! I'm impressed by the utility of your library. I'll likely use it my work at some point.

I'm having some trouble running your tests. This is the error I get: No such file or directory: 'black': 'black' . I'm not conversant with poetry so some pointers here would be useful.

My bad. Running poetry install got all this fixed. Your tests run fine and at this point, I am satisfied with your submission. Pending a references check, I will be happy to recommend your paper for publication.

@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 25, 2019

@whedon commands

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 25, 2019

Here are some things you can ask me to do:

# List Whedon's capabilities
@whedon commands

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Ask Whedon to check the references for missing DOIs
@whedon check references

@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 25, 2019

@whedon check references

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 25, 2019

Attempting to check references...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 25, 2019


OK DOIs

- None

MISSING DOIs

- https://doi.org/10.3390/robotics8020033 may be missing for title: Impedance Control Self-Calibration of a Collaborative Robot Using Kinematic Coupling
- https://doi.org/10.1109/jra.1987.1087086 may be missing for title: Introduction to Robotics Mechanics and Control
- https://doi.org/10.1109/mcse.2011.37 may be missing for title: The NumPy array: a structure for efficient numerical computation
- https://doi.org/10.1109/iros.2018.8593598 may be missing for title: Evolutionary motion control optimization in physical human-robot interaction

INVALID DOIs

- None
@adi3

This comment has been minimized.

Copy link

@adi3 adi3 commented Sep 25, 2019

@nnadeau can you please update your .bib file to include the missing DOIs? See whedon output above.

@danielskatz

This comment has been minimized.

Copy link

@danielskatz danielskatz commented Sep 25, 2019

Please be aware that whedon is not perfect at this, and sometimes gives wrong suggestions.

@nnadeau nnadeau mentioned this issue Sep 25, 2019
@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 25, 2019

@adi3 @danielskatz DOIs updated: nnadeau/pybotics#729

Missing DOIs:

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 25, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 25, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 28, 2019

Attempting to check references...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 28, 2019


OK DOIs

- 10.3390/robotics8020033 is OK
- 10.1007/978-3-319-54413-7 is OK
- 10.1109/MCSE.2011.37 is OK
- 10.1109/IROS.2018.8593598 is OK

MISSING DOIs

- https://doi.org/10.1109/jra.1987.1087086 may be missing for title: Introduction to Robotics Mechanics and Control

INVALID DOIs

- None
@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 28, 2019

@nnadeau thanks! The SciPy citation is still not quite right, since our template doesn't play well with the recommended year format. Perhaps just change it to "2001" ?

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 29, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 29, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 29, 2019

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 29, 2019

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 29, 2019

@whedon accept

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 29, 2019

No archive DOI set. Exiting...

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 29, 2019

ah, whoops! @nnadeau, please archive your repo using a service such as Zenodo, and let me know what the associated DOI is.

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 30, 2019

@kyleniemeyer

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 30, 2019

@whedon set 10.5281/zenodo.3464672 as archive

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

OK. 10.5281/zenodo.3464672 is the archive.

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 30, 2019

@nnadeau sorry to drag this out, but it looks like you released v0.7.3—should that be what we use?

@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 30, 2019

@kyleniemeyer sure! that was outside the scope of this review process (i.e., travis CI update), but sure, go ahead!

DOI:
10.5281/zenodo.3464685

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 30, 2019

@whedon set 10.5281/zenodo.3464685 as archive

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

OK. 10.5281/zenodo.3464685 is the archive.

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 30, 2019

@whedon accept

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

Attempting dry run of processing paper acceptance...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019


OK DOIs

- 10.3390/robotics8020033 is OK
- 10.1007/978-3-319-54413-7 is OK
- 10.1109/MCSE.2011.37 is OK
- 10.1109/IROS.2018.8593598 is OK

MISSING DOIs

- https://doi.org/10.1109/jra.1987.1087086 may be missing for title: Introduction to Robotics Mechanics and Control

INVALID DOIs

- None
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

Check final proof 👉 openjournals/joss-papers#990

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#990, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true
@nnadeau

This comment has been minimized.

Copy link
Collaborator

@nnadeau nnadeau commented Sep 30, 2019

@kyleniemeyer looks good! Thank you everyone for this review process.

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 30, 2019

@whedon accept deposit=true

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

Doing it live! Attempting automated processing of paper acceptance...
@whedon whedon added the accepted label Sep 30, 2019
@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 openjournals/joss-papers#991
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01738
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? notify your editorial technical team...

@kyleniemeyer

This comment has been minimized.

Copy link

@kyleniemeyer kyleniemeyer commented Sep 30, 2019

Congrats @nnadeau on your article's publication in JOSS! Thanks to @adi3 and @CameronDevine for reviewing!

@whedon

This comment has been minimized.

Copy link
Collaborator Author

@whedon whedon commented Sep 30, 2019

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.01738/status.svg)](https://doi.org/10.21105/joss.01738)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.01738">
  <img src="https://joss.theoj.org/papers/10.21105/joss.01738/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.01738/status.svg
   :target: https://doi.org/10.21105/joss.01738

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.