Gazebo | Ignition | Community
Ask Your Question

Eduardo Albuquerque's profile - activity

2017-06-09 12:08:03 -0600 received badge  Enthusiast
2015-11-10 11:32:08 -0600 received badge  Famous Question (source)
2015-11-10 11:32:08 -0600 received badge  Notable Question (source)
2015-11-10 11:32:08 -0600 received badge  Popular Question (source)
2015-09-08 22:02:34 -0600 received badge  Taxonomist
2015-08-18 11:29:53 -0600 asked a question How can I improve cable simulation performance?

Hi

I'm making a cable using small cylinders and universal joints (like the model in this example https://bitbucket.org/osrf/gazebomodels/src/de9abaab0588d76bc0e940dbdf0078b4bfe7b78a/firehose_long/?at=default). The problem is when the number of links is bigger than 20~30 links the real time ratio get very low. I need it to be at least greater than 0.7. How can I improve performance?

The cable must collide with other objects but it doesen't need to collide with itself. I'm currently using a cylinder primitive as collider.

Is there any way to optimize/simplify this model? Any small hacks to improve performance?

2015-08-18 11:11:41 -0600 commented answer Need advices for a project with a robot arm

Thanks hehe it took me a long time to discover the existence of this plugin too. It comes in handy! Hope it helps.

2015-08-17 11:38:57 -0600 answered a question Need advices for a project with a robot arm

Hi,

I hope I can help with some information.

1) You don't need to use ROS to work with Gazebo or even for simulating a PID.

2) Yes, you can use a Model Plugin. Actually, they already have a plugin for this: https://bitbucket.org/osrf/gazebo/src/d5b03a8150fb0f730565bcc41fd9b916dd3e174c/gazebo/physics/JointController.cc?at=default

3) Here, http://sdformat.org/spec?elem=sdf , you can find information about the default parameters used in Gazebo. Maybe, you can check http://www.ode.org/ for more information about ODE engine.

2015-08-03 15:29:31 -0600 received badge  Famous Question (source)
2015-08-02 14:26:17 -0600 received badge  Famous Question (source)
2015-06-11 02:06:11 -0600 received badge  Famous Question (source)
2015-03-02 02:49:01 -0600 received badge  Notable Question (source)
2015-03-01 20:07:44 -0600 received badge  Notable Question (source)
2015-02-25 09:29:05 -0600 received badge  Popular Question (source)
2015-02-24 15:38:21 -0600 commented question How can improve cable simulation stability?

I didn't exteded this model but i'm doing the same thing: small cylinders with universal joints. The parameters (damping, mass, size) are nearly the same. The only difference i can note is that, in my case, some cylinders are 50% longer than others, so I can improve performance. When the rope gets really big (more than 50 links) it shows strange behaviours. Lowering simulation step improved stability, but I can't stand having a Real Time Rate lower than ~0.8.

2015-02-24 12:19:19 -0600 commented answer How to improve communication performance between Gazebo Ubuntu and Windows?

Thanks again! But for some pratical reasons, for our current project, it would impossible to do this. For now, we're gonna try ROS actions. We hope Gazebo 6.0 will support windows.

2015-02-24 11:44:04 -0600 received badge  Popular Question (source)
2015-02-24 11:32:18 -0600 commented answer How to improve communication performance between Gazebo Ubuntu and Windows?

Thanks for the suggestions. We need to use the Unity3d editor, so create a Linux application is not an option. At first, we were using only Ubuntu and Wine, but the application was very unstable and kept crashing randomly. For this reason, we moved to windows and a VM. We gonna try to use ROS actions as you suggested. Right now, we are doing some tests and then I will publish the results here. Again, thanks for the advices.

2015-02-23 15:22:01 -0600 asked a question How to improve communication performance between Gazebo Ubuntu and Windows?

Hi

I'm working on an application that runs on Windows using Unity3d while Gazebo is running on Ubuntu in a virtual machine. The communication between them is made via ROS topics/services and Gazebo plugins. The physics is calculated on Gazabo while the Windows application is used for visualization and user control.

Right now, my windows application calls Gazebo API functions using ROS services, but the performance is too bad. Every time my main application calls a service (e.g for setting a joint velocity), it freezes until the service is complete. Calling a dozen services in each simulation step is enough to make the application execution impossible.

Is there a way to improve communication performance between the two platforms? Any suggestion is welcome. We are thinking about using ROS actions, but we're not sure it's gonna solve our problem.

Thanks

Eduardo de Albuquerque

2015-02-23 14:17:45 -0600 received badge  Teacher (source)
2015-02-23 12:22:56 -0600 answered a question How to simulate AUV in Gazebo?

There is a plugin called Freefloating gazebo ( https://github.com/freefloating-gazebo ). The model is very simple but depending on accuracy level your project needs it can be useful. Also, you can change the code and improve the model if you want to.

2015-02-23 12:04:29 -0600 asked a question How can improve cable simulation stability?

Hi

I'm trying to simulate a cable using small cylinders connected by universal joints. The problem is that when the rope is made of more than 50 links, the model become too unstable and starts to do small spasms or it simply explodes.

What would be possible ways to improve stability in this scenario?

Preferably the simulation should run in real time, so lower simulation step wouldn't be a good solution.

Is there a better engine for this kind of simulation? I'm currently using ODE engine as I was having a problem to attach the rope to other models using Bullet engine.

thanks

Eduardo Rizzo de Albuquerque

2015-02-04 17:52:07 -0600 received badge  Famous Question (source)
2015-01-12 10:53:43 -0600 received badge  Famous Question (source)
2014-12-15 17:51:58 -0600 received badge  Notable Question (source)
2014-12-11 23:23:07 -0600 received badge  Popular Question (source)
2014-12-08 11:24:54 -0600 marked best answer Create a Box Using Gazebo API

How do I use Gazebo API to create a model? I want to implement a world plugin that creates a box with its size defined by a custom message, but I cant find any example of how to create a model using Gazebo API

Thanks for the help

Eduardo

2014-12-08 09:11:27 -0600 received badge  Scholar (source)
2014-12-08 09:11:24 -0600 received badge  Supporter (source)
2014-12-05 20:11:03 -0600 received badge  Student (source)
2014-12-05 16:39:46 -0600 received badge  Editor (source)
2014-12-05 16:39:25 -0600 asked a question How does gazebo handle damping in Joint::SetForce ?

I'm using gazebo's API to apply force to a joint with a non-null damping coeficient (Defined in the SDF). Is it necessary to include the damping effect when I call the method SetForce() ?

e.g joint -> SetForce ( 0, effort - joint->GetDamping(0) * joint->GetVelocity(0))

Or does Gazebo handle the damping automatically and I don't have to include it?

e.g joint -> SetForce ( 0, effort )

Thanks

2014-11-21 01:43:18 -0600 received badge  Notable Question (source)
2014-11-19 09:37:17 -0600 commented question Best way to Interface Gazebo Server with custom Application

I basiclly use gazebo as a physics engine ( With the advantege of being much easier to use and i can easily change from ODE to Bullet). I don't know if gazebo should be used like that. It just a method that until now is working for me (it can get very slow sometimes).

2014-11-19 09:34:01 -0600 commented question Best way to Interface Gazebo Server with custom Application

Hi, NickDP. I created a .so that exports a bunch of methods from gazebo library that I'll need in my client application. My client starts a world in a gazebo server and then enters in a loop. At the beginning of the loop, my client steps (1 step only) gazebo simulation and then it get each model position from gazebo and use these informations to update itself. At the end of the loop, I call gazebo methods like "SetForce" (that I imported previously from the .so) to interact with the simulation.

2014-11-06 05:03:39 -0600 received badge  Popular Question (source)
2014-11-06 04:58:49 -0600 received badge  Notable Question (source)
2014-10-10 15:51:17 -0600 asked a question Best way to Interface Gazebo Server with custom Application

Hi,

I'm trying to create my own GUI/Editor using gazebo just as a server. Currently, I'm using a .so that starts a server and calls gazebo API functions so i can create models, control joints and get the pose of every object in the world for rendering.

But I saw that a lot of examples that interface with gazebo using messages rather than using API functions.

In my context, is it better to use messages? Or is it faster if i keep using Gazebo API Functions? I would like to know pros and cons.