Robotics StackExchange | Archived questions

question of ros gazebo velocity controller

Update: It looks like these represent increases in velocity during acceleration form the teleop node.

Update: below sp=setpoint, pv=processvalue , er=error_value; Gx,Gy,Gz are the robots position at time of joint command state msg arrival of the robot pose in gazebo retrieved by getModel call. The x,y,z are the calculated odometry values.

The following output is from using the turtlebottelopkeyboard feeding a node (handelerTwist) that converts velocity to joint commands for gazebo. Gazebo in turn published the joint command on the joint command state topic for use in odometry node (handelerJointControllerState). The keyboard node publishes at a rate higher then the gazebo controller. What I noticed is that only the last cmd in sequence is taken by gazebo to publish as the joint command state. Should the controller not average these out rather then publishing on the last one in its buffer.

Note: sp1 and sp2 reflex only the last vel1 and vel2 sent just before being published

19.946000000 INFO [:309(handelerTwist) [] liner.x[0.140000]  angular.z[0.700000]
19.946000000 INFO [:310(handelerTwist) [] vel2=[0.087500]  vel1=[2.712500]
19.956000000 INFO [:309(handelerTwist) [] liner.x[0.120000]  angular.z[0.600000]
19.956000000 INFO [:310(handelerTwist) [] vel2=[0.075000]  vel1=[2.325000]
19.965000000 INFO [:309(handelerTwist) [] liner.x[0.100000]  angular.z[0.500000]
19.965000000 INFO [:310(handelerTwist) [] vel2=[0.062500]  vel1=[1.937500]
19.976000000 INFO [:309(handelerTwist) [] liner.x[0.080000]  angular.z[0.400000]
19.976000000 INFO [:310(handelerTwist) [] vel2=[0.050000]  vel1=[1.550000]
19.985000000 INFO [:309(handelerTwist) [] liner.x[0.060000]  angular.z[0.300000]
19.985000000 INFO [:310(handelerTwist) [] vel2=[0.037500]  vel1=[1.162500]
19.995000000 INFO [:309(handelerTwist) [] liner.x[0.040000]  angular.z[0.200000]
19.995000000 INFO [:310(handelerTwist) [] vel2=[0.025000]  vel1=[0.775000]
20.005000000 INFO [:309(handelerTwist) [] liner.x[0.020000]  angular.z[0.100000]
20.005000000 INFO [:310(handelerTwist) [] vel2=[0.012500]  vel1=[0.387500]
20.015000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.015000000 INFO [:310(handelerTwist) [] vel2=[-0.000000]  vel1=[0.000000]
20.026000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.026000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.036000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.036000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.046000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.046000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.056000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.056000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.066000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.066000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.076000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.076000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.086000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.086000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.096000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.096000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.106000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.106000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.116000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.116000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.126000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.126000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.136000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.136000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.146000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.146000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.156000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.156000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.166000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.166000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.176000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.176000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.186000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.186000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.196000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.196000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.206000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.206000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.216000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.216000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.226000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.226000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.235000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.235000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.245000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.245000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.256000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.256000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.266000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.266000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.276000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.276000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.286000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.286000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.296000000 INFO [:309(handelerTwist) [] liner.x[0.000000]  angular.z[0.000000]
20.296000000 INFO [:310(handelerTwist) [] vel2=[0.000000]  vel1=[0.000000]
20.298000000 INFO [:309(handelerTwist) [] liner.x[0.020000]  angular.z[0.100000]
20.298000000 INFO [:310(handelerTwist) [] vel2=[0.012500]  vel1=[0.387500]
20.308000000 INFO [:309(handelerTwist) [] liner.x[0.040000]  angular.z[0.200000]
20.308000000 INFO [:310(handelerTwist) [] vel2=[0.025000]  vel1=[0.775000]
20.318000000 INFO [:309(handelerTwist) [] liner.x[0.060000]  angular.z[0.300000]
20.318000000 INFO [:310(handelerTwist) [] vel2=[0.037500]  vel1=[1.162500]
20.329000000 INFO [:309(handelerTwist) [] liner.x[0.080000]  angular.z[0.400000]
20.329000000 INFO [:310(handelerTwist) [] vel2=[0.050000]  vel1=[1.550000]
20.339000000 INFO [:309(handelerTwist) [] liner.x[0.100000]  angular.z[0.500000]
20.339000000 INFO [:310(handelerTwist) [] vel2=[0.062500]  vel1=[1.937500]
20.340000000 INFO [:230(handelerJointControllerState) [] pv1=[2.090359] pv2=[-0.059558] 
20.340000000 INFO [:231(handelerJointControllerState) [] er1=[-0.152859] er2=[0.122058] 
20.340000000 INFO [:232(handelerJointControllerState) [] sp1=[1.937500] sp2=[0.062500] 
20.340000000 INFO [:233(handelerJointControllerState) [] ts1=[0.010000] ts2=[0.010000] 
20.340000000 INFO [:234(handelerJointControllerState) [] x =[-6.062012], y  =[0.006159], zL  =[-5.967740] 
20.340000000 INFO [:182(handelerJointControllerState) [] Gx =[-6.276873], Gy =[0.264268], GzL =[-0.989734]

Asked by rnunziata on 2013-10-30 07:12:09 UTC

Comments

Answers