Skip to content

Contributing

Peter Corke edited this page Apr 5, 2021 · 7 revisions

Contributions are welcome, and there is lots to do.

What a contribution is

A contribution is ideally

  • submitted as a pull request, which means it can be tested by the build system before it is merged, and adheres to the coding conventions
  • well documented, using Sphinx + ReStructured Text and adheres to the documentation conventions
  • tested before submission, and has unit tests for the new functionality

If you want to contribute, and you're thinking about a big chunk of work, post an issue with new feature tag, and we can discuss the approach before you invest too much time.

What needs doing

Housekeeping

  • Documentation proof reading and fixups
  • Rationalize the examples folder
  • Add Python typing throughout
  • Benchmarking and performance optimisation

Kinematics

  • Robust/global search IK
  • Symbolic IK solutions, perhaps
    • interface to OpenRAVEs IK generation toolset
    • interface/integrate with SYMORO, written in Python 2
  • Improve URDF/xacro subsystem to give good reports of parse errors, with line numbers
  • Additional DH convention models, there are lots from the MATLAB version that haven't been ported across
  • DHFactor

Dynamics

  • Symbolic simplification/factorization of rigid-body dynamics
  • Use Featherstone's ABA to compute forward dynamics
  • Integrate with PyBullet, i.e. map the ERobot class to a form that allows us to exploit PyBullet goodness
  • Floating base dynamics
  • Dynamics of closed kinematic loops- Integration of dynamics with some control design/dynamic simulation framework
  • Integration with capability like the compliant joint toolbox

Trajectory generators

  • More trajectory generators, perhaps multiple point to point

Backends

  • Backends for CoppeliaSim, ROS, Dynamixels

Mobile robotics

  • Mobile robotics functions are on branch Kristian-dev-updated, and are modelled on the MATLAB version but have no test code or documentation
Clone this wiki locally