Gazebo | Ignition | Community
Ask Your Question

vsunder's profile - activity

2015-05-25 04:37:15 -0600 received badge  Famous Question (source)
2015-05-25 04:37:15 -0600 received badge  Notable Question (source)
2014-10-20 12:06:21 -0600 received badge  Taxonomist
2014-07-03 17:53:41 -0600 received badge  Famous Question (source)
2014-05-28 12:50:15 -0600 received badge  Popular Question (source)
2014-05-23 08:51:51 -0600 asked a question Recompute contacts without initiating a simulation step

I want to recompute contacts without triggering a simulation step (inducing a physics response etc). So this would involve being able to alter the pose of objects and then determine the collisions. Is this possible? If so how?

2014-02-10 15:50:58 -0600 received badge  Notable Question (source)
2014-02-06 17:00:09 -0600 commented question Adding a special-purpose physics simulator

I think it would be helpful to us to have this functionality. Thank you

2014-02-06 13:50:08 -0600 commented question Can you modify the state(pose/velocity/acceleration) of a model from a world plugin

Alright I'll give that a shot thank you

2014-02-03 14:22:40 -0600 received badge  Popular Question (source)
2014-02-03 14:16:42 -0600 received badge  Student (source)
2014-02-03 13:47:16 -0600 commented answer Can you modify the state(pose/velocity/acceleration) of a model from a world plugin

Alright added that. I add models to my world from the plugin (didnt include that code cause its basically write out of the tutorial)

2014-02-03 13:34:14 -0600 commented question Can you modify the state(pose/velocity/acceleration) of a model from a world plugin

right so when I tested this the velocity is zero. Is there some code in the background blocking me from setting the velocity of this model or there some reason the ModelPtr could be invalid. pusher is set by calling pusher = world->GetModel(0); I attempted to modify other properties like pose and the model state does not seem to update

2014-02-03 13:18:32 -0600 received badge  Editor (source)
2014-02-03 13:05:55 -0600 commented answer Can you modify the state(pose/velocity/acceleration) of a model from a world plugin

Ya I played with the tutorial. I guess the difference was that I didn't use the messaging system. I'll post my code show you what I tried

2014-01-31 14:58:42 -0600 asked a question Can you modify the state(pose/velocity/acceleration) of a model from a world plugin

So I want to globally control and observe the interactions of all objects in my environment. The obvious way to do this seems to be through the world plugin. However setting parameters like linear velocity seems to have no effect on the simulation. I'm curious if gazebo is internally blocking modifications of models through the world plugin or if there is a particular setting that needs to be modified to allow this to occur. Thank you

So this here's a quick simplified snippet showing as to what I'm trying to do and how:

Let me know if there is more info you would like

void World_Plugin::Load(physics::WorldPtr _parent, sdf::ElementPtr _sdf){
   this->world = _parent;
   this->updateConnection = event::Events::ConnectWorldUpdateBegin(boost::bind(&Quasistatic_World_Plugin::OnUpdate, this, _1));

 }

 //pusher vel is just some velocity
 //pusher is a modelPtr I've extracted from the world
 void World_Plugin::OnUpdate(const common::UpdateInfo & /*_info*/){
      this->pusher->SetLinearVel(math::Vector3(pusher_vel[0],pusher_vel[1], pusher_vel[2]));
 }

World File

 <?xml version="1.0"?>
 <sdf version="1.4">
  <world name="blank plane">
    <plugin name = "quasistatic_world" filename="libquasistatic_plugin.so"/>
     <include>
      <uri>model://ground_plane</uri>
     </include>
 </world>
</sdf>

The model is added in the world plugin and looks something like this (simple box for now):

<sdf version="1.4">
  <model name="pusher_box">
    <pose>0 0 0.5 0 0 0</pose>
      <static>true</static>
     <link name="link">
       <collision name="box_collision">
        <geometry>
      <box>
        <size>1 1 1</size>
      </box>
       </geometry>
      </collision>
     <visual name="visual">
      <geometry>
   <box>
    <size>1 1 1</size>
   </box>
      </geometry>
    </visual>
   </link>
   </model>
  </sdf>