CHANGELOG

Changelog for package hebi_cpp_api

3.10.0 (2024-08-30)

  • Features/Changes: * add dynamics comp + doubled joint plugins * add getters/setters for impedance control plugin * use doubles instead of floats in arm plugins (minor change in experimental arm class) * parse “user data” values as same parameter types as for plugins instead of saving as strings (minor change in experimental arm class) * store absolute path for robot config file withing RobotConfig structure * try to load/set default gains when creating arm from config * update C API to 2.15.0 from 2.13.0 * provides ubuntu 20.04 compatibility again * adds support for debug symbols in win X64 build * lookup searches localhost by default to work with private imitation groups from Scope * multiple log files per second now supported when using default file name (note – naming convention changed from hh.mm.ss to hh-mm-ss.ms to match MATLAB API convention) * prevent certain large info messages returned from modules from getting dropped * added control strategy 5 to ControlStrategy enum * update minimum required CMake to 3.5 to reduce cmake warnings from newer versions * added helpers to optionally create Arm and MobileIO objects using an existing Lookup object * access “Runtime Data” in “Extra” info packets, including number of seconds a module has been on and/or commanded. Note – requires firmware support, and count will only include time for module since first updating to firmware with this feature. * MobileIO class now has “sendLayout” and “sendLayoutBuffer” functions, allowing layout configurations to be sent to MobileIO devices

  • Bugfixes: * added const attribute for a number of getters * small refactoring for readability, minor cleanup and formatting * update calls for C IK functions from internally deprecated ones to equivalent new ones * address a number of compiler warnings, while making warning checking more strict for GCC and clang * ignore warnings given by included Eigen library

  • Contributors: Matthew Tesch, Aditya Nair

3.9.0 (2024-07-10)

3.2.0 (2020-4-3)

  • Added experimental high-level “Arm API” to enable easier control of robotic arm systems

  • Contributors: Chris Bollinger

3.1.1 (2019-12-16)

  • Fix incorrect behavior when getting and setting IO pin values

  • Contributors: Matthew Tesch

3.1.0 (2019-12-02)

  • Reduce conversion needs by adding (deprecated) overloads for:

    • getJ

    • getJacobians

    • getFK

    • getForwardKinematics

    • getFrameCount

  • Fix multiple definition error

(from 3.0.0)

  • Robot Model:

    • Added “input frame” type for forward kinematics operations

    • Added end effector support (custom and parallel gripper types)

    • Added R-series support (actuator, link, bracket, and end effector)

    • Added options for link input + output type

    • Support import of HRDF format 1.2.0

  • Robot Model:

    • removed “combine” functionality for addJoint and addRigidBody

    • now only allows addition of elements which match the physical interface of the previous element

    • changed the behavior of “end effector” frames; by default, none are returned any unless an “end effector” is specifically added

    • Changed usages of HebiJointType, HebiFrameType, and HebiRobotModelElementType C-style enums to C++ scoped enums

  • Fixed bug when setting IO pins in commands; commands would sometimes affect other pins.

(from 2.2.0)

  • Added ability to set and clear text in the experimental mobile IO API

  • Added ability to get raw feedback from experimental mobile IO API

  • Contributors: Matthew Tesch

2.1.0 (2019-08-21)

  • Updated various messages:

  • Info:

  • Added “serial” getter for Info packets

  • Info and Command:

  • Added mstop strategy

  • Added position limit strategies

  • Added velocity limits

  • Added effort limits

  • Added flag for whether or not accelerometer feedback includes gravity (on supporting devices, namely Mobile IO devices

  • Command:

  • Added ability to set strings for and clear the “log” text field in the Mobile IO apps

  • Feedback:

  • Added “pwm command” feedback

  • Add “robot element metadata” that allows for introspection of RobotModel objects.

  • Import/Export safety parameters from/to a file into/from GroupCommand objects

  • Export safety parameters to a file from GroupInfo objects

  • Added “experimental” namespace intended for feature-preview items

  • Added “mobile io wrapper” to experimental namespace that allows for easier interface with Mobile IO devices

  • Update core C API from 1.4.2 to 1.8.0

  • Significantly faster Jacobian computation

  • Full wildcard lookup supported when creating groups

  • Significantly faster trajectory solver implementation

  • Added “subaddress” support in lookup, commands, feedback, and logging; allows for simulator support

  • Cleaned up code style:

  • default destructors and accessibility for deleted copy/move assignment operators

  • const on move operators (src/util.hpp)

  • made several getters inline

  • Added “FunctionCallResult” used when importing safety parameter files to allow error message to be accessed

  • Update core C API from 1.4.2 to 1.8.0

  • Fixed getters for motor position, ar position, ar orientation, ar quality, and battery level in feedback

  • Locale invariant conversion when reading in .xml files, such as gains and HRDF (always expect “1.23” instead of “1,23”, regardless of system’s locale setting)

  • Use Ethernet header instead of message packet content to discover modules on the network (fixes issue when using multiple interfaces - wired and wireless - on iPad or Android running HEBI Mobile I/O)

  • Contributors: Matthew Tesch

2.0.2 (2019-01-29)

  • Make package installable

  • Moved the header files into an include directory

  • Removed the Eigen folder; use ROS package instead

  • Fixed CMake for installable package

    • Addressed Eigen dependency

    • Installed include files and libraries correctly

  • NOTE: this does not correspond with an official 2.0.2 release of the upstream HEBI C++ API, because these changes were all local ROS build system changes. This mismatch will be resolved in v2.1.0.

  • Contributors: Matthew Tesch

2.0.1 (2018-12-19)

  • Initial import of the HEBI C++ API v2.0.1 - Note: package.xml and CMakeLists.txt have been changed to be catkin compliant.

  • Addressed i386/armhf/aarch64 ros buildfarm issues.

  • Contributors: Matthew Tesch