Unable to set up a connection between ROS machine and pilz hardware (prbt6)
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 ...