You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Console: watchdog default changed to 30 ms. The default can be overridden in console.json file.
Arm: SetRobotControlState has been removed, use SetDesiredState and GetDesiredState/GetCurrentState commands along with DesiredState/CurrentState events
Arm: no need to set a new state to switch control mode (position/cartesian position/goal/effort)
Arm: joint states size is now based on number of joints used for kinematics. Gripper (PSM) and jaw (MTM) are reported using a different joint state command/topic
Console: digital inputs/outputs not specific to an arm are now defined in a different file. All sawRobotIO1394-{PSM,ECM,MTM} XML config files need to be updated!
Deprecated features:
Arm: removed hard coded pot tolerance per arm type. Now uses sawRobotIO XML file to save settings per arm and implementation uses time instead of iteration counter.
New current calibration procedure, reduces current offset and undesired torques when request current is zero. Please regenerate your sawRobotIO configuration files!
Use mtsStateMachine to better control initialization and homing, now manages desired vs. current state
States for each control mode have been removed, the mode will be automatically set when receiving a new move command
Control modes have been added (space: actuator/joint/cartesian/user and mode: position/trajectory/effort/user) instead of states
Control mode for user implementations in derived classes can be set using SetControlCallback
Use Reflexxes for trajectory generation. Can now interrupt existing trajectory using current velocity instead of resetting to 0. Dropped use of robLSPB
Cartesian impedance controller has been added to all arms. Very useful for simple haptic feedback on MTMs. Some examples are available in dvrk-ros.
When using firmware 6, use velocity estimation from controller (much better timestamps and estimation)
Uses new standardized mtsMessage for Qt messages and ROS log
PSM:
Added support for 5mm tools (snake-like tools)
For 5mm tools, joint state has 8 joints
Added IK with equality constraints to support 5mm tools
Added implementation for tool specific torque limits (loaded from psm-xyz.json)
Added general purpose socket base protocol to communicate with PSM
In psm-_.json, no need to provide all coupling matrices, just need the actuator to position
MTM: Homing is now slower to prevent hard hits on roll joint. Also just looking for lower limit instead of both lower and upper limits
Teleop PSM:
Added support for alternate master arm (sawForceDimensionSDK)
Console:
Added support for dynamic loading of external cisst/SAW components (e.g. sawKeyboard, sawForceDimensionSDK, sawSensablePhantom)
Support for alternate foot pedals (keyboard) and master arms (Novint Falcon, ForceDimension)
Separated configuration files for digital inputs/outputs from arm configuration files (see API changes)
Uses new standardized mtsMessage for Qt messages and ROS log
Console Qt:
Added tag/clear shortcuts in message window
Can power all arms without homing, this allows to test safety chain and pot/encoders without PID on
SUJ:
use state machine compatible with other arms
now reports joint values even if the arm is not in state "READY"
minor updates for firmware 6
use joint state instead of joint position
CMake:
Everything can now be compiled on Windows when using proper branch of sawRobotIO
ROS:
Bug fixes:
Fixed loading joint coupling matrix when the arm is started with a tool in place
Fixed jumps at homing and control mode transitions with rewritten PID component