librealsense: T265 stops sending data
Required Info | |
---|---|
Camera Model | T265 & D435 |
Firmware Version | T265: 0.2.0.926 , D435: 05.12.03.00 |
Operating System & Version | Raspbian 10.3 |
Kernel Version (Linux Only) | 4.19.97-v7l+ armv7l |
Platform | Raspberry Pi 4 |
SDK Version | 2.33.1 |
Language | C++/ROS |
Segment | Robot |
Issue Description
After upgrading from SDK 2.31.0 to 2.33.1 my T265 stops sending pose data when running for some time (1-5 min). This happens if the T265 is run together with the D435 and also if I run the T265 alone (less frequently).
This wasn’t a problem in 2.31.0 but I was experiencing crashes in 2.31.0 so I decided to upgrade to the latest stable version (2.33.1).
In 2.33.1 I see no more crashes but I seem to be experiencing a very similar problem as described in https://github.com/IntelRealSense/librealsense/issues/5509#issuecomment-587422436.
I saw some discussion on missing serial numbers but in my case both cameras seem to get detected properly (see my ROS startup logs for T265 and D435).
When I monitor the odom topic from the T265, after a while I don’t get any more pose (odom) data:
$ rostopic hz /odom
average rate: 200.380
min: 0.000s max: 0.099s std dev: 0.01482s window: 50000
average rate: 200.380
min: 0.000s max: 0.099s std dev: 0.01482s window: 50000
average rate: 200.380
min: 0.000s max: 0.099s std dev: 0.01482s window: 50000
average rate: 200.315
min: 0.000s max: 0.099s std dev: 0.01483s window: 50000
no new messages
no new messages
no new messages
no new messages
no new messages
For completeness here are my two ROS launch files:
Is there any fix for this?
About this issue
- Original URL
- State: open
- Created 4 years ago
- Comments: 64
Thanks for highlighting this. At this time we have moved our focus to our next generation of products and consequentially will not be addressing this T265 issue.
I’m using a pi4 with the T265 and having the exact same problem. I’m reading the threads and multiple issues here…intel are not doing fixes or support the T265. I think this is a ‘we cannot fix it’. If it’s not a problems with the software/hardware stack on the pi4, or the actual driver in the real-sense SDK, then it will require a firmware fix from intel.
We’ve got the T265 working fine on the Nvidia Xavior board, so i’m going to see what software differences there are between to the two systems. It may turn out this is something more subtle with the PI4’s USB?
But, come on intel, the PI4 for robot development, don’t leave us high and dry for ‘newer expensive products’.
alas, many things that claim to be ‘open source’ , are not really open source at all, because of large binary blobs, which with out extensive reverse engineering cannot be fixed without intervention from humans that have access to build firmware. I can see why the kernel reports these blobs and unfree drivers as ‘tainted’.
Hello, I had the same problem with my Pi4 and T265. What fixed it for me is going back to a 26 december 2019 github commit, 936a22bf1ca8231397dbedf2628cdd8b61c83a35, version: SDK 2.31. Using this older SDK version It doesn’t cause the T265 to stop after a few minutes. I found out about this after digging for hours and seeing a mention of one of the devs to roll back.
In any case, I don’t suggest wasting time with this sensor. It drifts and fails quite often. This would be fine if you could access internal information and tune it to your use case, but the algorithm is entirely closed, you don’t know why it fails and there is nothing you can do about it. It’s more or less a brick at this stage.
I think I found the solution, which the T265 suddenly stops with RPi using ROS where the RPi is 8GB. The problem is neither the T265 nor the software(SDK, ROS whatever). It’s the lack of power output for USB3.0 port on the RPi. I guess most of you guys plug at least two items to the RPi usb ports, especially wireless usb wifi adapter and theoretically, there will be no problem in case of power consumption, but it has. I think because of power consumption is too high so one of them tries disconnecting. Or you just using RPi’s wifi chip, also you need to consider it.
Here’s how did I make it: You need 1 powered usb hub. Some cheap powered usb hubs still have problems, but in my case i used ‘ugreen usb 3.0 hub Model name: cr113’ with external power. Plug all of USB devices to that usb hub, except t265. Only the T265 is connected to the RPi directly. I guess you can also plug to that usb hub but there’s another problem ‘when boot up you have to unplug and plug for working’. My T265 is directly connected to RPi using ‘uhubctl’ so I don’t need to unplug for detection. My RPi’s OS is gnome-session but not fully installed ubuntu-desktop. Realsense SDK version is 2.48, not 2.49. I tested how long can RPi handle without losing connection in both ROS and ROS2. On ROS2 my RPi’s usb port have t265 and usb hub. And usb hub have wireless usb wifi adapter and RPLidar A1 and takes 5W from external power. But in ROS, I didn’t use Lidar(I forgot it) and my usb hub takes 2.5W. I didn’t try streaming cameras on both. The result is both are fine! In the ROS, still keeps connected after 50 minutes and ROS2, I just disconnected after 30 minutes. In ROS2 there’s little bit of lag but I don’t think that’s related to the power. One more thing. Make sure keep T265 cool. When the T265 is hot, it seemed to lose connection. Hope it helps you guys!