Home | Tutorials | Wiki | Issues
Ask Your Question

Zheng yo chen's profile - activity

2017-08-09 09:23:18 -0500 received badge  Notable Question (source)
2017-08-09 09:23:18 -0500 received badge  Famous Question (source)
2017-02-26 08:30:45 -0500 received badge  Famous Question (source)
2016-12-31 11:41:31 -0500 received badge  Notable Question (source)
2016-12-28 22:38:04 -0500 received badge  Popular Question (source)
2016-12-23 08:48:41 -0500 asked a question gazebo5 specular in material does not work !

this is my sdf file.

and I expect my ball would reflect blue specular light

but nothing happened,It just appears whole dark

what am I doing wrong??


<model name='socket'>
    <pose> 0 0 0 0 0 0 </pose>
    <link name="link">
        <collision name="collision">
        <visual name="visual">
                <ambient>0 0 0 1</ambient>
                <diffuse>0 0 0 1</diffuse>
                <specular>0 0 1 1</specular>

image description

2016-12-23 08:29:28 -0500 commented answer Streaming Camera Data to Separate Application

wrench_0_08m is nothing to do with that example, it can work well without that model,you can just simply remove wrench_0_08m. by the way,my example is a dumb implementation. OSRF did live stream by themselves, check this :http://gazebosim.org/blog?page=3 (Gazebo Rendering Abstraction 2015-09-29)

2016-07-24 16:56:32 -0500 received badge  Famous Question (source)
2016-04-17 15:58:21 -0500 received badge  Taxonomist
2016-01-25 15:08:56 -0500 received badge  Famous Question (source)
2015-11-27 09:07:10 -0500 received badge  Famous Question (source)
2015-11-09 18:57:47 -0500 marked best answer how to use "MovableText"?

I found this class on api documentaion(http://osrf-distributions.s3.amazonaws.com/gazebo/api/1.2.5/classgazebo11rendering11MovableText.html)

Its description said "description: This create create a billboarding object that display a text." (https://bitbucket.org/osrf/gazebo/src/e8f7b58b28a8fc88dfd3480c7a6ea76e7c7032a9/gazebo/rendering/MovableText.cc?at=gazebo-current-prerelease_2.2.0)

So , I imaged that my gazebo window would be like this (http://imgur.com/inihTnQ).

Because this class is under the namespace"rendering",

I thought "MovableText" should be used in system plugin

Then, i built a system plugin like this (http://pastebin.com/mTtTVR8s)

But ,nothing happened!

could you tell me how to use this class correctly,thank you~

2015-11-03 07:01:05 -0500 received badge  Famous Question (source)
2015-10-31 12:30:46 -0500 marked best answer How to use UserCamera->ViewController()?

I am running gazebo2.2.

I want to control UserCam ,and looked up in API doc(http://osrf-distributions.s3.amazonaws.com/gazebo/api/2.2.1/classgazebo11rendering11UserCamera.html#a7148635d156d63c3e163bf1c28bb547e)

I found three function as following:

EnableViewController(TRUE); SetFocalPoint(math::Vector3(0,0,0.1)); SetViewController("orbit",math::Vector3(0,1,0.5));

So , I imaged that my userCam would orbit the point(0,0,0.1)

but, It turned out nothing happened!

Did I miss some steps?

Thank you~!

if it is possible, can you check my code?

Here is my code: http://pastebin.com/emWnSf00

2015-10-31 12:30:46 -0500 marked best answer how to change SetFrame Rate in Camera plugin?

in my camera plugin,I use this method "camera->SetRenderRate(30)"and"SaveFrame()"

but,the frame rate is really slow(http://ppt.cc/Xdzp)

how can I save 30 frame per second?

Thank you~

2015-10-31 12:30:41 -0500 marked best answer where to find resource if I want to better/further understand gazebo::common::events

I want to learn more about Event::connect disconnect

but there is no tutorial on official website

API Documentation about "event" is very short,and I can't understand http://osrf-distributions.s3.amazonaw...11event11Events.html#ab0fefed82c8ab22f67cf5a3870bcb9ef

where to find resource if I want to better/further understand gazebo::common::events ??

Because I encountered a problem as following:

I have two plugin,

one world plugin "evaluationplatform", another one is model plugin "armcontrol"

in onUpdate() of the world plugin "evaluationplatform", I use DisconnectWorldUpdateBegin(updateconnection) to Disconnect "onUpdate()" under some condition

I tested these two plugin independently, and they worked well as I want,

but, when I used them together ,things went wrong

onUpdate() of the world plugin "evaluationplatform" cannot be disconnected

and I guess the critical point is in model plugin "arm_control"

So .I want to learn more about Event::connect & disconnect to find out the problem

Thank you!!


2015-10-31 12:12:43 -0500 marked best answer gazebo-2.0 is called when I want to execute gazebo-5.0.0

Given that I had two version of gazebo now ,2.0 and 5.0.

When I want to execute gazebo-5.0.0 (typing : ./usr/local/gazebo5/bin/gazebo-5.0.0) ,it turned out that gazebo-2.0 is called

But if I execute gzserver and gzclient separately, correct version ( aka gzserver-5.0 and gzclient 5.0)are called.

"which" command output https://www.dropbox.com/s/1gnjq42j3p18ibk/rjIevpxFHLAxL-xlucwk_0z6laQFKI3zUz4ddXuA0og.png?dl=0

I have checked the shared library linked to gazebo-5.0.0,and their version are correct.

How can I deal with this problem? Thank you!

ldd gazebo-5.0.0 | grep gazebo

libgazebo_common.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_common.so.5 (0x00007f194247c000)
libgazebo_util.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_util.so.5 (0x00007f194221f000)
libgazebo_transport.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_transport.so.5 (0x00007f1941fb1000)
libgazebo_physics.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_physics.so.5 (0x00007f1941c2e000)
libgazebo_sensors.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_sensors.so.5 (0x00007f1941978000)
libgazebo_msgs.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_msgs.so.5 (0x00007f19415d0000)
libgazebo_math.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_math.so.5 (0x00007f1940798000)
libgazebo_physics_ode.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_physics_ode.so.5 (0x00007f193e022000)
libgazebo_rendering.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_rendering.so.5 (0x00007f193d985000)
libgazebo_ode.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_ode.so.5 (0x00007f193a468000)
libgazebo_skyx.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_skyx.so.5 (0x00007f1939b03000)
libgazebo_selection_buffer.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_selection_buffer.so.5 (0x00007f19398f4000)
libgazebo_rendering_deferred.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_rendering_deferred.so.5 (0x00007f1938893000)
libgazebo_opcode.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_opcode.so.5 (0x00007f1935d24000)
libgazebo_opende_ou.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_opende_ou.so.5 (0x00007f1935b1f000)
libgazebo_ccd.so.5 => /usr/local/gazebo5/lib/x86_64-linux-gnu/libgazebo_ccd.so.5 (0x00007f1935914000)

hello, here is my output


Thank you, this line does work!



but, I don't understand when I simply change into /usr/local/gazebo/bin and entering "./gazebo", I can't make a success?

2015-10-31 12:12:04 -0500 marked best answer How to return the controlling to default event handler?

Given that I had installed my own mouse event handler,

but how can I return the controlling to default/system event handler?

Because after installing my own mouse event handler,

and I pressed toolbar to add a sphere/box/cylinder to world

it turned out that the sphere/box/cylinder could not be released and placed on the ground

becuase "Mouse Release Event" is handled by my own mouse handler,default/system event handler cannot listen to this event

How can I deal with this problem?

Thank you~

2015-10-01 22:50:41 -0500 received badge  Critic (source)
2015-09-10 20:12:45 -0500 answered a question Getting simulation time from visual plugin

you can use static function: common::Time::GetWallTime()

2015-09-01 00:58:26 -0500 received badge  Notable Question (source)
2015-08-12 22:10:12 -0500 commented answer Why can I access Ogre ONLY in the SystemPlugin?

i managed to access ogre via rendering::Visual

2015-08-12 22:08:13 -0500 answered a question Why can I access Ogre ONLY in the SystemPlugin?

there is a alternative way to access Ogre.

I inherit a "rendering::visual" class,and override "Load()" function. In "Load()" function ,I can new a ManualObject and attach it to childSceneNode.

This really works. Now I can draw what I want instead of using SystemPlugin.

2015-08-06 11:04:00 -0500 received badge  Famous Question (source)
2015-08-06 00:30:03 -0500 commented answer Why can I access Ogre ONLY in the SystemPlugin?

ok thank you!

2015-08-04 12:31:06 -0500 commented question Set up to develop gazebo

I am using eclipse kepler,and it works well.

2015-08-04 04:08:44 -0500 received badge  Notable Question (source)
2015-08-02 01:43:24 -0500 commented question SpawnModel: Failure - model name already exist

what if you change another name?

2015-08-01 08:44:53 -0500 commented question Inertial parameters not taken into effect

just guess , maybe when you export dae file,the center of your model doesn't correspond to the origin of world coordinate.

2015-07-31 04:34:25 -0500 received badge  Popular Question (source)
2015-07-30 09:51:30 -0500 received badge  Organizer (source)
2015-07-30 09:50:50 -0500 asked a question Why can I access Ogre ONLY in the SystemPlugin?

Can I access Ogre::SceneManager through cameraplugin?

I do know I can draw some MovableObject in system plugin.


So , I think if I got sceneManager,I could attach any MovableObject to rootSceneNode. In Camera plugin, I can get sceneManager by these code

ogre_camera = camera_sensor->GetCamera()->GetOgreCamera();
scene_mgr = ogre_camera->getSceneManager();

But , it turned out nothing happened. Why?

any advice is useful for newbie, Thank you :)


I have tried VisualPlugin,CameraPlugin,SystemPlugin,ModelPlugin,WorldPlugin.

I tried to get RenderEngine by the following code


And ,all the Plugins mentioned above did print:


So, I thought that I got RenderingEngine successfully. Next,I wanted to attach a ninja mesh to rootSceneNode in order to check if I can access OGRE.

Ogre::ResourceGroupManager *resource_group_mgr = Ogre::ResourceGroupManager::getSingletonPtr();
resource_group_mgr->addResourceLocation("/usr/local/ogre/ogre-1.9.0/share/OGRE/Media/models","FileSystem",Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME,false );
////////check resource list////////////////////////////////////////////////////
Ogre::FileInfoListPtr fileinfoiter= Ogre::ResourceGroupManager::getSingleton().listResourceFileInfo(Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME) ;
for(unsigned int i=0;i<(*fileinfoiter).size();i++)

until this step ,every thing went well. When I added these two line:


It turned out that ONLY SystemPlugin can successfully show a ninja mesh,and except for SystemPlugin ,other Plugins just shut down whithout any error masseage

What am I doing wrong? What steps did I miss? Or would it be possible that GAZEBO was designed to access OGRE from SystemPlugin only?

Thank you

2015-06-26 14:04:54 -0500 received badge  Popular Question (source)
2015-06-12 08:57:10 -0500 received badge  Famous Question (source)
2015-06-11 19:41:33 -0500 commented answer plugin cannot be call and no error message

By the way. worldplugin works fine,but no matter my sensorplugin or sensorplugin of tutorial ,it doesn't work