We are trying to write a driver to communicate to our Rabbit 3000 robot
for RoboCup.
There is a bit of confusion on adding the modular driver, specifically
this line....
after question 3. below,
"but you definitely have to add your driver to the driver table; see the
examples for details. " -Gerkey
Questions:
1. How do you add to the driver table, which file specifically (i.e.
drivertable.h, devicetable.h, device.h.....)
2. Where are the "examples below" (probably answer question 1)
Suggestions:
in section 3.2 of documentation (2nd paragraph)
I believe the author meant to say
"allowing a {server} program to treat them identically" not {client}
since the clients do not have drivers
Pleas for help!
1. Can anyone post examples of drivers they have made separate from player?
2. Also can anyone give advice for talking to a microcontroller (runs
specific microcontroller O.S. (i.e. microC, Motorola series)) through a
driver.
Thanks for your time
~Andrew Lynch
Robotics at UT-Austin
Brian Gerkey wrote:
> On Tue, 19 Oct 2004, Brandon Sights wrote:
>
>>> From this messageboard, it sounds like adding a modular driver to
>>
>> player should be easy. However, I still cannot seem to get it to work.
>> My questions are as follows:
>>
>> 1. Can you post a complete config file example so I can see if I am
>> doing my config file correctly? I am trying to use a mixed driver
>> like the p2os, and am currently trying to implement only the position
>> control aspect. Therefore I have an overall robot.cc mixed driver,
>> with the robot_position.cc driver as well.
>
>
> If you're working with Player 1.5, then download the player-mod package:
>
> http://sourceforge.net/project/showfiles.php?group_id=42445&package_id=111863
>
>
> It's a fully-functional example of how to build and use a plugin driver,
> complete with .cfg file.
>
> On the other hand, if you're working from CVS, then as Rich said, look
> in <player>/examples/plugins.
>
>> 2. How do I build these drivers? Do they need to be linked into the
>> player server at all?
>
>
> No, plugin drivers do not need to be linked into the server. That's the
> beauty of it: you build your driver as a shared lib, not touching the
> Player source tree at all. Think of it like a loadable Linux kernel
> module.
>
>> 3. Do I still need to include the "devicetable.h", or will the
>> necessary addition to the device table be taken care of automatically?
>
>
> Can't remember offhand whether you have to include that particular
> header,
> but you definitely have to add your driver to the driver table; see the
> examples for details.
>
>> 4. Include any other information you feel is relevant. It would be
>> nice to get some kind of tutoral or HOW-TO. I know this is a big
>> question, but I feel that many people would appreciate the help.
>
>
> I'm definitely planning to put together a HowTo on this (and other
> topics); it'll debut with the rest of our newfangled documentation.
>
> In the meantime, between the examples, the User Manual (see the
> Architecture Chapter), and this mailing list, you should be able to
> manage.
>
> brian.
>
|