Brand new user here trying to learn the ropes, so apologies in advance if this has been answered elsewhere. I’d also love to hear any recommendations for tutorials or guides that have helped people get started.
I’m trying to get a simple example of a ur5e working in Isaac Sim, with velocity commands sent from a Python script via SingleArticulation(). I have been able to get things to work by sending joint positions, but velocities are resulting in some odd behavior.
When I send a reasonable velocity command, the robot doesn’t appear to move - although upon closer inspection there is a slight movement before it “snaps back” to the initial position. Sending a significantly larger velocity command results in the robot moving, but then appearing to get “stuck”. At this point, it appears to oscillate around this final position.
This is a bit of a guess, but it almost looks to me like my velocity controller is fighting against a position controller set to the initial position. I’m not sure how this could be happening though, so any advice would be appreciated. A recording of the behavior is attached.
Here is the code that I’m running:
import isaacsim.core.utils.stage as stage_utils
from isaacsim.core.prims import SingleArticulation
import numpy as np
from isaacsim.core.utils.types import ArticulationAction
from isaacsim.core.api import World
# usd_path = "ur_test.usd"
prim_path = "/World/ur5e"
from omni.isaac.core.articulations import ArticulationView
prim = SingleArticulation(prim_path=prim_path, name="ur_test")
prim.initialize()
action = ArticulationAction(joint_velocities=np.array([-360,0,0,0,0,0]))
prim.apply_action(action)