Can we use T265 ROS for position estimate, but using MAVSDK program to autopilot it at same time

Hello everyone,

I currently doing research about autonomous indoor flight for multicopter drone, and use intel T265 for it. I have tried the sensor by running it on my raspberry pi using python code. It works quite good when the drone doesn’t fly, but when i tried it on a flight test my drone drift away and resulting crash.

I heard that T265 works better using ROS, so I tried changing my T265 program to ROS. Same like before, it works well when the drone doesn’t fly. But i haven’t tried to do flight test again until now because Im afraid that it will broke again and trying to get as many information as i can get before doing the test again.

So my question is,

  1. Should I continue using T265 as my primary sensor?
  2. Is there any better solution than using T265 (heard about px4flow optical flow sensor, but didnt buy it yet because its expensive)
  3. Can I use ROS to run T265 but use MAVSDK to run autopilot program (not mastering ROS yet, especially to run autopilot mission)
  4. Is there any tips to run T265 at maximum performance (e.x. by adding vibration dampening material around the sensor)

Drone Specification
Frame : Tarot 650 (quadcopter)
Flight Controller : PX4 cube black with PX4 firmware (fmuV3)
GCS : QGroundControl
Computer : Raspberry Pi4 4gb
OS : ubuntu 20.04
ROS ver : Noetic
Program Language : python3

Any idea why it doesn’t work when you fly? Is there maybe an intermediate step that you can do where you move it like it was flying, maybe with some fast movements, or vibrations?

I’m not really sure but my assumptions was either vibration (i dont use vibration dampening material on my camera mount that time) or because I face the camera forward (I did test on open field that don’t any object within 50m in front of my drone).

That time, I taking off my drone to 2m alt using stabilize then change my mode to position mode. The drone was stable for for about 3 sec. The drone then increasing its alt and drifting away while also spinning slowly. When I want to takeover, I already lost the orientation and my drone snugged on 20m tall tree

I also wondering was using the python code for the T265 VIO is bad because python code has slower response time than roscpp

Sorry to hear about the crash but I can’t tell without seeing a log (uploaded to and linked here).

I will try to search the log file, though i’m not sure when i can find it. By the way, did u have any idea about my question 2 and 3?

It depends what you need. Downward facing flow allows to hold the position with some drift but VIO or SLAM on top of T265 would be much more powerful.

You can but it’s probably easier to stick to one. If you’re using ROS then you might as well do it all in ROS and use MAVROS instead of MAVSDK.