ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

/joy_node when running headless

asked 2022-01-17 12:00:35 -0600

iangillespie gravatar image

Hi all,

I have Ubuntu 20.04 running on a Jetson Nano. I recently got the Nano hooked up into my robot so I've been running it headless (no display connected) to test things after I SSH in. However, I have found that when I run

ros2 topic echo /joy

I do not receive any messages from my Sony Dual Sense controller, even though it is connected via bluetooth. However, if I plug in a display and log in to Ubuntu desktop environment and then launch my ROS2 package, then I can see all of the expected messages under /joy node.

Any thoughts on why this might be?

Thanks!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2022-01-23 01:04:57 -0600

iangillespie gravatar image

Solution to this was to enable automatic login for my user on the Jetson Nano.

edit flag offensive delete link more
0

answered 2022-01-17 20:15:38 -0600

cst0 gravatar image

I'm assuming that this is all taking place on the Nano (both the bluetooth connection and all of the ROS content) in both scenarios? If that's the case, my guess is that bluetooth isn't being launched because the desktop environment isn't being launched. With no display plugged in, I don't think the graphical.target target in systemctlwill get called. If bluetooth gets launched through your desktop environment, no display means no desktop means no bluetooth and so no controller. Try logging in headlessly, and then launching the bluetooth daemon via systemctl manually.

If it's not all taking place on the Nano, then the difference would be that you're creating a multi-machine setup, in which case you'll want to do some digging into that.

edit flag offensive delete link more

Comments

Hi @cst0 try asking clarification questions as comments first.

osilva gravatar image osilva  ( 2022-01-18 16:11:07 -0600 )edit

This is actually taking place on the Jetson Nano. (My Arduino Board doesn't have bluetooth.)

So just to be clear, the joy controller connects via bluetooth while in headless mode. But no messages get sent to the joy node. So for example, right now I'm staring at the initial ubuntu login screen. I'm SSH'ing in from the computer I writing this on and my ros nodes are fired up. But when I echo the /joy node, there is nothing there. If I login via the Ubuntu login screen, repeat the steps of fire up nodes, then the /joy node will echo the messages.

The dual sense looks connected in that the blue lights are on and not flashing, which it does during the connection process.

iangillespie gravatar image iangillespie  ( 2022-01-18 17:25:26 -0600 )edit

Anyone resolve this issue? I seem to be encountering the same thing. Using a Logitech F710 wireless controller (which uses a 2.4 GHz wireless USB dongle, not Bluetooth) with a Jetson Xavier NX board running Ubuntu 20.04 and ROS 2 Galactic.

The problem seems to be more related to the /joy node, since running "jstest /dev/input/js0" before logging in does show valid data streaming from the joystick, but "ros2 topic echo joy" produces no output until after logging in graphically.

geoffs gravatar image geoffs  ( 2023-02-13 19:07:02 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2022-01-17 12:00:35 -0600

Seen: 436 times

Last updated: Jan 23 '22