yujinrobot / kobuki_core

Core (non-ros) kobuki packages.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kobuki 'no data stream, is kobuki turned on?' warning

hamzamerzic opened this issue · comments

Hi. I am trying to control Kobuki using Apalis T30 board running tegra-linux (modified Ubuntu 12.04 precise). I am experiencing some difficulties for which I was hoping I can get help.

The usb port that the Kobuki is connected to is of the form /dev/usbdevxx, which I specify in the kobuki_node/param/base.yaml file.

So after running roslaunch kobuki_node minimal.launch, I get the following output:

[ INFO] [1476532730.366343253]: Loading nodelet /mobile_base of type kobuki_node/KobukiNodelet to manager mobile_base_nodelet_manager with the following remappings:
[ INFO] [1476532730.366834253]: /mobile_base/joint_states -> /joint_states
[ INFO] [1476532730.367049253]: /mobile_base/odom -> /odom
process[diagnostic_aggregator-4]: started with pid [1350]
[ WARN] [1476532730.860578253]: Kobuki : no robot description given on the parameter server
[ INFO] [1476532730.861149253]: Kobuki : configured for connection on device_port /dev/usbdev1.3 [/mobile_base].
[ INFO] [1476532730.861359253]: Kobuki : driver running in normal (non-simulation) mode [/mobile_base].
[ INFO] [1476532730.869143253]: Kobuki : Velocity commands timeout: 0.600000000 seconds [/mobile_base].
[ INFO] [1476532730.873516252]: Kobuki : using odom_frame [odom][/mobile_base].
[ INFO] [1476532730.877992253]: Kobuki : using base_frame [base_footprint][/mobile_base].
[ INFO] [1476532730.882106253]: Kobuki : publishing transforms [/mobile_base].
[ INFO] [1476532730.886141252]: Kobuki : using imu data for heading [/mobile_base].
[ WARN] [1476532731.151980253]: Kobuki : no data stream, is kobuki turned on?
[ INFO] [1476532731.152723253]: Kobuki : initialised.

And subscribing to topics, or publishing to command topics does not do anything. When the Kobuki is connected to a PC it works properly.

I will post the output of commands as per: http://rosindex.github.io/p/kobuki_ftdi/ in case it is helpful:

cat /dev/kobuki

No /dev/kobuki, but I guess specifying the port explicitly in the base.yaml should work.

lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 002 Device 002: ID 8087:07dc Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

sudo ./get_serial_number

1 device(s) found.
Device #0
Manufacturer : Yujin Robot
Product : iClebo Kobuki
Serial Number: kobuki_kobuki_AH02IGKG

Also worth mentioning is that since it is a modified Ubuntu 12.04 system, ROS Hydro is being used. Any help would be appreciated.

Most things there look correct. Is /dev/usbdev1.3 actually there? Can you run a modified version of the udev rule to get it on /dev/kobuki? I am wondering if the decimal/number (1.3) is causing problems.

When we udevadm on /dev/usbdev1.3, it shows that its subsystem is "usb". We changed the udev rule to match that. However, the symlink /dev/kobuki is not generated. Then we proceeded to change the serial port field ($roscd kobuki_node)/param/base.yml to usbdev1.3 instead of kobuki. It still didn't work. We suspected that it is a driver issue on our embedded system. We worked around it by using UART communication. However, it would be nice to know why it didn't work.

Not a group permissions problem on the device is it? You usually have to be part of the dialout group on most systems.

Hello,

I am so sorry for resurrecting an old issue, but I think I am having a very similar issue as stated here. For starters, I started working with Kuboki last week, therefore I might be explaining the details a little bit unconventional way.

My configuration is a little bit different in compared to the first post. I am using Jetson Tegra TK1 flashed with the Factory Image (v21.5, Ubuntu 14.04) and then installed ROS Indigo. I was able to solve udev issue by changing tty to usb and removing serial field on the udev rule in the file /etc/udev/rules.d/57-kobuki.rules. Therefore the system is able to generate /dev/kobuki without any issues.

On the other hand, after I run roslaunch kobuki_node minimal.launch --screen, I get Kobuki : no data stream, is kobuki turned on? message. I tried to change the USB cable, checked user groups (the user that executes roslaunch is in dialout group), checked permissions of the dev node but I couldn't figure out why operating system fails to connect to Kuboki base.

I would be glad if anyone could provide some tips on debugging this issue.

Thanks

Hello again,

I actually solved the issue on my system. Let me explain how I did it.

nVidia Jetson Tegra TK1 factory image Ubuntu 14.04 default kernel (3.10.40-ga7da876) doesn't come with ftdi_sio kernel driver compiled (at least mine doesn't). So, you need to compile it to get Kobuki FTDI-to-USB working.

Assuming that you were able to get to the point that you run make menuconfig (or its alternatives), you may find the proper option under

Device Drivers -> USB Support -> USB Serial Converter support -> USB FTDI Single Port Serial Driver

After compiling the kernel and booting it up, you may check if the driver was loaded using

dmesg | grep -i ftdi

The operating system that I am using shows the output of the command above like this:

[ 3.919722] usbcore: registered new interface driver ftdi_sio
[ 3.927094] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 9.965414] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected
[ 9.966952] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB0

and therefore, ls -al /dev | grep -i usb would output something like

crw-rw-r-- 1 root dialout 188, 0 Jul 20 02:51 ttyUSB0

and the udev rules should work without any modification. You may use the following commands to reload udev rules:

sudo udevadm control --reload-rules and sudo udevadm trigger

Then, running ls -al | grep -i kobuki would show:

lrwxrwxrwx 1 root root 7 Jul 20 02:32 kobuki -> ttyUSB0

Sorry for skipping all the kernel compilation steps.

Aha, no kernel driver - I'll add notes to the FTDI readme.