flexivrobotics / flexiv_rdk

RDK (robotic development kit) for Flexiv robots. Supports C++ and Python. Compatible with Linux, macOS, and Windows.
Apache License 2.0
58 stars 18 forks source link

Arm unsafe movement in the NRT_CARTESIAN_MOTION_FORCE mode #42

Closed acf986 closed 5 months ago

acf986 commented 8 months ago

Version information

Describe the bug The robot arm move in an unsafe and violent way when executing specific trajectory in NRT motion force mode. The same issue as described in this issue.

Steps to reproduce

  1. Boot the robot into NRT MOTION FORCE mode.
  2. Execute the reference in this file problem_traj.txt using sendCartesianMotionForce() api. Each line of this file is a reference pose of format [x, y, z, w, x, y, z]. And the interval between two reference pose is 20ms (the reference is to be updated at 50Hz).
  3. The arm will move very violently. Sometimes triggering emergency stop.

Expected behavior The arm moves smoothly.

Screenshots NA

Additional context Suspect there's a bug in the flexiv's reference generator. The same trajectory can be executed by RT MOTION FORCE mode without any problem. (You can up-sample the reference from 50Hz to 1000Hz with linear interpolation and give it a try.)

pzhu-flexiv commented 8 months ago

@acf986 Does the issue occur also for other update frequencies? For example, 1Hz, 10Hz and 100Hz.

acf986 commented 8 months ago

@pzhu-flexiv As long as the robot is in the NRT_CARTESIAN_MOTION_FORCE mode, it will happen. However, the same trajectory (up sampled) in RT_CARTESIAN_MOTION_FORCE mode runs fine.

pzhu-flexiv commented 8 months ago

@acf986 Thanks for the information, we have repeated the bug and will look into it

acf986 commented 8 months ago

@pzhu-flexiv May I know is there any update on this issue? Or the possibility of any walk around?

pzhu-flexiv commented 8 months ago

@acf986 We found the issue, but it's not from the RDK client side, but in the robot controller. Please wait for a hotfix.