Closed FrGe2016 closed 2 months ago
Please give us some information: your ROS distro, ros2_control version, your controller configuration yaml etc.
I have ros2 Humble.
I have a real home made robot, controlled by a micro controller, the micro controller has a pid loop command on position, one tcp server stream the actual position and velocity to the hardware interface while another receive the position command. Of all the joints, the lateral joint is the slowest, it is a prismatic joint ( rack and pinion). The JTC confirm success while this joint is not at his destination ( time remaining 1,5 to 2 seconds )
g_controllers.yaml
g.ros2_control_arm.xacro
It would be very helpful if you format your comments appropriately.
Have a look at the documentation. You don't specify any of the constraints parameters, which means that JTC succeeds if every joint velocity is below 0.01units (default setting). This could be the case with your "slow actuator".
However, consider sending a feasible trajectory to your system which can be reached on time at least in the nominal case.
one tcp server stream the actual position and velocity to the hardware interface
as it's a common pattern I see with 'cheap servos' (which can't report the actual current state): is this really the current state, or the last commanded state?
I have good feedback's with absolute angle measurements for my revolute joints an an encoder for my slow prismatic joint.I missed that part of the documentation, my starting point configuration files generated by moveit setup assistant. I will try to fix my problem with the available parameters. ( but my slow joint is not that slow and there is a factor of 70 compared with the other joints.) Setting a global parameter could be an issue. In last resort, i will modify the joint trajectory controller but i will try to avoid it .
Seems to be solved.
I have a slow home made robot, On every moves, the succes, for the slower joint, is confirmed a few seconds before the joint target is reached ? At this moment, there is still a significant distance to travel, ( we are not talking of oscillation around the target due to a not well adjusted PID)