The current implementation of the robot_model::Model class in control_libraries framework lacks collision detection functionality. This limitation prevent us from performing real-time collision checks between the robot and it self/environment, which is crucial for simulation accuracy and safety in control algorithms.
In this issue, I aim to integrate the collision detection functionality that is present in Pinocchio Flexible Collision Library (FCL) by implementing wrapper functions around the aforementioned library in robot_model::Model class. The two wrapper functions will support:
Detection of Collisions Between the Robot's Links. (utilizing pinocchio:computeDistance)
In addition to that, URDFs can include filenames that originate from ROS packages, URLs, or drives. To handle this, the robot_model constructor is designed to accept a callback that determines the actual file locations, and accordingly substituting the file path with the correctly formatted absolute path.
The current implementation of the
robot_model::Modelclass incontrol_librariesframework lacks collision detection functionality. This limitation prevent us from performing real-time collision checks between the robot and it self/environment, which is crucial for simulation accuracy and safety in control algorithms.In this issue, I aim to integrate the collision detection functionality that is present in Pinocchio Flexible Collision Library (FCL) by implementing wrapper functions around the aforementioned library in
robot_model::Modelclass. The two wrapper functions will support:Detection of Collisions Between the Robot's Links. (utilizing
pinocchio:computeDistance)In addition to that, URDFs can include filenames that originate from ROS packages, URLs, or drives. To handle this, the robot_model constructor is designed to accept a callback that determines the actual file locations, and accordingly substituting the file path with the correctly formatted absolute path.