scanse / sweep-ros

Scanse Sweep ROS Driver and Node
MIT License
68 stars 62 forks source link

sweep-ros package not transmitting data on odroid #17

Open jonmgonzales opened 7 years ago

jonmgonzales commented 7 years ago

do you know if this sensor has been tested with any ARM-based microcontrollers, like Raspberry Pi or odroid? I have an Odroid XU4 (Ubuntu 14.04.4 LTS, Linux 3.10.69) with ROS Indigo (1.11.20), and I recently tried to run the sweep.launch file, and it appeared like no errors popped up, but no data was transmitted on the pc2topic. I made sure to run the commands to build / install the dependencies on the READ me, and also confirmed the sensor was on the correct port. Do you know what the issue could be?

kent-williams commented 7 years ago

Hi @jgonzal13,

Your likely having issues with the driver for the usb adapter for sweep.

ftdi_sio is the driver in the linux kernel as of 3.0.0-19.

Can you paste the output of the following with sweep plugged in please:

dmesg | tail and lsmod

-Kent

jonmgonzales commented 7 years ago

hi Kent,

thanks for responding, I get the following output after plugging in the device and running the commands you mentioned

dmesg | tail
[  127.323880] [c0] input: USB Optical Mouse as /devices/usb.1/12000000.dwc3/xhci-hcd.2.auto/usb3/3-1/3-1.1/3-1.1.1/3-1.1.1:1.0/input/input3
[  127.324474] [c0] hid-generic 0003:0461:4D22.0003: input: USB HID v1.11 Mouse [USB Optical Mouse] on usb-xhci-hcd.2.auto-1.1.1/input0
[  187.712962] [c0] usb 3-1.1.3: new full-speed USB device number 8 using xhci-hcd
[  187.741275] [c0] ftdi_sio 3-1.1.3:1.0: FTDI USB Serial Device converter detected
[  187.741505] [c0] usb 3-1.1.3: Detected FT-X
[  187.741517] [c0] usb 3-1.1.3: Number of endpoints 2
[  187.741529] [c0] usb 3-1.1.3: Endpoint 1 MaxPacketSize 64
[  187.741541] [c0] usb 3-1.1.3: Endpoint 2 MaxPacketSize 64
[  187.741553] [c0] usb 3-1.1.3: Setting MaxPacketSize 64
[  187.742261] [c0] usb 3-1.1.3: FTDI USB Serial Device converter now attached to ttyUSB1

and then

lsmod
Module                  Size  Used by
xt_REDIRECT             1750  2 
nf_nat_pptp             2173  0 
nf_nat_proto_gre        1370  1 nf_nat_pptp
nf_conntrack_pptp       4861  1 nf_nat_pptp
nf_conntrack_proto_gre     6455  1 nf_conntrack_pptp
ipt_MASQUERADE          1816  1 
iptable_nat             2516  1 
nf_conntrack_ipv4      14244  1 
nf_defrag_ipv4          1249  1 nf_conntrack_ipv4
nf_nat_ipv4             3776  1 iptable_nat
nf_nat                 15957  6 ipt_MASQUERADE,nf_nat_proto_gre,nf_nat_ipv4,nf_nat_pptp,xt_REDIRECT,iptable_nat
nf_conntrack           85483  8 nf_conntrack_proto_gre,ipt_MASQUERADE,nf_nat,nf_nat_ipv4,nf_nat_pptp,iptable_nat,nf_conntrack_ipv4,nf_conntrack_pptp
xt_multiport            1647  2 
iptable_filter          1475  1 
ip_tables              11802  2 iptable_filter,iptable_nat
bnep                   10842  2 
rfcomm                 33005  0 
bluetooth             227652  10 bnep,rfcomm
rfkill                 12805  2 bluetooth
binfmt_misc             6671  1 
ftdi_sio               31635  0 
ioboard_bmp180          4422  0 
ioboard_bh1780          3472  0 
8192cu                531585  0 
ioboard_keyled          4962  0 
ina231_sensor           8396  0 
fuse                   74794  2 
nls_cp437               5128  1 
vfat                    9480  1 
fat                    53880  1 vfat
kent-williams commented 7 years ago

Hi @jgonzal13 ,

It looks like the adapter got attached to ttyUSB1, have you edited the launch file and replaced the default "/dev/ttyUSB0" with "/dev/ttyUSB1"?

-Kent

jonmgonzales commented 7 years ago

Hi Kent,

Yes, I made sure to check the port, and then edit the launch file accordingly. I tested two files, sweep.launch and sweep2scan.launch Usually, the LiDAR device mounts on either \dev\ttyUSB0 or \dev\ttyUSB1

As mentioned before, the ROS node runs, but no data gets published on the \pc2 topic or the \scan topic. Also, when I kill roscore, it usually freezes, then escalates to SIGTERM before killing the program. This behavior appear to be fairly consistent.

kent-williams commented 7 years ago

After launching the node, you will not see data for 5-8 seconds depending on the motor speed selected. This time is needed to allow the motor speed to adjust. Just want to check that you're not killing it too soon.

jonmgonzales commented 7 years ago

I am using the default settings that come in the sweep-ros package, I've only changed the device port. After I run roslaunch sweep_ros sweep.launch', I open another terminal and runrostopic echo /pc2`. I've tried a couple of times and waited up to a minute for the program to publish data before killing it, but I still don't receive any data. It still escalates to SIGTERM before completely killing roscore

kent-williams commented 7 years ago

Have you tried sending some simple commands to the sensor to make sure communication is working yet? You can use minicom or screen to test things out.

jonmgonzales commented 7 years ago

The sensor appears functional since I can see the LiDAR data using the Sweep Visualizer utility on my PC (running Windows). I'm not yet sure about communication on the odroid

xl94 commented 7 years ago

@jgonzal13, how did you get the armv7 (32-bit) working on odroid? did you manage to run the sweep visualiser from scanse?