[ros-users] motor control driver (CiA DSP 402 EPOS/ELMO)

Stéphane Magnenat stephane.magnenat at mavt.ethz.ch
Thu Dec 2 14:21:14 UTC 2010


Hi Piotr,

 > Have you consider to base your work on the CanFestival [1] project?

Yes, and after reading its sources I decided not to use it.

> I am currently working on pretty much the same job that you have probably
> already done. At this moment I am communicating with my EPOS2 devices
> with USB and RS232 [3]. I have gathered code from various sources [2]
> (together
> with mentioned patches), cleaned it up a bit and put it into a C++ class.

Thank you for sharing this! :-)

> The CAN chip inside my embedded pc-board is the SJA1000 supported with
> the standard Linux sja1000_isa kernel module. Now I was going to implement
> the CANopen master with help of CanFestival. This project seems to be a kind
> of overhead, but what is is nice, that it supports different OSes. I
> think that this is
> the way to go in the spirit of the open-source community.

My feeling after reading CanFestival's source code was that it was 
designed to implement OpenCAN devices inside microcontrollers, not to 
provide an easy-to-use client-side implementation.

> I can see, that your repository contains just a very initial stage of
> the project.

Yes, the existing C libraries are much more developed (see attachment), 
but we thought that we had to re-architecture the whole stuff. In 
particular, we wanted to:
- be vendor agnostic and so to implement CiA DSP 402 in a superclass and 
the EPOS/ELMO-specific stuff in subclasses. Unfortunately, to detect the 
vendor automatically, one needs to read STRING objects from OpenCAN, 
which is a bit more work to implement than integers, because it does not 
fit in a single CAN packet anymore;
- have clean separation between CAN adapter (to access the bus), OpenCAN 
protocol, and motor-controller device;
- use exceptions to ease the reading of the code.

> Do you think you can share more of your work? I would be happy to merge
> the my code [3] with your CanOpen layer.

Yes, I have attached it to this email. The current version is LGPL, but 
we might change the license for the refactored library. We might switch 
to BSD to ease compatibility with ROS.

It would be great to collaborate; how do you see it?

Kind regards,

Stéphane

-- 
Dr Stéphane Magnenat
http://stephane.magnenat.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epos.tar.gz
Type: application/x-gzip
Size: 79388 bytes
Desc: epos.tar.gz
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101202/e555211c/attachment-0005.bin>


More information about the ros-users mailing list