[ros-users] pr2 and sr ethercat devices plugins
Yann Sionneau
yann.sionneau at telecom-sudparis.eu
Mon Feb 7 14:17:41 UTC 2011
Hello,
I wonder how the binding is done between the different EtherCAT devices
and the actual C++ class of the device.
I've found it's been implemented as plugins, but I don't understand how
it works though.
For example in
ros/cturtle/stacks/pr2_ethercat_drivers/ethercat_hardware/src/wg0x.cpp
there is :
PLUGINLIB_REGISTER_CLASS(6805005, WG05, EthercatDevice);
Here the WG05 is a C++ class that extends the EthercatDevice class.
And in
ros/cturtle/stacks/pr2_ethercat_drivers/ethercat_hardware/ethercat_device_plugin.xml
there is :
<class name="6805005" type="WG05" base_class_type="EthercatDevice">
So there seem to be a link between the number 6805005 (btw what is this
number ?) and the class WG05 but I don't understand exactly how all of
this work.
Regarding the documentation I found there
(http://www.ros.org/wiki/pluginlib) the first argument of
PLUGINLIB_REGISTER_CLASS should be the name of the class ? or just some
kind of a key ?
Another question I have is : how does the discovery of all the devices
in the Ethercat bus work ?
How does ROS become aware of the fact that there are two devices of
class WG05 and three of class WG021 for example ?
I don't know if I am clear enough in my questions.
Regards,
--
Yann Sionneau
More information about the ros-users
mailing list