Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joint Velocity Limits in UR10e #109

Open
adawne opened this issue Nov 12, 2024 · 2 comments
Open

Joint Velocity Limits in UR10e #109

adawne opened this issue Nov 12, 2024 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@adawne
Copy link

adawne commented Nov 12, 2024

Hi, was there any specific reason why the forcerange for the UR10e and the grouping of the actuators are defined in this way?

I am asking because I noticed that the forcerange of the actuators does not match the values specified in the technical datasheet, even though I understand that MuJoCo is unitless. However, the qvel values (I believe data.qvel is returned in rad/s based on this reference, please correct me if I am mistaken) produced when I attempted to control some joints using data.ctrl sometimes exceed the velocity limit specified in the technical datasheet.

For example, when I tried the following code:

  model = mujoco.MjModel.from_xml_path("mujoco_menagerie/universal_robots_ur10e/scene.xml")
  data = mujoco.MjData(model)
  time_datas = []
  qvel_datas = []



  with mujoco.viewer.launch_passive(model, data) as viewer:
      start_time = time.time()
      num = 0
      while viewer.is_running() and time.time() - start_time < 300:
          # active_motors.print_actuator_parameters(model)
          step_start = time.time()
          current_time = time.time() - start_time
          if data.time > 1:
              data.ctrl[1] = -2.5
          time_datas.append(current_time)
          qvel_datas.append(data.qvel[:6].copy())

          mujoco.mj_step(model, data)
          viewer.sync()

          time_until_next_step = model.opt.timestep - (time.time() - step_start)
          if time_until_next_step > 0:
              time.sleep(time_until_next_step)

I observed that the joint velocities exceeded the maximum limit of 2 rad/s specified in the datasheet
qvel2.
Do you have any recommendation on how to maintaining the velocity constraints as per the datasheet?

@adawne adawne added the bug Something isn't working label Nov 12, 2024
@kevinzakka
Copy link
Collaborator

kevinzakka commented Nov 13, 2024

Hi @adawne, I compared our forcerange values with the "effort" values in the official URDF here and they seem to match. Am I missing something?

@adawne
Copy link
Author

adawne commented Nov 14, 2024

Ah yeah, it matches the URDF values. The issue is MuJoCo doesn't have a velocity limit (correct me if i'm wrong), which might be causing the exceedance. Should I add damping or rescale the force range to keep it within spec sheet?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants