- [mc_tasks] Add a simple constructor for StabilizerTask
- [mc_observers] Fix configuration reading for anchor frame configuration
- [mc_tasks] Allow to set the damping on PostureTask
- [mc_tasks] Log eval and speed in most tasks
- [mc_control] Add missing implementation for some (multi-robot) MCGlobalController functions
1.5.0 - 2020-09-09
- Output torques are automatically computed when a dynamics constraint is added to the solver (#52)
- mc_rtc::Configuration error reporting now reports the source of error (#60)
- Real robots instance are now created for all robots loaded by a controller
- Observer pipelines have been overhauled (#61); see the refreshed tutorial for details
- If a RobotModule provides torque derivative or joint acceleration bounds those will be enforced by (resp.) DynamicsConstraint and KinematicsConstraint
- [GUI] Added Table element with formatting support (#45/#47)
- [mc_rbdyn] Add an API to find force sensors indirectly attached to a surface
- Support for simple collision shapes described in URDF (#53)
- Suppport for wildcard collision specifications (#53)
- GUI monitoring for collisions (#53)
- User configuration for the build and install script (#48)
- Support for specifying torque derivative and joint acceleration bounds in RobotModule
- mc_naoqi public release, an interface for SoftBank Robotics robots
- Support for logging
std::array<double, N>
(#62) - Wrench completion criteria for SurfaceTransformTask (#63)
- Admittance sample controller (!215)
- Support for Ubuntu Focal/ROS noetic in utils script/CI
- Support for Debian Buster/ROS noetic in utils script/CI
- Fix several issues with special plots in mc_log_ui
- Publish up-to-date surfaces in ROS TF (#44)
- Improve documentation for completion criteria (#50)
- C-string overload for GenericLoader (fixes possibly ambiguous calls)
- Fix initialization issues
- Simplified device interface (#51)
- Fix an issue with collision transforms initialization
- Fix an issue with FSM executor perf entry logging
- Improved StabilizerTask/StabilizerState configurability (#23)
1.4.0 - 2020-06-11
- [FSM] Deprecates the use of
robotIndex
in favor of robot namerobot
bodyWrench
andsurfaceWrench
can now be computed with joints between the sensor and body/surfaceMessage
state can be used to display messages in the GUI as well as the CLI- Benchmarks can now be compiled and run with the
build_and_install.sh
script - Use RBDyn::Parsers instead of mc_rbdyn_urdf
- Functions that use mc_rbdyn_urdf were kept for backwards compatibility, they will be removed in a later release
- Improve error reporting when some tasks parameters are not set correctly
mc_rtc::log::info
,mc_rtc::log::success
,mc_rtc::log::warning
andmc_rtc::log::error
replace the respectiveLOG_*
macros, they use the spdlog library for asynchronous logging and modern formatting supportLOG_*
macros are now deprecated, they will be removed in a later release
- New benchmark for task allocation performance
- Support for
std::unordered_set
inmc_rtc::Configuration
- Added performance measurements to the FSM
- Fix and upgrade benchmarks compilation
- Correctly teardown the last FSM state
- Computed contact forces are logged with a unique identifier
- Improve Python 3 compatibility for mc_log_ui
1.3.0 - 2020-05-07
- mc_tasks::MomentumTask
- mc_rbdyn::RobotModule can specify a different URDF for showing the real robot
- mc_log_ui now has an icon and a dedicated .desktop file
- mc_solver::QPSolver always makes sure to udpate the problem size
- Many tasks throw as documented when pre-conditions are not met (e.g. surface does not exist or has no sensor attached)
- Improve gripper handling so that
MCGlobalController
handles gripper update - All robots' grippers are loaded and run by the controller
- Gripper interface is available from the
Robot
class - Gripper logging and publishing are correctly handled in a way transparent to the controller
- Gripper joints are hidden from the posture task GUI
- Gripper safety settings can be provided at the Gripper definition level or at the RobotModule level
- Enforce the list of supported robots provided by a controller
- Throws an error if selected joints do not exist
- Correctly handle default case in Contact GUI menu
1.2.1 - 2020-03-18
- Friction support for FSM contacts
- Bug when removing contacts from the GUI
- Loading of mc_rbdyn::Contact from YAML/JSON now supports friction
1.2.0 - 2020-03-17
- CoM task is now optional in
AddRemoveContact
state - timeout API for ControllerClient
- XY and 3D plots support in mc_log_ui
- animation support in mc_log_ui
- mc_rtc::DataStore to store arbitrary data and callbacks available across states
- Python bindings for robot().module() and controller configuration
- ZMP compensation control (ZMPCC) is now possible with the LIPMStabilizer
- Safety settings for gripper control can now be modified
- MetaTasksState can now deliver outputs relative to the completed task
- ParallelState output can be controlled more finely
- Contact friction can be set on a per-contact basis
- Simplify usage of constraint helpers
- Create a default CompoundJointConstraint for the main robot
- mc_log_ui uses PyQt5 instead of PySide
mc_tasks::GazeTask
: fix a possible division by zero- ROS support on macOS in build script
- Fix ROS linking issue, ensuring the ROS based tasks are available if the plugin is loaded
- Check 3rd-party CMake targets existence before creating them
- Improve constraint helpers documentation
- Fix typos in documentation and website
- Pass down mc_rtc version to Python bindings
- Improve build script ability to handle incremental updates
- Correct issue in calling MCController::loadRobot after the controller was started
- CoMTask logging correctly reports the current CoM
- Changing active/inactive joints while a task is in the solver will actually do nothing (as documented)
1.1.0 - 2020-01-15
mc_tasks::lipm_stabilizer::StabilizerTask
andmc_control::fsm::StabilizerStandingState
allow to use a state-of-the-art biped stabilizer in a stand-alone controller or as a parallel state in an FSM. Refer to the stabilizer documentation for more details- JSON/YAML documentation for the FSM states provided by the framework
- Split interface and macros header to improve incremental compilations of the framework. In some cases it might require to include the macros explicitely
virtual void update()
in themc_tasks::MetaTask
interface has been changed tovirtual void update(mc_solver::QPSolver & solver)
- JVRC1 and env modules now correctly set
_visual
1.0.1 - 2020-01-02
mc_rtc::MC_RTC_VERSION
andmc_rtc::version()
for compile/run-time discrepancies checking
- [mc_rbdyn] Allow aliases to specify a string
- [mc_rbdyn] Allow loading aliases of aliases
1.0.0 - 2019-12-23
Initial release