ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

As you said, your trajectory are executed correctly, but it's not smooth.

To have the smooth trajectory you need to have minimum energy (Kinetic and Potential). I am not sure how exactly you are calculating your joint_positions. You can create an optimization problem for this using direct method in which you discretise the optimization to minimize/maximize the cost function. You can write a cost function for total energy of a trajectory and optimize it using non linear programming. There are excellent open source libraries available to solve such non-linear problems, NLOPT , IPOPT and PSOPT. library requiring license includesSNOPT. There are bunch of other solutions available in the form of Framework, DRAKE link. klampt link. I personally would recommend for your problem, NLOPT as it is easy to program and you have many gradient and gradient free algorithms.

You can refer this sample code which does something what you asked using NLOPT, code link

To read about NLOPT link. To read about IPOPT link

As you said, your trajectory are executed correctly, but it's not smooth.

smooth.

To have the smooth trajectory you need to have minimum energy (Kinetic and Potential). I am not sure how exactly you are calculating your joint_positions. You can create an optimization problem for this using direct method in which you discretise the optimization to minimize/maximize the cost function. You can write a cost function for total energy of a trajectory and optimize it using non linear programming. There are excellent open source libraries available to solve such non-linear problems, NLOPT , IPOPT and PSOPT. library requiring license includesSNOPT. There are bunch of other solutions available in the form of Framework, DRAKE link. klampt link. I personally would recommend for your problem, NLOPT as it is easy to program and you have many gradient and gradient free algorithms.

You can refer this sample code which does something what you asked using NLOPT, code link

To read about NLOPT link. To read about IPOPT link

Also, Have a look at the simulation video link Video