Migration to 2.8.0
Upgraded to latest version of MoveIt Servo
Starting with version 2.8.0
, the Teleoperate
Behavior was divided into two separate behaviors named TeleoperateJointJog
and TeleoperateTwist
depending on the corresponding type of command.
Similarly, the Teleoperate
Objective has been updated to separate Teleoperate Joint Jog
and Teleoperate Twist
Objectives that use the respective Behaviors above.
If you are upgrading your robot configuration package(s) from a previous version, ensure you make these changes before running MoveIt Studio. You can directly use the teleoperate_joint_jog.xml and teleoperate_twist.xml files in the UR example repo.
IsForceWithinThreshold
refactored to be reusable in a loop
In previous MoveIt Studio versions, the IsForceWithinThreshold
Behavior was written as a Condition node that returned SUCCESS
or RUNNING
at every tick.
Starting with version 2.8.0
, this Behavior is now an Action node that can also return RUNNING
and only returns a terminal state if the force exceeds the provided thresholds.
As such, updating your robot configuration package(s) from a previous version requires changing your Objectives. For example, to execute a task that is aborted early due to exceeding a force threshold, the changes are as follows:
<!-- Previous implementation -->
<ForceSuccess>
<ReactiveSequence>
<Condition ID="IsForceWithinThreshold" parameters="{parameters}" />
<Action ID="SomeOtherTask" />
</ReactiveSequence>
</ForceSuccess>
<!-- New implementation -->
<Control ID="Parallel" success_count="1" failure_count="1">
<Decorator ID="Inverter">
<Action ID="IsForceWithinThreshold" parameters="{parameters}"/>
</Decorator>
<Action ID="SomeOtherTask"/>
</Control>