How to control a Robot?

Hello Everyone!

How to control a Robot?

I creat this robot and not know how to move this

A lot of thanks!!

Originally posted by vncntmh on Gazebo Answers with karma: 80 on 2013-09-23

Post score: 0

you have a few tutorials on older versions. the underscores used to set text to italic are making a few typos, make sure to notice them

1-this tutorial shows how to set the model velocities. http://gazebosim.org/wiki/Tutorials/1.3/intermediate/control_model for the above tutorial you might also find this usefull.

// ************* QUATERNION / POSE DATA ******************

  static double qw,qx,qy,qz, Rrad, Prad, Yrad;
math::Vector3 p = model->GetWorldPose().pos;
math::Quaternion r = model->GetWorldPose().rot;
//from quaternion to Roll Pitch Yaw, in radians
qw=r.w;   qx=r.x;     qy=r.y;     qz=r.z;


// ***********************************************

        //set velocities

float velx,vely;
this->model->SetLinearVel(math::Vector3(velx, vely, 0));
this->model->SetAngularVel(math::Vector3(0, 0, Vang));


// ***********************************************

2- or you can control the model using aplying joint forces, but this needs a robot with joints as wheels http://gazebosim.org/wiki/Tutorials/1.3/control_robot/mobile_base

hope this helps.

Originally posted by GAugusto with karma: 161 on 2013-09-24

This answer was ACCEPTED on the original site

Post score: 2

Comment by Zahra on 2013-09-24:
Hey, I have a question related to controlling the robot from the keyboard. I made a ros_enabled plugin to control the robot using the following method in this answer, by subscribing the twist type of msgs. http://answers.gazebosim.org/question/1991/what-is-the-best-way-to0-learn-gazebo-in-ros-for/ I am using groovy, and gazebo 1.9.1 with gazebo _ros_pckgs is there a way to use the keyboard-teleop to control the robot (turtlebot) from the keyboard manually instead. thanks in advance!

Comment by GAugusto on 2013-09-24:
the idea should be the same, the robot should have the topics for the vel comands, you just need to edit whatever controller (or the plugin) your using to publish the velocity commands to those topics. you can also change the plugin to match the controllers topics, whatever u see fit, they just need to match. in the same link at the end i sugest the use of one keyboard controller and to edit the controller to publish to the respective topics.

Comment by GAugusto on 2013-09-24:
for example, if you have a controller publishing twist messages to "robot2/cmdvel" topic then you can change the plugin from "gz/cmdvel" to the same topic by changing the string name1 of the plugin from "gz" to "robot2". in case of a single robot it usualy does not have prefix so if you change the string name1 to "" (empty string) you will get the topic "/cmdvel". hope i was clear enough :S

Comment by GAugusto on 2013-09-24:
for example, if you have a controller publishing twist messages to "robot2/cmdvel" topic then you can change the plugin from "gz/cmdvel" to the same topic by changing the string name1 of the plugin from "gz" to "robot2". in case of a single robot it usualy does not have prefix so if you change the string name1 to "" (empty string) you will get the topic "/cmdvel". hope i was clear enough :S

Comment by vncntmh on 2013-09-28: