CAN bus implementation with OROCOS 2.x

Hi

I will use a CAN bus to communicate with a robot and I would like to have some tips. Some of the features of my project are the following:

OS: Ubuntu 10.4 Kernel version: 2.6.32-31-generic Orocos release: Orocos-ROS integration Robot: Shunk PowerCube Manipulator (7DOF)

In this moment I have a PEAK USB-CAN interface, but as far as I know Real-Time systems don't support USB HW. Which HW interface do you recommend to work with?

I also saw that the previous version had some CANBus class that is not longer implemented in OROCOS 2.x. Which could be the best way to work from my RT Orocos components with the CAN interfaces? I was thinking on using directly the library of Schunk (m5apiw32) but I don't know if there's anything to take into account regarding RT functionality while using it.

BR

CAN bus implementation with OROCOS 2.x

On Fri, 3 Jun 2011, focke [dot] 85 [..] ... wrote:

>
> I will use a CAN bus to communicate with a robot and I would like to have some tips. Some of the features of my project are the following:
>
> OS: Ubuntu 10.4
> Kernel version: 2.6.32-31-generic
> Orocos release: Orocos-ROS integration
> Robot: Shunk PowerCube Manipulator (7DOF)
>
> In this moment I have a PEAK USB-CAN interface, but as far as I know
> Real-Time systems don't support USB HW. Which HW interface do you
> recommend to work with?

Any realtime fieldbus would do: EtherCat, CAN, even UDP in point-to-point
connections. However, the major bottlenecks are: realtime capable hardware
(not all Ethernet chips will do), and available realtime drivers.

> I also saw that the previous version had some CANBus class that is not
> longer implemented in OROCOS 2.x. Which could be the best way to work
> from my RT Orocos components with the CAN interfaces?

Resurrect the 1.x drivers for 2.x

> I was thinking on
> using directly the library of Schunk (m5apiw32) but I don't know if
> there's anything to take into account regarding RT functionality while
> using it.

Is this library designed for a normal Linux kernel? Or for a realtime
variant, such as Xenomai or RT_Preempt? This difference could be important.
But it all depends on how high your realtime needs really are.

> BR

Herman

Re: CAN bus implementation with OROCOS 2.x

bruyninc wrote:
On Fri, 3 Jun 2011, focke [dot] 85 [..] ... wrote:

> > I will use a CAN bus to communicate with a robot and I would like to have some tips. Some of the features of my project are the following: >> OS: Ubuntu 10.4 > Kernel version: 2.6.32-31-generic > Orocos release: Orocos-ROS integration > Robot: Shunk PowerCube Manipulator (7DOF) >

> In this moment I have a PEAK USB-CAN interface, but as far as I know > Real-Time systems don't support USB HW. Which HW interface do you > recommend to work with?

>Any realtime fieldbus would do: EtherCat, CAN, even UDP in point-to-point connections. However, the major bottlenecks are: realtime capable hardware (not all Ethernet chips will do), and available realtime drivers.

Sorry, I wasn't clear with my question. I have to use CAN, and I want to know which brand and CAN interface do you recommend to work with, taking into account my kernel version, etc. (ESD CAN-PCI/xxx, PEAK PCAN-PCI/xx, PEAK PCAN-yyy) Perhaps a specific one which you have previously work with without any complications.

> I also saw that the previous version had some CANBus class that is not > longer implemented in OROCOS 2.x. Which could be the best way to work > from my RT Orocos components with the CAN interfaces?

>Resurrect the 1.x drivers for 2.x

> I was thinking on > using directly the library of Schunk (m5apiw32) but I don't know if > there's anything to take into account regarding RT functionality while > using it.

>Is this library designed for a normal Linux kernel? Or for a realtime variant, such as Xenomai or RT_Preempt? This difference could be important. But it all depends on how high your realtime needs really are.

> BR

>Herman

santiago

CAN bus implementation with OROCOS 2.x

On 3 June 2011 17:43, focke [dot] 85 [..] ... <focke [dot] 85 [..] ...> wrote:
> Hi
>
> I will use a CAN bus to communicate with a robot and I would like to have some tips. Some of the features of my project are the following:
>
> OS: Ubuntu 10.4
> Kernel version: 2.6.32-31-generic
> Orocos release: Orocos-ROS integration
> Robot: Shunk PowerCube Manipulator (7DOF)
>
> In this moment I have a PEAK USB-CAN interface, but as far as I know Real-Time systems don't support USB HW. Which HW interface do you recommend to work with?
>

Beckhoff sells CAN modules (EL6751 CANopen master terminal,
EL6751-0010 CANopen slave terminal ) and we can provide SOEM drivers
for it. Ruben extended SOEM to be RT capable. (I think with Xenomai)

