From: Luca R. <luc...@ho...> - 2011-03-29 21:52:49
|
Hi Peter, I'm facing the same problem with getting acceleration from gazebo and i'm using a flying robot. Do you think it could be possible to have your code (i mean the imu interface and the gazebo files you modified)? I need to solve this problem and a "starting point" would be of great help! (Obviously i'll share with you my solution when i'll come to one :) Thanks in advance. Luca Peter Nordin-2 wrote: > > Hello > > Unfortunately I do not think that I can help you, but I am having a > similar problem. > > I am have been trying to use the IMU sensor, (I have added a few missing > player interface related files), but in my case the acceleration is > allways zero. Anyway I was not able to figure out why so I made some > minor additions to the gazebo code and differentiated the linear > velocity between each timestep. This way the reported acceleration will > be the actual velocity derivative. The problem is that I wont get > g=-9.81 in my output. This is OK in my ground robot case as I usually > just remove the gravity component anyway. For flying robots I do not not > know if this is Ok. > > I tried adding an additional "artificial" gravity vector (rotated into > the curent body coordinate system) but realised that when the robot was > moving along the Z-axis (very rarely), I would get double acceleration. > -9.81 as well as the actual velocity derivative (-9.81 when free > falling). I the end I removed the artificial gravity vector, as I actual > have no real use for it. > > It is probably possible to solve this in some smart way but I have not > had time to try and figure one out. > > I am using a fairly recent Gazebo svn version and player 3.0.2 > > /Peter > > > On 03/28/2011 05:26 PM, Neostek wrote: >> Hello everyone, >> i'm using Gazebo to simulate a PD controller on a quadrotor UAV. >> The control evalueates the force and torque to apply to the quadrotor and >> then i use the methods >> dBodyAddRelForce(body_id, 0, 0, thrust) and dBodyAddRelTorque(body_id, >> roll_torque, pitch_torque, 0). >> Now i would like to get information about position, velocity and >> acceleration of the quadrotor. >> To do so, i use the methods: >> body->GetPosition() >> body->GetLinearVel() >> body->GetLinearAccel() >> and the last one appears to give practically nonsense results (gravity >> acceleration depending on the mass for instance...). >> Browsing into the code i found out that GetLinearAccel() simply does >> return this->GetForce() / this->GetMass(); >> That is " F = m*a " as it should be. >> Anyway the controller works and the quadrotor get still on the target >> point, >> but the acceleration i get on the z axis is positive (e.g. = 19.6) even >> though the quadrotor is not varying its height. >> I really have no point...please help me! :) >> Thanks in advance. >> >> Marco >> >> >> For the sake of completeness i'm using the following software version: >> Gazebo - 0.9.0 >> Player - 2.1.3 > > ------------------------------------------------------------------------------ > Enable your software for Intel(R) Active Management Technology to meet the > growing manageability and security demands of your customers. Businesses > are taking advantage of Intel(R) vPro (TM) technology - will your software > be a part of the solution? Download the Intel(R) Manageability Checker > today! http://p.sf.net/sfu/intel-dev2devmar > _______________________________________________ > Playerstage-gazebo mailing list > Pla...@li... > https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo > > -- View this message in context: http://old.nabble.com/Get-acceleration-tp31259367p31272034.html Sent from the playerstage-gazebo mailing list archive at Nabble.com. |