xArm-Developer / xarm_ros

ROS packages for robotic products from UFACTORY
https://www.ufactory.cc/
BSD 3-Clause "New" or "Revised" License
206 stars 153 forks source link

Robot Mode 7: Velocity Limit & Null-Space Optimization #207

Closed lenzc closed 8 months ago

lenzc commented 8 months ago

Hi, I'm experimenting with controlling an xArm7 in mode 7 by calling MoveAxisAngle services and got two questions:

  1. How is a single parameter, mvvelo, used to limit the motion velocity in both translation and rotation? Does the controller have an internal conversion between mm/sec and rad/sec? (The same applies to the acceleration limit).
  2. In the case of the xArm7, does the internal controller perform any kind of null-space optimization?
penglongxiang commented 8 months ago

Hi @lenzc,

  1. Sorry just realized our documentation in the service file is not very appropriate. Please refer to the notice in our developer manual: Screenshot from 2024-01-16 11-02-13 In short, the range for velocity parameter is 0 to 1000 (mapped from smallest to largest allowed) for both linear and angular speed. For acceleration, the controller uses a fixed value for angular and the user specified value (mm/s^2) for linear.

  2. There is currently no direct support for null-space operation for xArm7 by our service, we will evaluate and see if this function can be added in future releases. There is one related example (in simulation) contributed by other users, you can check here.

lenzc commented 8 months ago

Thanks @penglongxiang for the fast reply. This answers my questions.