aman226 / Tello-ORB-SLAM-3

A package to perform ORB SLAM on Tello Drone
21 stars 6 forks source link

README.md #1

Open war-in opened 9 months ago

war-in commented 9 months ago

Hello,

thanks for amazing work! Have you tried to run this with physical DJI Tello? I'm going to use dji tello and orb-salm, and it would be amazing to get some setup instructions. Thank you!

BeenToJupiter commented 7 months ago

Hello,

thanks for amazing work! Have you tried to run this with physical DJI Tello? I'm going to use dji tello and orb-salm, and it would be amazing to get some setup instructions. Thank you!

Have you figured it out yet? @war-in

jonaug88 commented 6 months ago

Hello, thanks for amazing work! Have you tried to run this with physical DJI Tello? I'm going to use dji tello and orb-salm, and it would be amazing to get some setup instructions. Thank you!

Have you figured it out yet? @war-in

Have you?🙈

BeenToJupiter commented 6 months ago

Hello, thanks for amazing work! Have you tried to run this with physical DJI Tello? I'm going to use dji tello and orb-salm, and it would be amazing to get some setup instructions. Thank you!

Have you figured it out yet? @war-in

Have you?🙈

Yes I did! I am facing seg fault issue with running the mono with imu ros node but it works fine with just the mono node

jonaug88 commented 6 months ago

Hello, thanks for amazing work! Have you tried to run this with physical DJI Tello? I'm going to use dji tello and orb-salm, and it would be amazing to get some setup instructions. Thank you!

Have you figured it out yet? @war-in

Have you?🙈

Yes I did! I am facing seg fault issue with running the mono with imu ros node but it works fine with just the mono node

I will stick to this issue thread as both this one and mine involves implementing physical drone. Edit: I got the world frames working and camera is broadcasting images. Gonna work on getting working controls.

jonaug88 commented 6 months ago

Adding print statements and/or rospy.loginfo shows that there is an issue by involving cv2 after initializing the ROS Node, as the code stops printing statements after "ROS node initialized"

Hello, thanks for amazing work! Have you tried to run this with physical DJI Tello? I'm going to use dji tello and orb-salm, and it would be amazing to get some setup instructions. Thank you!

Have you figured it out yet? @war-in

Have you?🙈

Yes I did! I am facing seg fault issue with running the mono with imu ros node but it works fine with just the mono node

mono node with commented out cv2 works excellent. after adding print statements and/or rospy.logins after every initialization it seems to be a conflict between cv2 and the initialized ROS node camera_publisher. idk what specifically halts the execution further.

jonaug88 commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

BTW I just noticed there is no cv2.imshow() command anywhere. Could that be a problem?

jonaug88 commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

BTW I just noticed there is no cv2.imshow() command anywhere. Could that be a problem?

I tried adding the imshow() command, both using an actual placeholder image and without, it still halts before that, besides, we are not in need on an image in the window, we are just in need of the window itself, and afaik, this should be achieved without imshow. So this does not solve anything unfortunately. There is still a conflict between the node initilializing and starting openCV as they have their own event loops, so when we use threading, i think there is an interference between the opencv window operations and the ROS callbacks...

jonaug88 commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

BTW I just noticed there is no cv2.imshow() command anywhere. Could that be a problem?

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

BTW I just noticed there is no cv2.imshow() command anywhere. Could that be a problem?

I tried adding the imshow() command, both using an actual placeholder image and without, it still halts before that, besides, we are not in need on an image in the window, we are just in need of the window itself, and afaik, this should be achieved without imshow. So this does not solve anything unfortunately. There is still a conflict between the node initilializing and starting openCV as they have their own event loops, so when we use threading, i think there is an interference between the opencv window operations and the ROS callbacks...

For some reason I have no issues with ROS and openCV on ROS 2. I am not doing the same thing there but yeah the window does show up.

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

jonaug88 commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

That's awesome! I have an issue regarding the map being generated now, cus it resets the map asap it loses track of its localization, I'm trying to figure out why that is and work around it. Is the maps you generate usable at all or?

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

That's awesome! I have an issue regarding the map being generated now, cus it resets the map asap it loses track of its localization, I'm trying to figure out why that is and work around it. Is the maps you generate usable at all or?

I have not tried to access the map as of yet. I see the visualization only. Might need your help with it I think. I need the map to give it to my navigation stack as well.

jonaug88 commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

