[ros-users] motor control driver (CiA DSP 402 EPOS/ELMO)
Stéphane Magnenat
stephane.magnenat at mavt.ethz.ch
Fri Dec 3 10:59:10 UTC 2010
Hi Piotr, Marti and the list!
> I think, that the most important drawback of our libraries at the moment
> is that they:
>
> a) Do not support different/all interfaces to the hardware
> (RS232/USB/CAN, CAN over RS232/USB).
>
> I think, that this should be solved with an abstract class concept with
> the common methods,
> i.e. open/close together with write/receive a message. This class should
> be have concrete
> implementation for different interfaces and then can be used as a member
> of policy for
> common class, which implements the logic of the controller.
Yes, I fully agree, that was the goal of the abstract "Adapter class" in
[1]. It should be in its own class, maybe in the "Can" namespace in a
can.h file.
> b) Have different API names for the same things.
>
> As far as we consider EPOS - I think we should follow the MAXON manual
> and Win32 API convention.
> If we consider DS402, we should follow names from that specification. As
> the CiA DS 402 is not freely
> available I propose to use the ELMO document.
I also agree, I was following ELMO's document for naming members in
struct MotorDriver in [2].
> c) Have different dependencies.
>
> I think, that the implementation should not depend on our robotics
> frameworks. People, who
> want to use it should be able to compile it without installing any
> uncommon software. In particular
> there should be different dependencies for the hardware interfaces
> classes (i.e. libftdi). For the
> common logic I think there should be not more dependency than a Boost.
I agree again, the idea on our side was to make a library with minimal
forced dependencies (ideally only Linux, maybe boost). The cmake should
check for additional dependencies and should enable the compilation of
the various hardware-dependent codes when the related libraries are present.
> d) The DS-402 can be implemented only after dealing with above issues.
>
> I also do not like the code of CanFestival. It is not too clean, not too
> documented, do not have any
> release. I do not expect that any distro provide a package for this library.
>
> What do you think?
I think that we agree enough on the way to follow so that we can work
together. I can give you (and other interested people) write access to
our cia-dsp-402 repository and we can start writing together the basic
bricks (hardware access modules, OpenCAN interfaces, etc.) and then move
to the DS-402 specification. What is your github username?
All the best,
Stéphane
[1]
https://github.com/ethz-asl/libcia-dsp-402/blob/master/cia-dsp-402/canopen.h
[2]
https://github.com/ethz-asl/libcia-dsp-402/blob/master/cia-dsp-402/cia-dsp-402.h
--
Dr Stéphane Magnenat
http://stephane.magnenat.net
More information about the ros-users
mailing list