-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ROS + DOPE demo #4
Comments
This is fantastic. I had a manual version of the earlier version of the code that did that. Here is an example. But it sounds like you are making better progress than my hack that I had (which was very manual extensive). To answer your comments:
I would for sure include the code if you make a PR and test it out on my end as well. Thank you so much for your contributions. As a note, when I worked on this code base, one of my goal was to make the interface somewhat straight forward so someone like you could take the code and add functionalities to it, so any comments about how it is organized, what you like and did not like are welcome (you are allowed to not like anything btw). |
Hi @TontonTremblay, The ROS code is working; I implemented it using the actionlib model. I need to polish it a little and I will create a PR. However, I can't seem to get diff-dope to work properly with a new scene. The refined pose I get is well off. I even tried to use your
These files are attached to this issue too. Running the Some notes:
Here is DOPE's report of the BBQ sauce in the
I used the K matrix from the
DOPE's initial estimate, to me, seems very good: I am not sure what I am missing here? Thanks again for your time. |
Thanks, there are some difference between opencv poses and opengl poses. You need to rotate them, and maybe some other things as well. I will check what I did, if you have a fork somewhere I could possibly test it this week. |
I see. Please let me polish my ROS code and I will let you know once it's ready. Thank you. |
Hi @TontonTremblay, here is the repo. Note the code is under the Hope the code structure isn't too complicated. Any feedback is welcome! Thank you. |
I just set up my machine back, I will check your demo next week. |
Hi Jonathan, thank you. I am planning to have another look on Monday too. I feel it should be some misunderstanding of how the initial pose is expressed in the yaml file. If you do check out the code, please remember my ros branch in my fork includes changes to the DiffDope class to allow in-memory representation. |
Hi Jonathan, Sorry for the delay with this. I had a second look today, and I realised that the 3D model's coordinate frame was oriented differently from the one assumed by DOPE (which provides the initial estimate). As a result, I updated one of the models (BBQ Sauce) to match the frame assumed by DOPE. I didn't update the other models yet. However, this doesn't seem to have fixed the issue. Still, diff-dope initialisation (orientation-wise) is very off, despite good DOPE reading. If you have the time at some point to let us know what you meant about the OpenGL representation, that would be great. Some details to get up and running:
|
Hi, I think the problem is fixed. It was indeed an issue with the coordinate frame of the object, compared to what used by DOPE. The orientation is fixed now, there is a slight issue with scaling, the 3D model of the object seems a little smaller, but I am confident this could be fixed with appropriate tuning of the scaling parameter. I will do some final checks, let me know if you want me to open a PR. Rafael |
Thanks for the update, I had plans to look into it today, but I am starting to feel sick and decided to not get my co-workers sick with me and stayed at home. |
Sorry to hear that, Jonathan. I hope you feel better soon. Side note: I didn't push the corrected model yet, but will do tomorrow after I investigate the scaling issue. |
For reference: NVlabs/Deep_Object_Pose#346 |
This is now completed from my side; see PR #7 Thanks, |
So the sickness went on for 3 weeks, and now I am starting to feel better and we have a family spring break! So I will look into this when I come back, feel free to ping me next week to take a look in case it gets lost in the todos. |
That's great @TontonTremblay, glad that you feel better! Enjoy the break. |
Hello,
I have been working on a ROS + DOPE for multi-object demo on my fork under the
ros-example
branch here. The demo file is here and the new config file for it here.The demo simply subscribes to RGB and Depth topics of a RealSense camera and uses those frames as images for diff-dope, and subscribes to DOPE output topic for the pose. I recorded a ROS bag for this demo that I can share, so people can download the ROS bag and run the demo.
Are you interested in this demo? If so, I am happy to open a pull request and iterate over your feedback to merge it.
Although the demo is almost there, I still need to figure out certain things. I have a few comments / questions to make at this point:
DiffDope
class works on a per-object basis? If so, my workaround was to create aDiffDope
object instance per object.Scene
andImage
) to escape the need to save the RGB and Depth frames to files. Those classes assumed the frames are stored in a file. My change should allow both file and in-memory representation.These are the notes so far. I will continue working on the demo tomorrow and upload a ROS bag to make it easier for people to replicate the environment.
The text was updated successfully, but these errors were encountered: