Fanuc robot slows down at each trajectory point despite CNT is set to 100
I'm using ROS kinetic and fanuc_driver_exp on the Fanuc LR Mate 200iD/4S (R30iB Mate controller). I am using MoveIt! to move the robot, RRTConnect planning library and TRAC_IK inverse kinematics solver. The problem is that the robot slows down at each trajectory point even when I use CNT 100 variable in ROS_TRAJ cfg.
What I have tried:
- Using different OMPL planners, inverse kinematics planners with changing parameters.
- Trying industrial trajectory filters (uniform_sample_filter and n_point_filter)
- Enforcing joint model state space.
- Using higher acceleration limits.
- Moving the robot in moveit planning commander, RVIZ Motion Planning plugin and C++ move_group_interface.
- Trying various CNT values on Fanuc controller.
Problem in more detail:
With the planners tunning I have reached solid trajectory planning success in my opinion (the velocity of the joints tries to follow trapezoidal profile and it changes without jumps in random directions as it was the problem at the beginning). The bottom graphs represent planned positions, accelerations and velocities for the first joint of the robot.
But when I connect the ROS to the real robot, robot has a bit of jerky motion (more noticable at higher speeds). When analyzing the plot from joint_states for joint 1 position for the same move as planning it seems that the robot slows down at each planned point. The plot looks like this:
I must say that after the tunning I got better performance (shaking occurs at higher velocity than before) but there are still some limits.
Now I wonder if you have any suggestions if there is anything else to try to enhance that motion? Or is this it and the limit to reach the smoothness lies in the controller?