HKUST-Aerial-Robotics / Omni-swarm

A Decentralized Omnidirectional Visual-Inertial-UWB State Estimation System for Aerial Swar.
207 stars 41 forks source link

Hope some suggestions about workflow #8

Open myboyhood opened 1 year ago

myboyhood commented 1 year ago

Hello! I am appreciate your project of omni-swarm. I am also setup my multi-uav system. And I have some issues about developing workflow.

  1. NVIDIA NX (8G) compiling a VIO project is too time-consuming, even the computer would get stuck. I usually test my code on desktop and then deploy the code on NX by gitee git pull && catkin_make, but the catkin_make will cost too much time. If I turn to using docker img, it will be more faster ? (I know this from your TRO paper)

  2. I find when I rosbag record intel Realsense D455 images on NX, some images are lost and the topic frequence will drop from 30 Hz to 8~10 Hz, I think this problem due to the low computering resource of NX, my laptop seldom records image topics at a such low frequence. Now I am using ssh@192.168.1.xxx method to rosbag record. but the problem still exist. Is that a issue when you work on it?

xuhao1 commented 1 year ago

@myboyhood

  1. Use arm64 docker on X64/64 machine will not been fast. Maybe you can take a try on M1 Mac (I haven’t test yet)
  2. This is usually because you record all message and some message are compressed so will be slow. You can record the infra and color with compressed format, they are encode in JPG and so will be fast. For depth, you may need to record the raw image. Ros use PNG to compress depth message, which will be very slow.
myboyhood commented 1 year ago

Thank you for your reply !

  1. Sorry, Maybe I misunderstand you suggestion. 1.1. you mean running arm64 docker on X64/64 machine. Changing and testing the code(the code is with arm64 docker) on X64/64 machine(my desktop) and then deploy to NVIDIA NX ? 1.2. I want to catkin_make all project on my desktop(X64/64 machine) and then pull docker image onto NVIDIA NX computer. I guess that this pipeline will not need to catkin_make on NVIDIA NX computer. The compiled code can directly run on NVIDIA NX computer. Is that right? Because I want to prevent catkin_make the code on NVIDIA NX computer. What's more, the hardware of NVIDIA NX computer and my desktop is different. Is it really can directly deployed on NVIDIA NX computer? (Sorry I really need to speed up my workflow, and I am still not clear about docker image technique)

  2. Yes! I will try this method

Thank you very much