Applying a force to a link in gazebo plugin
I am trying to simulate an autonomous surface vehicle with an azimuthing thruster. I set up a basic model and want to apply a force to the thruster in the thruster's reference frame. What recommendations do you have for accomplishing this?
So far I have tried:
this->model->GetJoints()[0]->SetForce(0, 300); // in this method I can't seem to control the direction. Is it applying a torque and not a force maybe?
and
math::Vector3 force(100,0,0);
model->GetLink("propeller")->SetForce(force);
// this method seems to work, however, it applies a force in the global x direction not the thruster x direction.
rotate the force vector into thruster's frame? you can get the world orientation or entities using `GetWorldPose().rot` and just apply that to `force`