Unable to set up a connection between ROS machine and pilz hardware (prbt6)

asked 2020-02-26 10:12:58 -0500

fkoegler gravatar image

updated 2020-02-27 03:43:39 -0500

Hello everyone,

currently I´m working on establishing a connection between my ROS computer and the Pilz hardware setup to control a prbt 6 manipulator (e. g. through RViz). Therefore I stick to the github documentation of Pilz itself (pilz_robots). Until now I was not able to build a stable connection via CAN. To be more specific, here is some information of my system:

  • running Linux kernel 4.15.0-88-generic
  • Ubuntu 16.04 LTS
  • ROS distribution: kinetic
  • Pilz packages (version 0.4.11) built in ROS workspace without errors
  • PCAN-USB opto-decoupled adapter (type IPEH-002022; including the procedure of activating the internal termination)

From here my start routine looks like this:

  • plug in pcan usb adapter to PMCPrimo and ethernet cable to PSS4000
  • ping network without package loss

For the pcan I use the drivers, which are included in Linux Kernel:

$ grep PEAK_ /boot/config-`uname -r`
CONFIG_CAN_PEAK_PCIEFD=m
CONFIG_CAN_PEAK_PCMCIA=m
CONFIG_CAN_PEAK_PCI=m
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_PEAK_USB=m

and do:

$ lsmod | grep ^peak
peak_usb               40960  0

for checking, if the adapter was initialized.

Get interace information:

$ ifconfig -a

can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0


          collisions:0 txqueuelen:10 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

enp2s0    Link encap:Ethernet  HWaddr 98:fa:9b:99:d8:91  
          inet addr:192.168.0.18  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::87be:19c5:3ddd:8684/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:88 errors:0 dropped:0 overruns:0 frame:0
          TX packets:71 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9134 (9.1 KB)  TX bytes:11009 (11.0 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:666 errors:0 dropped:0 overruns:0 frame:0
          TX packets:666 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:76014 (76.0 KB)  TX bytes:76014 (76.0 KB)

wlp4s0    Link encap:Ethernet  HWaddr 10:63:c8:37:c9:67  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Set up CAN interface:

    $ sudo ip link set can0 up type can bitrate 1000000

And launch the file:

    $ roslaunch prbt_moveit_config moveit_planning_execution.launch sim:=false gripper:=pg70 pipeline:=ompl sto:=pss4000

While running the launch file I simultaneously check the CAN interface via:

$ ip -details -statistics link show can0 

3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10
    link/can  promiscuity 0 ...
(more)
edit retag flag offensive close merge delete