blf contains the yarp implementation for ISensorBridge and IRobotControl. It would be nice to have the same classes based on ROS. It would simplify the testing of the algorithms on ROS-based robots.
@xenvre @traversaro
A word of warning: "ROS-based robots" can mean a lot of different things. For example, the ROS support provided in http://wiki.ros.org/Robots/Spot only permit to use ROS to send high-level navigation commands to the BD-provided controller, and as such is probably not suite to be "wrapped" by ISensorBridge and IRobotControl.
More in particular, as far as I know (but I may be wrong) the more direct equivalent of YARP motor interfaces are the ros_control Hardware interfaces. However, differently from YARP, this interfaces do not provide by default the network transparency provided by YARP interfaces and its Network Wrapper Server (nws) and Network Wrapper Client (nwc) devices (see https://github.com/robotology/yarp/discussions/2441). That means that any blf-based controller probably needs to run inside the ros_control's controller_manager, a bit like if in YARP we embedded the blf-based controller in a YARP device and we run it in the yarprobotinterface. However, I am not 100% sure on this, if we are interested on this probably the most direct thing to do is to ask ros_control people for an advice.
Probably if someone is really interested on work on this, the most direct thing to do is to identify a proof of concept (for example, a Hierarchical IK or TSID-like controller blf controller running on Panda through its ROS support) and think what is needed in that case. This may be also useful if we want to provide similar (optional) ROS support for iCub and ergoCub robots on the top of the existing YARP-based infrastructure, or if some of one partners want to use these interfaces on their robot. FYI @maggia80 @DanielePucci
Most helpful comment
A word of warning: "ROS-based robots" can mean a lot of different things. For example, the ROS support provided in http://wiki.ros.org/Robots/Spot only permit to use ROS to send high-level navigation commands to the BD-provided controller, and as such is probably not suite to be "wrapped" by ISensorBridge and IRobotControl.
More in particular, as far as I know (but I may be wrong) the more direct equivalent of YARP motor interfaces are the
ros_controlHardware interfaces. However, differently from YARP, this interfaces do not provide by default the network transparency provided by YARP interfaces and its Network Wrapper Server (nws) and Network Wrapper Client (nwc) devices (see https://github.com/robotology/yarp/discussions/2441). That means that any blf-based controller probably needs to run inside theros_control's controller_manager, a bit like if in YARP we embedded the blf-based controller in a YARP device and we run it in the yarprobotinterface. However, I am not 100% sure on this, if we are interested on this probably the most direct thing to do is to ask ros_control people for an advice.Probably if someone is really interested on work on this, the most direct thing to do is to identify a proof of concept (for example, a Hierarchical IK or TSID-like controller blf controller running on Panda through its ROS support) and think what is needed in that case. This may be also useful if we want to provide similar (optional) ROS support for iCub and ergoCub robots on the top of the existing YARP-based infrastructure, or if some of one partners want to use these interfaces on their robot. FYI @maggia80 @DanielePucci