A collection of library modules to facilitate the creation of full control loop algorithms, including state representation, motion planning, kinematics, dynamics and control.
Similar to a recent PR on network-interfaces, I'm adding here the pkg-config files to the control libraries. For each module, I'm creating a separate file and then I'm also creating one for the top level cmake project that summarizes the 4 modules. The result are 5 files:
/usr/local/lib/pkgconfig/state_representation.pc:
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: state_representation
Description: This library provides a set of classes to represent states in Cartesian and joint space.
Version: 6.3.1
Requires: eigen3 >= 3.4.0
Cflags: -I${includedir}
Libs: -L${libdir}
/usr/local/lib/pkgconfig/dynamical_systems.pc:
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: dynamical_systems
Description: This library provides a set of classes to represent dynamical systems; functions which map a state to a state derivative.
Version: 6.3.1
Requires: state_representation >= 6.3.1
Cflags: -I${includedir}
Libs: -L${libdir}
/usr/local/lib/pkgconfig/robot_model.pc:
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: robot_model
Description: This library is a wrapper for the pinocchio library, used to compute dynamics model of a robot.
Version: 6.3.1
Requires: state_representation >= 6.3.1, pinocchio >= 2.6.9
Cflags: -I${includedir} -lOsqpEigen
Libs: -L${libdir}
/usr/local/lib/pkgconfig/controllers.pc:
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: controllers
Description: This library introduces a set of controllers to be used in robotic control-loop schemes.
Version: 6.3.1
Requires: robot_model >= 6.3.1
Cflags: -I${includedir}
Libs: -L${libdir}
Of course, the Requires tags in that last file will only be filled with the libraries that are actually installed.
It's a small feature that will most likely not used a lot but it can't hurt to do it. My main motivation is to add it here such that other packages can create pkg-config files where we add Requires: control_libraries. This wouldn't be possible if control libraries doesn't have pkg-config files itself.
Similar to a recent PR on network-interfaces, I'm adding here the pkg-config files to the control libraries. For each module, I'm creating a separate file and then I'm also creating one for the top level cmake project that summarizes the 4 modules. The result are 5 files:
/usr/local/lib/pkgconfig/state_representation.pc
:/usr/local/lib/pkgconfig/dynamical_systems.pc
:/usr/local/lib/pkgconfig/robot_model.pc
:/usr/local/lib/pkgconfig/controllers.pc
:/usr/local/lib/pkgconfig/control_libraries.pc
:Of course, the
Requires
tags in that last file will only be filled with the libraries that are actually installed.It's a small feature that will most likely not used a lot but it can't hurt to do it. My main motivation is to add it here such that other packages can create pkg-config files where we add
Requires: control_libraries
. This wouldn't be possible if control libraries doesn't have pkg-config files itself.