That's awesome! I have an issue regarding the map being generated now, cus it resets the map asap it loses track of its localization, I'm trying to figure out why that is and work around it. Is the maps you generate usable at all or?

I have not tried to access the map as of yet. I see the visualization only. Might need your help with it I think. I need the map to give it to my navigation stack as well.

Im interested in how your camera calibration file looks like. the map i am creating and the point cloud is quite frankly.... crap... xD It doesnt even reflect the surroundings

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

That's awesome! I have an issue regarding the map being generated now, cus it resets the map asap it loses track of its localization, I'm trying to figure out why that is and work around it. Is the maps you generate usable at all or?

I have not tried to access the map as of yet. I see the visualization only. Might need your help with it I think. I need the map to give it to my navigation stack as well.

Im interested in how your camera calibration file looks like. the map i am creating and the point cloud is quite frankly.... crap... xD It doesnt even reflect the surroundings

I am just using the default files for now. Have not calibrated the camera yet. Are you able to save the map using the rosservice? I do not see any c++/python file for that in the whole package.

jonaug88 commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

That's awesome! I have an issue regarding the map being generated now, cus it resets the map asap it loses track of its localization, I'm trying to figure out why that is and work around it. Is the maps you generate usable at all or?

I have not tried to access the map as of yet. I see the visualization only. Might need your help with it I think. I need the map to give it to my navigation stack as well.

Im interested in how your camera calibration file looks like. the map i am creating and the point cloud is quite frankly.... crap... xD It doesnt even reflect the surroundings

I am just using the default files for now. Have not calibrated the camera yet. Are you able to save the map using the rosservice? I do not see any c++/python file for that in the whole package.

Have not been able to work out how to save the map yet, and it is infuriating, I see that it is a recurring issue in the orbslam3 GitHub repo as well, I have tried the "SaveAtlasToFile" as is written in camera calibration tutorial pdf with no luck, and also tried looking into rosservice, no solutions as of yet, I'll keep working on it. Let me know if you find a workable solution please

BeenToJupiter commented 6 months ago

Given up trying to get Opencv to work with the ros nodes, working on implementing tello_driver and a joystick instead of keyboard. Seems like a better approach. using a logitech f310 controller. I can control the drone, however i havent been able to incorporate it into the pre-existing code yet.

Unfortunately for me I have to stick to ROS bc I want to make a navigation pipeline for this. Might drop the cv2.window thing as I dont really need to control it with the keyboard

I am sticking to ROS going down this path, i still use orb_slam3 package, but i use this (https://github.com/jordy-van-appeven/tello_driver) ROS package for configuring the joystick and controlling the drone in that manner instead, instead of keyboard commands. I am more inclined in going down this path as it makes more sense for me and my thesis project. I can update you when i get it to work if you are interested.

Hey I am also using the same package right now!! I have it running with orb slam 3 and now I am going to make a navigation stack. Hopefully I have no major issues.

That's awesome! I have an issue regarding the map being generated now, cus it resets the map asap it loses track of its localization, I'm trying to figure out why that is and work around it. Is the maps you generate usable at all or?

I have not tried to access the map as of yet. I see the visualization only. Might need your help with it I think. I need the map to give it to my navigation stack as well.

Im interested in how your camera calibration file looks like. the map i am creating and the point cloud is quite frankly.... crap... xD It doesnt even reflect the surroundings

I am just using the default files for now. Have not calibrated the camera yet. Are you able to save the map using the rosservice? I do not see any c++/python file for that in the whole package.

Have not been able to work out how to save the map yet, and it is infuriating, I see that it is a recurring issue in the orbslam3 GitHub repo as well, I have tried the "SaveAtlasToFile" as is written in camera calibration tutorial pdf with no luck, and also tried looking into rosservice, no solutions as of yet, I'll keep working on it. Let me know if you find a workable solution please

You want to connect over a different platform so the communication gets better?

BeenToJupiter commented 6 months ago

@jonaug88 any updates on the map?

jonaug88 commented 6 months ago

@jonaug88 any updates on the map?

Hello, Sorry for the late reply. Been busy with other things. Repo owner found this rosservice call "rosservice call /orb_slam3/save_map [map_name]". The map file will have .osa extension, and is located in the ROS_HOME folder (~/.ros/ by default) Only problem is the .osa file extension is not supported by rviz or any other file viewer I've come across/tried, it seems that the extension is just a way for the orb slam to load the maps to continue building on them or something similar. I gave up on finding a way to get a workable .ply or similar file as I can get by without it for my project =)