Giter Club home page Giter Club logo

trac_ik's Issues

THANKS!

Just wanted to say thank you. You saved me 1 day of work today :)

I wonder if you would accept pull requests. I would like to remove the math3d.h and use Eigen instead

Add CI.

I haven't yet sorted out the logistics, but a Github actions based CI pipeline would probably be the least friction path for now.

Add tests for `trac_ik_lib`.

All packages are missing tests, but trac_ik_lib hurts the most from their absence. The goal should be to write some unit tests for the trac_ik::ik_solver class, at minimum.

This ticket is a bit complicated. There is definite value in it, but I'm not sure how to best approach it.

Update documentation to reflect changes.

Obviously, this fork entailed a lot of changes to the original repository.

All such changes should be documented appropriately in package-specific READMEs, at the minimum.

Add ROS 2 support

This is a meta-ticket that I'll use to track progress for multiple smaller items. Notably:

  • trac_ik_lib: (#2)
    • Migrate parameters business to be rclcpp compliant.
      • ⚠️API break⚠️: As a fallout of this directive, I've changed a TracIK constructor to accept a std::string of the URDF XML robot description file, rather than a std::string of the parameter housing the robot description XML. This was necessary because parameters are not global in ROS 2, and because I didn't want to publish the XML on a robot_description topic (although that's how it's done in robot_state_publisher).
    • Convert roscpp logging macros to rclcpp logging macros.
    • Move from boost::posix_time::ptime to std::chrono::time_point.
      • This is not exactly needed, but I'd like to remove superfluous boost dependencies.
  • trac_ik_kinematics_plugin: (#9)
    • Write the plugin for moveit2.
    • Update moveit documentation about the trac_ik library and about writing said plugins.
  • trac_ik_python: (#5)
    • Move from rospy to rclpy.
    • Use required ament_cmake_python functions to install the package.
    • Remove boost dependencies.
    • Move from tf/tf_conversions to tf2/tf2_kdl.
    • Settle on the trac_ik Python class API. What to do about the URDF string? Ideally it should mimic trac_ik_lib.
    • Update tests to be ROS 2 compliant.
  • trac_ik_examples: (#2)
    • Convert ROS 1 examples to ROS 2 equivalents.
    • Migrate launch file to be ROS 2 compliant.
    • Import a pr2.urdf file into the package launch tree.
      • This can be achieved by manually calling xacro on the pr2.urdf.xacro from the pr2_description package.
      • This is necessary because pr2_common is not published as a ROS 2 package.
    • Migrate parameters business to be rclcpp compliant.
    • Move from boost::posix_time::ptime to std::chrono::time_point.
      • This is not exactly needed, but I'd like to remove superfluous boost dependencies.
  • Miscellaneous:
    • #10
    • #11
    • #7
    • Move all packages from catkin to ament.
    • Change name to trac_ik2?
    • #8
    • Remove previous release CHANGELOGs.
    • #13
    • Remove previous tags.
    • Migrate from math3d.h to Eigen for matrix math. #26 (comment)
  • Community (?):

Enable common linters.

ament_lint_common should suffice. It will be useful to figure out if some files should not be linted.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.