ROBOTIS-GIT / open_manipulator

OpenManipulator for controlling in Gazebo and Moveit with ROS
http://emanual.robotis.com/docs/en/platform/openmanipulator/
Apache License 2.0
351 stars 151 forks source link

open_manipulator keyboard teleop freezes #222

Open ROBOTIS-Will opened 3 years ago

ROBOTIS-Will commented 3 years ago

This issue was reproduced in the environment below.

How to reproduce this issue

  1. Launch the controller
    $ roslaunch open_manipulator_controller open_manipulator_controller.launch 
  2. Launch the teleop node and send keyboard commands continuously.
    $ roslaunch open_manipulator_teleop open_manipulator_teleop_keyboard.launch
DarrylHsu0105 commented 2 years ago

Hi, I am currently facing the same problem. Ubuntu 20.04.3 LTS OpenMANIPULATOR-P (default settings) U2D2 (port latency 1ms)

And I used same command with you. Now , I can't using GUI or Keyboard teleop control it. I can only use "Actuator" and "read" button , everything else causes a freeze. So, how can fix it. thank you. By the way, I'm sure all of my joint are all within the working range (1.571 rad).

ROBOTIS-Will commented 2 years ago

Hi @DarrylHsu0105 In case of operating the OpenMANIPULATOR-P, you should use the openmanipulator-p package. https://github.com/ROBOTIS-GIT/open_manipulator_p Which ROS version do you use?

JYKimm commented 1 year ago

not fixed yet?

ChangAnCN commented 7 months ago

Same issue. can not use it.

gholibqasobov commented 6 months ago

HI there, has anyone solved it? I am having the same issue.

sunghowoo commented 2 months ago

@DarrylHsu0105 The issue has been debugged and resolved. The root cause was that when keyboard inputs occurred consecutively, new commands were being issued before the robot had completed its previous movements, leading to the robot controller freezing.

Resolution:

In the open_manipulator_controller.cpp file, I used the open_manipulator_.getMovingState() method to ensure that additional commands are ignored while the robot is in motion. This modification prevents new commands from being executed during ongoing movements, ensuring smooth operation even with continuous keyboard input.

The fix has been applied in the develop branch, and you can access it using the following command:

git clone -b develop https://github.com/ROBOTIS-GIT/open_manipulator.git

With this adjustment, the robot now operates smoothly even with rapid keyboard inputs, and the issue of the program freezing has been resolved. Please feel free to reach out if any further issues arise.