Skip to content

joint_acceleration_discontinuity for CARTESIAN_VELOCITY control #47

@jstmn

Description

@jstmn

Hi,

I'm trying to use the CARTESIAN_VELOCITY controller but am unable to send any commands, due to the cartesian_motion_generator_joint_acceleration_discontinuity: true error being thrown, even for very small actions. This error crashes the franka-interface program. I haven't made any changes to the controller config files. It seems like the logic in cartesian_velocity_control.py avoids this error by very slowly increasing the input. I'd like to be able to command to any arbitrary velocity however, and have the controller try to reach that velocity on its own. Is that possible? How can I do that if so?

Example code:

franka_interface = FrankaInterface(deoxys_interface_cfg,  use_visualizer=False)
reset_joint_positions = [
    0.09162008114028396,
    -0.19826458111314524,
    -0.01990020486871322,
    -2.4732269941140346,
    -0.01307073642274261,
    2.30396583422025,
    0.8480939705504309,
]
reset_joints_to(franka_interface, reset_joint_positions)

controller_type = "CARTESIAN_VELOCITY"
controller_cfg = get_default_controller_config(controller_type=controller_type)
for i in range(100):
    action = [0.0025, 0.0, 0.0, 0.0, 0.0, 0.0] + [-1] # repeat crashes
    franka_interface.control(
        controller_type=controller_type,
        action=action,
        controller_cfg=controller_cfg,
    )
    print(franka_interface._state_buffer[-1].current_errors) # returns 'cartesian_motion_generator_joint_acceleration_discontinuity: true'

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions