[Unitree B1] GNSS topics sending no data

Hi, our team has questions regarding the GNSS of the Unitree B1. The topics /emlid/gps and /odometry/gps are visible when enter rostopic list. But we don’t see any messages on these topics.

About our setup:
We are using an additional local mini-computer with ubuntu20.04 connected to the robot that uses the unitree_legged_sdk-3.8.3. We start the robot via ssh with the robot_bringup.launch.
The base.launch starts in “high_level”
To implement the GPS-topic(s) we also included into the bringup.launch the navsat.launch out of the b1_control package in whick we se the param “publish_filtered_gps” to “true”.

Do you have any idea what’s wrong in this setup?
Also we would be glad to have more informations about the GNSS-module that is beeing used.

Thanks in advance!

Dear @CHartberger,

The issue is that the GPS is not receiving any GPS signals. You can verify this by visiting the IP address of EMLID which leads to the homepage and see if there is any data being acquired from the GPS. A faster way is to take the B1 outside with a clearsky and see if the topics still don’t show.

Dear @Sohail,
thank you for your fast suggestion.
What is the corresponding IP address of EMLID in the setup? I assume 192.168.123.220 of the x86 CPU connected to the GNSS module?

Of course we tested the GNSS topics outdoor.

If the EMLID is attached via USB then, then it would have a virtual IP of 192.168.2.15. Otherwise if a custom IP via WiFi is setup then you can check via:

sudo arp-scan --localnet

What do you mean with “if it is attached via USB”? We considered that the robot has GNSS as a factory default. The manual states in the diagram on page 10 a GNSS module, connected via USB to the subdevice with IP 192.168.123.220. The manual lacks some specific details.

We accessed the subdevice 192.168.123.220 via SSH and checked its connected USB-devices and haven’t found GNSS devices. Here are the informations out of the terminal:

unitree@unitree:~$ ls /dev/
autofs full input loop18 mapper random tpm0 tty2 tty33 tty47 tty60 ttyS14 ttyS28 ttyUSB4 vcs5 vcsu6
block fuse kmsg loop19 mcelog rfkill tpmrm0 tty20 tty34 tty48 tty61 ttyS15 ttyS29 ttyUSB5 vcs6 vfio
bsg gpiochip0 kvm loop2 mei0 rtc tty tty21 tty35 tty49 tty62 ttyS16 ttyS3 ttyUSB6 vcsa vga_arbiter
btrfs-control gpiochip1 lightnvm loop20 mem rtc0 tty0 tty22 tty36 tty5 tty63 ttyS17 ttyS30 ttyYSUSB2 vcsa1 vhci
bus gpiochip2 log loop21 mqueue sda tty1 tty23 tty37 tty50 tty7 ttyS18 ttyS31 ttyYSUSB3 vcsa2 vhost-net
cdc-wdm0 hpet loop0 loop22 net sda1 tty10 tty24 tty38 tty51 tty8 ttyS19 ttyS4 udmabuf vcsa3 vhost-vsock
char hugepages loop1 loop23 null sda2 tty11 tty25 tty39 tty52 tty9 ttyS2 ttyS5 uhid vcsa4 zero
console hwrng loop10 loop3 nvram serial tty12 tty26 tty4 tty53 ttyLG69T ttyS20 ttyS6 uinput vcsa5
core i2c-0 loop11 loop4 port sg0 tty13 tty27 tty40 tty54 ttyprintk ttyS21 ttyS7 urandom vcsa6
cpu i2c-1 loop12 loop5 ppp shm tty14 tty28 tty41 tty55 ttyS0 ttyS22 ttyS8 userio vcsu
cpu_dma_latency i2c-2 loop13 loop6 pps0 snapshot tty15 tty29 tty42 tty56 ttyS1 ttyS23 ttyS9 vcs vcsu1
cuse i2c-3 loop14 loop7 psaux snd tty16 tty3 tty43 tty57 ttyS10 ttyS24 ttyUSB0 vcs1 vcsu2
disk i2c-4 loop15 loop8 ptmx stderr tty17 tty30 tty44 tty58 ttyS11 ttyS25 ttyUSB1 vcs2 vcsu3
ecryptfs i2c-5 loop16 loop9 ptp0 stdin tty18 tty31 tty45 tty59 ttyS12 ttyS26 ttyUSB2 vcs3 vcsu4
fd initctl loop17 loop-control pts stdout tty19 tty32 tty46 tty6 ttyS13 ttyS27 ttyUSB3 vcs4 vcsu5

unitree@unitree:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 003 Device 006: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 003 Device 005: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 003 Device 004: ID 0bda:c812 Realtek Semiconductor Corp.
Bus 003 Device 003: ID 2c7c:0800
Bus 003 Device 002: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

unitree@unitree:~$ dmesg | grep usb
[ 0.681856] usbcore: registered new interface driver usbfs
[ 0.681856] usbcore: registered new interface driver hub
[ 0.681856] usbcore: registered new device driver usb
[ 2.093990] usbcore: registered new interface driver rtl8187
[ 2.095686] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 2.095688] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.095690] usb usb1: Product: xHCI Host Controller
[ 2.095691] usb usb1: Manufacturer: Linux 5.4.188-rt73 xhci-hcd
[ 2.095693] usb usb1: SerialNumber: 0000:00:0d.0
[ 2.096107] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 2.096109] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.096111] usb usb2: Product: xHCI Host Controller
[ 2.096112] usb usb2: Manufacturer: Linux 5.4.188-rt73 xhci-hcd
[ 2.096113] usb usb2: SerialNumber: 0000:00:0d.0
[ 2.098619] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 2.098621] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.098622] usb usb3: Product: xHCI Host Controller
[ 2.098624] usb usb3: Manufacturer: Linux 5.4.188-rt73 xhci-hcd
[ 2.098625] usb usb3: SerialNumber: 0000:00:14.0
[ 2.101215] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04
[ 2.101217] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.101218] usb usb4: Product: xHCI Host Controller
[ 2.101219] usb usb4: Manufacturer: Linux 5.4.188-rt73 xhci-hcd
[ 2.101220] usb usb4: SerialNumber: 0000:00:14.0
[ 2.102311] usb: port power management may be unreliable
[ 2.357575] usb 3-2: new full-speed USB device number 2 using xhci_hcd
[ 2.511156] usb 3-2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[ 2.511159] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.511160] usb 3-2: Product: CP2102N USB to UART Bridge Controller
[ 2.511160] usb 3-2: Manufacturer: Silicon Labs
[ 2.511161] usb 3-2: SerialNumber: a0d5e90b2b95eb11a60f01608dca6574
[ 2.637577] usb 3-4: new high-speed USB device number 3 using xhci_hcd
[ 2.787353] usb 3-4: New USB device found, idVendor=2c7c, idProduct=0800, bcdDevice= 4.14
[ 2.787356] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.787357] usb 3-4: Product: RM502Q-AE
[ 2.787358] usb 3-4: Manufacturer: Quectel
[ 2.787360] usb 3-4: SerialNumber: a9c0f62a
[ 2.921570] usb 3-6: new high-speed USB device number 4 using xhci_hcd
[ 3.069851] usb 3-6: New USB device found, idVendor=0bda, idProduct=c812, bcdDevice= 0.00
[ 3.069853] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.069854] usb 3-6: Product: 802.11ac NIC
[ 3.069855] usb 3-6: Manufacturer: Realtek
[ 3.069855] usb 3-6: SerialNumber: 123456
[ 3.197570] usb 3-7: new high-speed USB device number 5 using xhci_hcd
[ 3.345749] usb 3-7: New USB device found, idVendor=1a40, idProduct=0201, bcdDevice= 1.00
[ 3.345750] usb 3-7: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 3.345751] usb 3-7: Product: USB 2.0 Hub [MTT]
[ 3.633575] usb 3-7.1: new high-speed USB device number 6 using xhci_hcd
[ 3.742092] usb 3-7.1: New USB device found, idVendor=0403, idProduct=6014, bcdDevice= 9.00
[ 3.742095] usb 3-7.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.742096] usb 3-7.1: Product: USB ↔ Serial Converter
[ 3.742097] usb 3-7.1: Manufacturer: FTDI
[ 3.742098] usb 3-7.1: SerialNumber: FT7PNZGA
[ 3.829579] usb 3-7.5: new high-speed USB device number 7 using xhci_hcd
[ 3.942074] usb 3-7.5: New USB device found, idVendor=0403, idProduct=6014, bcdDevice= 9.00
[ 3.942078] usb 3-7.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.942079] usb 3-7.5: Product: USB ↔ Serial Converter
[ 3.942080] usb 3-7.5: Manufacturer: FTDI
[ 3.942081] usb 3-7.5: SerialNumber: FT75RBVS
[ 4.281604] usbcore: registered new interface driver usbserial_generic
[ 4.282739] usbserial: USB Serial support registered for generic
[ 4.293017] usbcore: registered new interface driver ftdi_sio
[ 4.294069] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 4.297603] usb 3-7.1: Detected FT232H
[ 4.308814] usb 3-7.1: FTDI USB Serial Device converter now attached to ttyUSB0
[ 4.312606] usb 3-7.5: Detected FT232H
[ 4.324420] usb 3-7.5: FTDI USB Serial Device converter now attached to ttyUSB1
[ 7.049400] usbcore: registered new interface driver cp210x
[ 7.050024] usbserial: USB Serial support registered for cp210x
[ 7.061372] usb 3-2: cp210x converter now attached to ttyUSB2
usb_endpoint_descriptor(0):
[ 7.090806] RTW: RT_usb_endpoint_is_bulk_in = 4
usb_endpoint_descriptor(1):
[ 7.090811] RTW: RT_usb_endpoint_is_bulk_out = 5
usb_endpoint_descriptor(2):
[ 7.090815] RTW: RT_usb_endpoint_is_bulk_out = 6
usb_endpoint_descriptor(3):
[ 7.090819] RTW: RT_usb_endpoint_is_int_in = 7, Interval = 3
usb_endpoint_descriptor(4):
[ 7.090823] RTW: RT_usb_endpoint_is_bulk_out = 8
[ 7.284089] usbcore: registered new interface driver rtl88x2cu
[ 7.371055] usbcore: registered new interface driver option
[ 7.371087] usbserial: USB Serial support registered for GSM modem (1-port)
[ 7.371651] usb 3-4: GSM modem (1-port) converter now attached to ttyUSB3
[ 7.372018] usb 3-4: GSM modem (1-port) converter now attached to ttyUSB4
[ 7.372306] usb 3-4: GSM modem (1-port) converter now attached to ttyUSB5
[ 7.372387] usb 3-4: GSM modem (1-port) converter now attached to ttyUSB6
[ 7.401591] usbcore: registered new interface driver cdc_wdm
[ 7.414040] qmi_wwan 3-4:1.4 wwan0: register ‘qmi_wwan’ at usb-0000:00:14.0-4, WWAN/QMI device, 9a:59:dc:92:44:56
[ 7.414075] usbcore: registered new interface driver qmi_wwan
[ 7.425996] usbcore: registered new interface driver qmi_wwan_q
[ 8.614134] audit: type=1400 audit(1733332591.707:10): apparmor=“STATUS” operation=“profile_load” profile=“unconfined” name=“/usr/sbin/ippusbxd” pid=756 comm=“apparmor_parser”

Ok we got the following info from unitree: “please note that the B1 is not equipped with GNSS modules. To utilize GNSS services, you will need to purchase the equipment separately”

We assumed that GNSS has to be integrated from the start.
Thanks for your assistance.