Giter Site home page Giter Site logo

rafaelrojasmiliani / gsplines_cpp_ros Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 127 KB

Generalized Splines for Motion Optimization in C++ and python3

License: MIT License

CMake 6.66% Shell 1.96% Batchfile 0.84% Python 42.44% C++ 47.23% Dockerfile 0.88%
motion-planning trajectory-optimization trajectory-generation ros robotics collaborative-robotics jerk-minimization optimal-control robot-motion-planning ros-control

gsplines_cpp_ros's People

Contributors

madbot97 avatar rafaelrojasmiliani avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

gsplines_cpp_ros's Issues

Add Basis message

Ad a message describing a Basis by its name, dimension and parameters

Implement testing

  1. Unit test of interoperability functions.
    • basis_msg_to_basis and basis_to_basis_msg can be inverted (applying one after the other gives the same)
    • gspline_msg_to_gspline and gspline_to_msg can be inverted (applying one after the other gives the same)
    • gspline_to_joint_gspline_msg and gspline_to_joint_trajectory_msg can be inverted
    • function_to_joint_trajectory_msg, gspline_msg_to_joint_trajectory_msg, joint_gspline_msg_to_joint_trajectory_msg, function_to_follow_joint_trajectory_goal, gspline_msg_to_follow_joint_trajectory_goal, joint_gspline_msg_to_follow_joint_trajectory_goal` test that the values coincide with the function position, derivative, acceleration
    • follow_joint_trajectory_feedback_to_follow_joint_gspline_feedback, follow_joint_gspline_goal_to_follow_joint_trajectory_goal check that can be inverted
    • follow_joint_gspline_result_to_follow_joint_trajectory_result follow_joint_trajectory_result_to_follow_joint_gspline_result can be inverted
    • waypoint_matrix, interval_length_vector give correct result
    • interpolate_joint_trajectory
    • minimum_sobolev_semi_norm, minimum_sobolev_semi_norm_joint_trajectory, minimum_jerk_trajectory
  2. Integration tests
    • Basis message
    • GSpline message
    • Control messages and actions

Implement interoperability functions

Convert Generic functions into ros_control objects

from to
gsplines::function::FunctionBase trajectory_msgs::JointTrajectory
gsplines::function::FunctionBase control_msgs::FollowJointTrajectoryGoal

Convert Gsplines into gsplines_msgs and ros_control objects

from to
gsplines::GSpline gsplines_msgs::GSpline
gsplines::GSpline gsplines_msgs::JointGSpline
gsplines::GSpline trajectory_msgs::JointTrajectory
gsplines::GSpline control_msgs::FollowJointTrajectoryGoal

Convert gsplines_msgs into GSplines and ros_control objects

from to
gsplines_msgs::GSpline gsplines::GSpline
gsplines_msgs::GSpline gsplines_msgs::JointGSpline
gsplines_msgs::GSpline trajectory_msgs::JointTrajectory
gsplines_msgs::GSpline control_msgs::FollowJointTrajectoryGoal
gsplines_msgs::JointGSpline gsplines::GSpline
gsplines_msgs::JointGSpline gsplines_msgs::GSpline
gsplines_msgs::JointGSpline trajectory_msgs::JointTrajectory
gsplines_msgs::JointGSpline control_msgs::FollowJointTrajectoryGoal

Convert ros_control objects into GSplines

Interpret ros_control objects as interpolation requests

from to
trajectory_msgs::JointTrajectory gsplines::GSpline
control_msgs::FollowJointTrajectoryGoal gsplines::GSpline

Interpret ros_control objects as optimization requests

from to
trajectory_msgs::JointTrajectory gsplines::GSpline
control_msgs::FollowJointTrajectoryGoal gsplines::GSpline

Improve random trajectories generators

The random trajectory generators should be able to

  • 1. Use dynamic reconfigure
  • 2. Parametrized type of trajectory optimization
  • 3. wait until the robot stops before publishing a new trajectory

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.