Skip to content

v1.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@pzhu-flexiv pzhu-flexiv released this 01 Dec 22:57
· 6 commits to main since this release
6ff4790

COMPATIBILITY

  • Internal pre-release

ADD

  • Add API access of flexiv::Model to Windows.
  • Add new API flexiv::Tool to online update the robot tools. Add C++ and Python examples.
  • Add ToolParams data struct to Data.hpp.
  • Add new API flexiv::FileIO to do file transfer with the robot.
  • Add Robot::setBreakpointMode() and Robot::stepBreakpoint() to do breakpoint control when executing plans.
  • Add PlanInfo::waitingForStep variable to indicate breakpoint status.
  • Add more generic Cartesian motion-force control modes RT/NRT_CARTESIAN_MOTION_FORCE to replace the old ones which are RT/NRT_CARTESIAN_MOTION_FORCE_TCP and RT/NRT_CARTESIAN_MOTION_FORCE_BASE.
  • Add functions to configure force control parameters for the new Cartesian motion-force control modes: Robot::setForceControlAxis(), Robot::setForceControlFrame(), and Robot::setPassiveForceControl().
  • Add behavior description to the function doc of Robot::sendJointPosition().
  • Add input parameter continueExec to Robot::executePlan() to specify whether to continue executing the plan when the RDK program is closed or the connection is lost. Set this parameter to true in the plan execution examples.
  • Add Robot::isEnablingButtonPressed() to check if the enabling button on the robot motion bar is pressed.
  • Add Robot::getErrorMessage() to get error message if the robot is in fault state.
  • Add Model::reload() to sync the latest robot model and tool model data from the connected robot.
  • Add Scheduler::minPriority() to get the OS' minimum available priority for user tasks.
  • Add check on user-specified task priority against the OS' minimum available priority to Scheduler::addTask().
  • Add [Blocking] or [Non-blocking] tag to function doc.
  • Overload Gripper::getGripperStates() with a variant that directly returns GripperStates data struct.
  • Overload Robot::getRobotStates() with a variant that directly returns RobotStates data struct.
  • Add GitHub workflow for macOS build.

CHANGE

  • Split RDK license to Standard license and Professional license. The standard license provides access to essential and non-real-time functionalities such as reading robot states, sending plan/primitive commands, etc. The professional license provides access to everything included with the standard license, plus robot dynamics and real-time functionalities such as joint torque/position streaming, Cartesian motion/force streaming, etc.
  • Change Robot::streamCartesianMotionForce() and Robot::sendCartesianMotionForce() to use the same controller as MoveHybrid primitive. Update Cartesian motion-force control examples accordingly.
  • Change Robot::getPlanInfo() to return PlanInfo data struct directly.
  • Change the term "base" to "world" when referring to the robot's global coordinate.
  • Change RobotStates::extWrenchInBase to RobotStates::extWrenchInWorld.
  • Make the effect of Robot::setNullSpacePosture() persistent: not resetting preferred joint positions to nominal when switching modes.
  • Remove input parameter isBlocking from Scheduler::start(), the user should implement their own blocking from the calling thread if needed. Update examples accordingly.
  • Remove check on elapsed waiting time of Robot::isOperational() from the examples.
  • Remove RobotStates::camPose: the ownership of camera pose is transferred to Noema AI system.
  • Merge test_dynamics_with_tool into test_dynamics_engine.
  • Improve function docs.
  • Remove Ubuntu 18.04 from supported OS list.
  • Rename C++ libs to the same pattern as the Python libs.
  • Format Python examples using Black Formatter.
  • Update MSVC compatible version in README.

FIX

  • Fix a root link bug in flexiv::Model.
  • Fix memory leak of flexiv::Scheduler.
  • Fix initial timer fluctuation of flexiv::Scheduler.
  • Fix Robot::runAutoRecovery().