turtlebot3_manipulation
turtlebot3_manipulation copied to clipboard
[Simulation, Humble] abrupt arm movement due to `open_loop_control` in `joint_trajectory_controller`
I use
ros2 launch turtlebot3_manipulation_bringup gazebo.launch.py
and control the arm directly using the /arm_controller/joint_trajectory
topic. When I send the first command then it leads to an abrupt start as follows:
This behavior is probably due to: https://github.com/ROBOTIS-GIT/turtlebot3_manipulation/blob/3baa265d0f4843955ed77716be6f88b71689d7a1/turtlebot3_manipulation_bringup/config/gazebo_controller_manager.yaml#L45
ROS2 Control docs state:
If this flag is set, the controller tries to read the values from the command interfaces on activation. If they have real numeric values, those will be used instead of state interfaces. Therefore it is important set command interfaces to NaN (i.e., std::numeric_limits
::quiet_NaN()) or state values when the hardware is started.
Setting open_loop_control
to false
fixes the issue.
Why is open_loop_control
is active? Is a feedback from the hardware interface not better?
@ROBOTIS-Will will Turtlebot3 receive any updates in the future for ROS2?
Background: Currently most of the effort seems to be driven by the community, however Turtlebot3 has a complex infrastructure, which is difficult to understand/contribute. If Turtlebot3 won't receive any focus from your dev team in the near future, please state this in your README, or pin an issue.