I'm currently trying to implement an experiment using the Footbot gripper.
I have added the grippers sensor and actuator to the XML, added and initialised the references to my footbot_clustering controller (as follows) and have run the experiment.
m_pcGripperActuator = dynamic_cast<CCI_FootBotGripperActuator*>(GetRobot().GetActuator("footbot_gripper" ));
m_pcGripperSensor = dynamic_cast<CCI_FootBotGripperSensor* >(GetRobot().GetSensor ("footbot_gripper" ));
On studying the code, I can see that all of the methods for the actuator in turn call the SetAperture(const CRadians& c_aperture) method. However this method is pure virtual, and as far as I can tell has not yet been implemented anywhere. This is confusing, because when build my controller, which contains the function call 'm_pcGripperActuator->Unlock();' (which in turn calls SetAperture), with CMake, it compiles!?
so I must be missing something here, as I thought that a class with pure virtual functions couldn't be instantiated in the first place... so unless it was created from some other object and then dynamically cast to the abstract class, well I'm not familiar what the rules of C++ are there...
So I suppose my question is, to what extent has this plugin been developed and how much more work is required before it is usable?
For the sake of context which may be relevant, I'm trying to implement a clustering experiment in which the footbots move the movable blocks into clusters (see attached snapshot of the arena).