DOPE-ROS-D435
DOPE-ROS-D435 copied to clipboard
Will this run on a D415
I own a D415, and yes. I know that the D435 is better at closer objects. So I have two questions.
-
Have you heard of anyone trying this code on a 435?
-
Is there any reason other than performance why this code would not work with a D415?
Thanks you so much for your contribution!
@arturohernandez10 I ran DOPE with a Kinova Gen3 robot which has a D415 mounted on the arm and can confirm it works.
@RaduCorcodel hello bro , when i run dope.launch I got the following error: [ERROR] [1646648498.595929]: bad callback: <bound method Subscriber.callback of <message_filters.Subscriber object at 0x7f67afd47890>> Traceback (most recent call last): File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback cb(msg) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 76, in callback self.signalMessage(msg) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 58, in signalMessage cb(*(msg + args)) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 225, in add self.signalMessage(msgs) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 58, in signalMessage cb((msg + args)) File "/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/dope", line 252, in image_callback self.config_detect File "/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/inference/detector.py", line 251, in detect_object_in_image out, seg = net_model(image_torch) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/parallel/data_parallel.py", line 112, in forward return self.module(*inputs[0], **kwargs[0]) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/inference/detector.py", line 91, in forward out1 = self.vgg(x) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/container.py", line 91, in forward input = module(input) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/conv.py", line 301, in forward self.padding, self.dilation, self.groups) RuntimeError: CUDNN_STATUS_EXECUTION_FAILED
I guess it may be my python version problem, the environment I am using now is python2.7 cudatoolkit 9.0 cudnn 7.6.5 pytorch 0.4.0 torchvision 0.2.1 So can you tell me which environment you are using , python2 or python3? it would be greatly appreciated.
@pibaopi, I'm running it with python 3.8 Best, Radu
@RaduCorcodel oh god,thanks. I ran this code on python2.7, using AZURE KINECT DK camera, I encountered a problem when accepting the camera image node, now I don't know how to modify it, I began to think that ros can only run on python2, and your answer Shocked me so can you tell me how you call the ros package via python3 thanks a lot.
@pibaopi I'm using ROS Noetic. Starting with Melodic (if memory serves), there is no longer the hard dependency on python 2.7. If you have both installed, then you likely run python2 using python script.py
and python3 using python3 script.py
. Check this to make sure, otherwise it won't work what I'm about to suggest next! For this repo, you have two options:
- either create an alias at the end of your .bashrc file:
alias python=python3
which will override your system call for python2, - modify the shebang in your ROS node:
#!/usr/bin/env python3
I would suggest the second since it doesn't influence anything else you might have already running on your machine
Best, Radu
@RaduCorcodel oh, thank you very much Radu. I seem to have run this program in the python2 environment, but the results appear as shown in the figure below. Does this mean that the object targeted by the data in weights is not detected in my camera image? Maybe I should create the data I want to test in synthetic and put it in the weights folder for testing?
I also want to know what the terminal of dope should look like after detecting the object (such as what message to send), which will give me a better understanding of whether my experiment is successful or not.
Thank you very much.
@pibaopi the detection node doesn't print to console anything other than that. For expected operation please see the instructions.
@RaduCorcodel Thank you for your reply. Now I am able to run the dope.launch file, but I don't have the right data to implement the detection, do you make your own dataset?
@RaduCorcodel hello bro , when i run dope.launch I got the following error: [ERROR] [1646648498.595929]: bad callback: <bound method Subscriber.callback of <message_filters.Subscriber object at 0x7f67afd47890>> Traceback (most recent call last): File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback cb(msg) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 76, in callback self.signalMessage(msg) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 58, in signalMessage cb(*(msg + args)) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 225, in add self.signalMessage(msgs) File "/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py", line 58, in signalMessage cb((msg + args)) File "/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/dope", line 252, in image_callback self.config_detect File "/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/inference/detector.py", line 251, in detect_object_in_image out, seg = net_model(image_torch) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/parallel/data_parallel.py", line 112, in forward return self.module(*inputs[0], **kwargs[0]) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/inference/detector.py", line 91, in forward out1 = self.vgg(x) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/container.py", line 91, in forward input = module(input) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py", line 491, in call result = self.forward(*input, **kwargs) File "/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/conv.py", line 301, in forward self.padding, self.dilation, self.groups) RuntimeError: CUDNN_STATUS_EXECUTION_FAILED
I guess it may be my python version problem, the environment I am using now is python2.7 cudatoolkit 9.0 cudnn 7.6.5 pytorch 0.4.0 torchvision 0.2.1 So can you tell me which environment you are using , python2 or python3? it would be greatly appreciated.
how did you solve this problem?Thank you very much.
你好兄弟,当我运行 dope.launch 时,我收到以下错误:[错误] [1646648498.595929]:错误的回调:<绑定方法 <message_filters的订阅者回调。0x7f67afd47890>> Traceback 中的订阅者对象(最近一次调用):文件 “/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py”,第 750 行,位于 _invoke_callback cb(msg) 文件 “/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py”中,第 76 行,在回调 self.signalMessage(msg) 文件中 “/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py”,第 58 行,在 signalMessage cb(*(msg + args)) 文件中 “/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py”,第 225 行,在 add self.signalMessage(msgs) 文件中 “/opt/ros/melodic/lib/python2.7/dist-packages/message_filters/init.py”,第 58 行,在 signalMessage cb((msg + args)) 文件中 “/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/dope”,第 252 行,image_回调self.config_detect文件 “/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/inference/detector.py”,第 251 行,detect_object_in_image out 中,seg = net_model(image_torch) 文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py”,第 491 行,在调用结果中 = self.forward(*input, **kwargs)文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/parallel/data_parallel.py”, 第 112 行,在 forward return self.module(*inputs[0], **kwargs[0]) 文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py”,第 491 行,在调用结果中 = self.forward(*input, **kwargs) 文件 “/home/xxt/test_ws/src/DOPE-ROS-D435/dope/nodes/inference/detector.py”, 第 91 行,在 forward out1 = self.vgg(x) 文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py”,第 491 行,在调用结果中 = self.forward(*input, **kwargs) 文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/container.py”,第 91 行,在 forward input = module(input)文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/module.py”,第 491 行,在调用结果中 = self.forward(*input, **kwargs) 文件 “/home/xxt/anaconda3/envs/test/lib/python2.7/site-packages/torch/nn/modules/conv.py”,第 301 行,在 forward self.padding, self.dilation, self.groups) 运行时错误:CUDNN_STATUS_EXECUTION_FAILED
我想这可能是我的python版本问题,我现在使用的环境是python2.7 cudatoolkit 9.0 cudnn 7.6.5 pytorch 0.4.0 torchvision 0.2.1 那么你能告诉我你正在使用哪个环境,python2还是python3?将不胜感激。
@pibaopi Hello, I also encountered the same problem
How did you solve this problem
RuntimeError: CUDNN_STATUS_EXECUTION_FAILED