Skip to content
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

Use gl_depth_sim instead of Gazebo #1

Open
aadityasaraiya opened this issue Jul 20, 2018 · 4 comments
Open

Use gl_depth_sim instead of Gazebo #1

aadityasaraiya opened this issue Jul 20, 2018 · 4 comments

Comments

@aadityasaraiya
Copy link

aadityasaraiya commented Jul 20, 2018

Hi !

I am Aaditya Saraiya and I am currently working on a GSoC 2018 project with @Levi-Armstrong on a project titled Robot Work Cell Discovery. Levi has asked me to try replacing Gazebo with the gl_depth_sim package in the pipeline. So before asking my main questions, I just wanted to give an idea of my current configuration to give a clue on what I am trying to achieve.


Current Configuration

  1. I have a Kinect sensor which is connected to the UR5 robot. The Kinect plugin is utilized in order to publish depth data. The robot model is launched in Gazebo with it's controllers

  2. After that I launch the `moveit_planning_execution.launch file' to launch the MoveIt! and its associated objects.

gazebo_rviz

  1. My next step was to utilise the YAK package and I was trying to reconstruct randomly put objects in Gazebo.

After having a discussion with Levi about certain issues( issue 1 and issue 2), he suggested that I should use the gl_depth_sim package instead of Gazebo, as Gazebo does not simulate physics properly as well as gl_depth_sim is simpler to use and computationally cheaper.


Required changes

So in order to replicate the configuration, I had a few doubts regarding how to use the package. It would be wonderful if you could give some hints on how I should start with this package as I was a bit confused on what its exact purpose is?

  1. If I replaced Gazebo with this package, can you tell me how the workflow would change? I need to simulate the workcell environment which the robot would have to explore and then provide the point cloud/mesh of the workcell environment. Is there any open source workcell URDF which is available? If yes, I could integrate it with the robotic manipulator which I have used. Currently, the workcell environment is a table with the robot mounted on it as shown in the picture above.

  2. Is this package used for simulating your surroundings represented in form a mesh file and then converting it into point cloud data which is generated wrt to a simulated virtual depth camera? This is what my understanding was from the README example. How could I do the same for simulating a workcell?

Thanks a lot in advance.
Aaditya Saraiya

@Levi-Armstrong
Copy link

After having a discussion with Levi about certain issues( issue 1 and issue 2), he suggested that I should use the gl_depth_sim package instead of Gazebo, as Gazebo does not simulate physics properly as well as gl_depth_sim is simpler to use.

There was a slight misunderstanding. I was suggesting that for what you are trying to accomplish does not require a physics engine making Gazebo overkill for what you want to accomplish and the thid repository should provide what you need

@aadityasaraiya
Copy link
Author

aadityasaraiya commented Jul 20, 2018

There was a slight misunderstanding. I was suggesting that for what you are trying to accomplish does not require a physics engine making Gazebo overkill for what you want to accomplish and the thid repository should provide what you need

Agreed. Gazebo is in fact, obviously a physics engine. Actually, I worded it in a wrong way. What I was trying to convey is that Gazebo is giving weird behavior with reference to issue 1. Sorry for the confusion, my bad.

@Jmeyer1292
Copy link
Owner

@aadityasaraiya To your questions:

This was nominally meant to help me simulate scans of an "object" from a robot: think planes, cars, parts, etc. I didn't mean it to be a general purpose simulation. If you want to use it in place of Gazebo, you'd need to construct the scene out of one or more meshes that you provide. I do not currently have a URDF or SRDF reader. I also don't have any interesting scenes, though I can probably imagine some for you.

Essentially you would want to first model the scene (minus the robot) in meshlab, blender, or some other CAD program. Second, you'd need to write a node that subscribed to your robot's camera TF frame and rendered depth images from that point of view on a regular basis.

This only works if your scene is still and you don't want to worry about the robot seeing itself. If those conditions are met and you can model your scenes externally without much trouble then this package might make sense. Otherwise you might want to make Gazebo work for you.

I'm sorry I took a while to respond to you. If you do decide to use this package, I can help setup some of the nodes. Let me know.

Thanks,
Jon

@aadityasaraiya
Copy link
Author

@Jmeyer1292 Thanks for your reply.

I think this package does a great job in itself to provide a computationally cheaper approach as compared to Gazebo. And as you rightly said, I need to provide both software, i.e; Gazebo or gl_depth_sim with a mesh model of the environment in some of the other way.

As suggested by @Levi-Armstrong, I am currently trying to model a demo version of a robotic workcell (which I will keep on improving after observing the performance of the Kinect fusion process with this workcell). As soon as that gets done, I will get back to you with doubts. I will give it one try to solve the issues with Gazebo as well.

Thanks a lot for taking the time out in explaining me in detail. The picture seems pretty clear. I will get back to you as soon as the CAD models/meshes are ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants