Changelog

Upcoming

1.8.2

Trossen Arm Driver

  • Moved the default tool frame from a point on the contacting surfaces to the tips of the fingers.

  • Added pre-run trajectory check to trossen_arm::TrossenArmDriver::set_cartesian_positions(). Now the driver by default samples 1000 points on the trajectory and checks if they have the corresponding inverse kinematics solutions before moving.

  • Added a demo for configuring joint limits. It is available in set_joint_limits.

  • Fixed two issues related to mixed interpolation spaces and updated the demo mixed_interpolation_space.

    • Using joint space commands immediately after Cartesian space commands no longer causes unexpected behavior. (trossen_arm#78)

    • Using Cartesian space commands immediately after setting to the corresponding mode no longer causes unexpected behavior.

Warning

Trossen Arm Driver 1.8.1 has been yanked due to potentially unsafe behavior on mode switching.

Trossen Arm Controller Firmware

1.8.1

Trossen Arm Driver

  • Updated mode switching logic to no longer skip joints whose mode did not change.

    This resolves trossen_arm#71, which caused unexpected arm movement during mode transitions.

    The root cause was that the interpolation space resets to joint mode, requiring the interpolator to also reset. Without this, Cartesian values could be incorrectly interpreted as joint values.

Warning

Trossen Arm Driver 1.8.0 has been yanked due to potentially unsafe behavior on mode switching.

Trossen Arm Controller Firmware

  • Skip limit checks in idle mode.

1.8.0

Trossen Arm Driver

Trossen Arm Controller Firmware

  • Added the associated interface for the new effort mode.

  • Added rotor and driver temperatures to the output.

  • Added the associated interface for soft reboot.

  • Exposed the associated interfaces for the new configurations.

  • Added checks on outputs according to the joint limits and on inputs for infinite values.

  • Removed deprecated continuity check.

  • The connection, disconnection, and data exchange is now handled more robustly.

    • UDP is only used for control and TCP handles the rest of the communication.

    • The controller now return to idle mode if the connection is lost.

    • The controller now only accept one driver at a time.

  • Revised default configurations to more reasonable values, more specifically