Pull request #1192
Updated by Jules Waldhart over 6 years ago
pull request from branch wip to master.
libmove3d: from branch move4dwip
gui: from branch wip
Fixes/addresses:
ft #1167 / pr #1168
bug #1175
bug #1181
bug #1182
bug #1184
bug #1186
part of bug #1187
h1. Changelog:
h2. Added
* Compute stablility of robots: read Support polygon from json Entities definition, centers of mass from urdf
* get agent FoV from Entities/Agent file
* database also reads from a path given through API::Parameter
* Robots with name ending by CYLINDER are considered virtual
* collision class to check Cylinder instead of default collisions when available
* PlannerBase and PlannerRegister + Planner Factories, registers all existing motion planners
* Target class
* set numeric locale to en_US in project initialization (for using '.' and not ',' as decimal separator when parsing)
* API::Scene save/load scenario
* API::Parameter helper methods for setting/getting
* Set active DoFs from Joint and Robot
* helper to set Planning Parts
* RobotState::setCost
* access/set multi localpath config from Robot class (e.g Robot::setMultiLpGroupToPlan)
* robot::checkConstraints
* Scene::setDMax
* Path::resetCheckStatus and more
* Path register uses first registered factory as default
* Can now register several Path/LocalPath factories in a same cpp file (fix macro)
* Drawable 3D arrows, 2D grids
* logging uses output handlers to change output method (default is log4cxx)
* colored logs
* move4d has its own exceptions (unknown_robot)
* array_to_str function for logging
* self diagnostic (on request) debut
* Python bindings:
* LocalpathFactory
* global_Project
* request read/write json body/joint weights from python
* CollisionInterface::collisionList
* access/set multi localpath config from Robot class (e.g Robot::setMultiLpGroupToPlan)
h2. Changed
* include path is PREFIX/include/move4/move4d
* builds on Ubuntu 16.04
* do not require log4cxx when not used
* use Qt5
* use CMake target system: export target (backward compatible)
* N-D Grids improved/fixed + Dijkstra
* Graphic::Drawable2dGrid based on N-D grid
* LocalPath allocates its internal struct on construcion
* LocalPath throws when construction fails (invalid_argument)
* PqpCollision class fixed (let user disabled selfcollision)
* add some cv-qualifiers to Robot RobotState
* removed the HRI_ prefix of robot type names
* install python to PREFIX/lib/python3/site-packages (it was in python2.7)
h2. Removed
* LocalPathKDTP files where actually unused