Skip to content

Releases: HebiRobotics/hebi_cpp_api_ros

Release 3.16.0

07 Jan 19:48

Choose a tag to compare

Changelog:

Features/Changes:

  • Added function to rescale trajectory duration
  • Add function to create a trapezoidal-like trajectory with minimum jerk acceleration and deceleration phases (e.g., "Jerkazoidal")
  • Update C API dependency to 2.23.1 to fix various issues and enable trajectory rescaling and jerkazoidal functionality listed above
  • Add settable acceleration and velocity limits to hebi::Arm object. By default these are set based on the module types in the HRDF file, defaulting to infinity for basic "joint" types. When setting a new goal, these limits are respected and the trajectory timestamps are rescaled if necessary to prevent exceeding the limits.
  • Add several new arm::Goal constructors allowing creation of a goal by defining position and velocity but not accelerations

Bugfixes:

  • Do not limit unicast lookup addresses to current network interface address ranges (from C API update 2.22.1)
  • Fixed RX sequence number of receive timestamps on GroupFeedback objects read from log files (from C API update 2.23.0)
  • Performance optimization when writing logfiles, and other improved internal error handling (from C API update 2.23.0)

Release 3.15.0

29 Sep 15:13

Choose a tag to compare

Changelog:

Features/Changes:

  • Add cartesian force/torque Vector3f members to command and feedback messages
  • Add drivetrain status and motor hall state to feedback messages
  • Update C API dependency to 2.22.0 to support additional feedback types listed above

Bugfixes:

  • Null characters in UserSettings bytes payloads no longer terminate the string early (from C API update 2.22.0)
  • Reduced warnings and comment typos. Public interface changes are limited to:
    • changing int to size_t for Group and LogFile size() functions
    • changing float to double for Arm::enabledRatio() and Arm::rampTime()

Release 3.13.0

18 Jul 19:25

Choose a tag to compare

Changelog:

Features/Changes:

  • Add non-const Group and EndEffector getters to Arm class, and Group getters to EndEffector class
  • Added Arm.setEndEffector function to allow explicitly adding an end effector to an Arm object after construction
  • Improved joint limit objective function stability/behavior; C++ API now has additional tuning parameter to control edge behavior
  • Added time heuristic functions for choosing waypoint times (also exposed in C++ API along with trajectory time conversion methods)
  • Unicast addresses can be passed into the hebiLookup object in addition to broadcast interfaces
  • Added RobotModel.getMaxSpeeds and .getMaxEfforts functions to get max speeds and efforts for DoFs
  • Added Group.logUserState function to write a timestamped UserState event directly to the log file (can be viewed in Scope plots)
  • Added Trajectory.getMinMaxPosition, getMaxVelocity, and getMaxAcceleration functions to get extrema of the trajectory without needing to sample
  • Update CMake minimum version to 3.10 to avoid compatibility/deprecation warnings on more recent versions
  • Support v1.1 of the HEBI robot config format, adding command lifetime and feedback frequency parameters to the config file
  • add enums for T-5/8 and R/T-25 actuators and accessories. These are used with functional RobotModel construction methods as well as getting RobotModel metadata
  • Update C API to v2.20

Bugfixes:

  • C API update includes: (#343, #353)
    • fix COM frame position for R25 heavy brackets
    • Fix issues with “startLog”
    • Library symlink reference fixes
    • Bugfix for Jacobian computation of translational joints