Action server - Arbotix - To transition to a succeeded state, the goal must be in a preempting or active state, it is currently in state: 2

asked 2017-09-17 02:24:51 -0500

navneet_hooda gravatar image

I am currently using the Arbotix stack for ros indigo to control the dynamixel servos. In fake device mode the arbotix simulates the joints as if they are controlled by the dynamixel servos and i am able to control individual servos. But when i use the follow_joint_trajectory action server implemented by the arbotix, the goal once send to the controller can't be stopped/cancelled in the middle of the trajectory execution. So i modified the FollowController.py file in the arbotix_python, i added a simple check for server preempt request in the for loop of the trajectory execution method. Now when i build the package and run the controller, i am able to stop the controller by sending cancel goal command from the client but also the new goal received is immediately taken up by the controller and executed accordingly. But there is an error displayed on the server side that 'To transition to a succeeded state, the goal must be in a preempting or active state, it is currently in state: 2' in red color. I have no idea why this error is popping out, whereas the program runs fine.

edit retag flag offensive close merge delete

Comments

Hi. I'm currently trying to use ROS on the Arbotix to control some dynamixel servos, too. Unfortunately I cannot achieve a smooth trajectory execution. The movement looks super jerky. Would you maybe be so kind to give me the code you've been using for this project so I can take a look at it.

Jonas Scherer gravatar image Jonas Scherer  ( 2019-08-09 04:02:41 -0500 )edit