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

Top Page
Attachments:
Message as email
+ (text/plain)
+ epos.tar.gz (application/x-gzip)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: Re: [ros-users] motor control driver (CiA DSP 402 EPOS/ELMO)
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