> I also saw that the previous version had some CANBus class that is not longer implemented in OROCOS 2.x. Which could be the best way to work from my RT Orocos components with the CAN interfaces? I was thinking on using directly the library of Schunk (m5apiw32) but I don't know if there's anything to take into account regarding RT functionality while using it.
>
> BR
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

Re:

koen buys wrote:
On 3 June 2011 17:43, focke [dot] 85 [..] ... <focke [dot] 85 [..] ...> wrote: > Hi >> I will use a CAN bus to communicate with a robot and I would like to have some tips. Some of the features of my project are the following: >> OS: Ubuntu 10.4 > Kernel version: 2.6.32-31-generic > Orocos release: Orocos-ROS integration > Robot: Shunk PowerCube Manipulator (7DOF) >

> In this moment I have a PEAK USB-CAN interface, but as far as I know Real-Time systems don't support USB HW. Which HW interface do you recommend to work with? >

Beckhoff sells CAN modules (EL6751 CANopen master terminal, EL6751-0010 CANopen slave terminal ) and we can provide SOEM drivers for it. Ruben extended SOEM to be RT capable. (I think with Xenomai)

> I also saw that the previous version had some CANBus class that is not longer implemented in OROCOS 2.x. Which could be the best way to work from my RT Orocos components with the CAN interfaces? I was thinking on using directly the library of Schunk (m5apiw32) but I don't know if there's anything to take into account regarding RT functionality while using it. >

> BR > -- > Orocos-Users mailing list > Orocos-Users [..] ... > http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users >

Hi Koen

I started using the Beckhoff CANopen master el6751 (with the coupler ek1100), but I have had some problems. I build a simple driver for the el6751 just to set the baudrate to 1M (0xF800:02 = 0), and another for the coupler that do nothing (just for the SOEM to find it in the factory and add it). During the SOEM configuration it finds the ek1100 and el6751 and creates the drivers for each. But apparently I am missing something. These are the problems that I see so far:

- When I try to read the OD list description of the coupler, it returns an error. Is it supposed to be like this? The coupler seems to be working fine though (the upper-left and lower-right leds are on and the lower left is blinking).

- When I start the SOEM component, I receive errors sending and receiving proccess data (ec_send_processdata and ec_receive_processdata). My SOEM is running with a period of 200us and works with another ECAT slave, so it is not the SOEM component.

- When I read the PDO map of the el6751 it says that it has 0 output and 128 input bites. I guess I have to configure the output and input from the SOEM, but I don't understand very well how.

- The el6751 is a CANopen master (a TTCAN master, as I understand), but I have some CAN nodes that don't use CANopen protocol. Can I use the el6751 with these modules?

- The middle led of the el6751 is red-on, which means there's a physical problem, but the only thing I have connected to the el6751 is a very short cable connected to a terminating resistor. Can this error be because of some configuration that I missed?

I read that you have some driver for this el6751. Is it possible for me to check it to see what can I be doing wrong?

Best Regards,

Santiago

Re:

koen buys wrote:
On 3 June 2011 17:43, focke [dot] 85 [..] ... <focke [dot] 85 [..] ...> wrote: >> Hi

>> I will use a CAN bus to communicate with a robot and I would like to have some tips. Some of the features of my project are the following:

>> OS: Ubuntu 10.4 Kernel version: 2.6.32-31-generic Orocos release: Orocos-ROS integration Robot: Shunk PowerCube Manipulator (7DOF)

>> In this moment I have a PEAK USB-CAN interface, but as far as I know Real-Time systems don't support USB HW. Which HW interface do you recommend to work with?

> Beckhoff sells CAN modules (EL6751 CANopen master terminal, EL6751-0010 CANopen slave terminal ) and we can provide SOEM drivers for it. Ruben extended SOEM to be RT capable. (I think with Xenomai)

Hello again. Now i'm planning to work with etherCat CoE. What I've read is that the best option to use the canOpen application layer over Ethercat is SOEM. I am planning to use the one in the SOEM website (https://developer.berlios.de/projects/soem/), but now i have the doubt about its RT capability. Is this SOEM version RT capable, or i would need the extended version you mention here?

>> I also saw that the previous version had some CANBus class that is not longer implemented in OROCOS 2.x. Which could be the best way to work from my RT Orocos components with the CAN interfaces? I was thinking on using directly the library of Schunk (m5apiw32) but I don't know if there's anything to take into account regarding RT functionality while using it.

>> BR >> -- >> Orocos-Users mailing list >> Orocos-Users [..] ... >> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users >