Items with no label
3338 Discussions

Realsense R200 RGBD camera not working well with Nvidia Jetson TX2

RLee36
Beginner
9,633 Views

Hi there!

I am using R200 on one of my projects, running on Nvidia Jetson TX2, Ubuntu 16.04 via ROS Kinetic.

I have successfully download, installed the necessary drivers and have been updated to the latest stable releases. My issue is that after one successful run of the R200, Ctrl C gives a SIGTERM error. And unless I physically unplug and replug the USB, I am unable to rerun the R200.

Conversations with the Nvidia Jetson guys have led to nowhere and I'm here hoping someone could point me in the right direction to getting it fixed.

0 Kudos
30 Replies
RLee36
Beginner
1,984 Views

setting to a lower preset ( preset = 1) did not fix the issue

0 Kudos
MartyG
Honored Contributor III
1,984 Views

I apologize for the frustration. Where ROS is concerned, I am always learning as I go with each new case.

Rather than try to launch in RGBD mode, have you tried a default launch to see if that makes any difference?

roslaunch realsense_camera r200_nodelet_default.launch

0 Kudos
RLee36
Beginner
1,984 Views

Not at all! I'm just grateful you're still replying!

There's a different error after the first try with default.launch.

 

"/camera/driver - Error calling rs_wait_for_frames (device:0x7190b0)

 

:

 

Timeout waiting for frames.

couldnt set parameters for /camera/driver"

then subsequent launches shows no cameras detected

0 Kudos
MartyG
Honored Contributor III
1,984 Views

That would seem to support the original theory that the camera is going offline for some reason (e.g going to sleep). If it isn't a sleep related issue, the other thing that would cause non-detection is a power stability issue with the USB ports.

One of the leaders of Librealsense, Dorodnic, had this advice about the Waiting For Frames error.

*******

Timeout waiting for frames is most often a symptom of an unsupported USB 3.0 host controller. We have also encountered plenty of systems where only 2 out of the 4 available physical USB 3.0 ports on a given machine will work! So, in order of priority:

- Only stream depth (remove extra bandwidth)

- Try a different (possibly thicker or shorter) USB 3.0 cable. Skip this step if you are using the one that came bundled with the R200.

- Try all the different 3.0 ports available to you

- Attempt to use a powered USB 3.0 hub (sometimes controllers don't negotiate enough power to the camera to actually stream data).

- Hop over to a Windows 8/10 machine to double check that the camera can stream at all

R200 will happily time out if your USB controller can't handle the bandwidth.

0 Kudos
RLee36
Beginner
1,984 Views

haha i know right! It's been directly connected thus far and connected via a 30cm cable.

0 Kudos
MartyG
Honored Contributor III
1,984 Views

If you don't have a mains-powered USB hub to test the camera's USB stability with right now, a trick that works for me personally (I have USB issues on my laptop) is to plug a tablet into a USB 2.0 port, whilst the camera is in the USB 3.0 port. When a chargeable USB device is plugged in, it tells the USB controller to supply extra power for the charging, which in turn stops the camera from stalling. Not sure if a TX2 board supports such USB charging though.

0 Kudos
RLee36
Beginner
1,984 Views

Would connecting a powered USB hub to the TX2's sole USBO 3.0 port, followed by plugging in the Realsense Camera solve the issue? I now have the Realsense camera connected directly to the USB3.0 port as the sole hardware-connected device. USB port on the TX2 isnt the best available, many RGBD camera manufacturers advise connecting them directly than with a hub.

I feel it's a USB issue and a hardware reset would solve it. But the USBReset script didnt work for me. https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line

If there are no software fixed, I can only think of getting a PCIE USB 3.0 card and test it out. Would you suspect the onboard camera module would present any hardware blocks or resetting issue?

0 Kudos
MartyG
Honored Contributor III
1,984 Views

I would always recommend trying a powered hub if you can do so. I just wanted to suggest the tablet charging method first as a means of testing the USB without having to buy a hub first. Hubs can be purchased from stores such as Amazon for around $15 by searching for 'powered usb 3.0 hub'.

I can't guarantee that a hub would solve your problem, but statistically powered hubs have a much higher rate of success in instantly fixing camera detection problems than any other method / workaround.

ROS has an instruction called force_power that forces the camera off when false and on when true. Example:

from realsense_camera import srv

camera_forcepower_service = rospy.ServiceProxy('/camera/driver/force_power', srv.ForcePower)

camera_forcepower_service(False)

0 Kudos
RLee36
Beginner
1,984 Views

I gave up.

Flashed it with Jetpack3.2, everything works now.

Thanks alot for your help MartyG!

0 Kudos
MartyG
Honored Contributor III
1,984 Views

Thanks so much for letting us know! Sometimes it is the very last thing you try before giving up that fixes a problem. The lesson is, never give up! Or at least, come back to seemingly unsolvable problems later with a fresh mind.

0 Kudos
Reply