]> rtime.felk.cvut.cz Git - orte.git/commitdiff
ROBOT_DEMO: change ratio for speed computation
authorMartin Vajnar <martin.vajnar@gmail.com>
Tue, 27 Aug 2013 10:45:04 +0000 (12:45 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 23 Sep 2013 09:06:28 +0000 (11:06 +0200)
orte/Robot_Demo/src/org/ocera/orte/demo/MainActivity.java
orte/Robot_Demo/src/org/ocera/orte/demo/MotionSpeedPublish.java

index 1866bb13129ad4171729c713f0b2b6585888ee52..845ae1124211932e3f3685d1edca9be99a60aca8 100644 (file)
@@ -251,7 +251,7 @@ public class MainActivity extends Activity {
                        accel = new HandleAccelerometer();
                        mSensorManager.registerListener(accel, mGravity, SensorManager.SENSOR_DELAY_GAME);
                        if (motion_speed_publ == null)
-                               motion_speed_publ = new MotionSpeedPublish(mGravity.getMaximumRange(),appDomain);
+                               motion_speed_publ = new MotionSpeedPublish(appDomain);
                        motion_speed_publ.start();
                        speed_publ_item = item;
                        this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
index a8f750c270882c9f6993195ffb430c79a0835a62..e8b07f89b983bbab4aeea3560560ccd41d96a12b 100644 (file)
@@ -18,7 +18,7 @@ public class MotionSpeedPublish implements Runnable {
        
        private short[] speed = new short[2]; 
        private boolean isCancelled = true;
-       private float maxRange;
+       private float a2sRatio = 9.81f;
        private float[] accelData = new float[2];
        private float[] accelNew = new float[2];
        private SpeedMotionType speedmsg;
@@ -32,8 +32,7 @@ public class MotionSpeedPublish implements Runnable {
        private final ReadLock rcLock = controlRrwl.readLock();
        private final WriteLock wcLock = controlRrwl.writeLock();
        
-       public MotionSpeedPublish(float maxRange, DomainApp appDomain) {
-               this.maxRange = maxRange;
+       public MotionSpeedPublish(DomainApp appDomain) {
                this.appDomain = appDomain;
                
            NtpTime persistence = new NtpTime(3);
@@ -51,8 +50,8 @@ public class MotionSpeedPublish implements Runnable {
 
                double angle = 0, length, v, omega;
 
-               v = (double)mAccel[1]/maxRange;
-               omega = (double)mAccel[0]/maxRange;
+               v = (double)mAccel[1]/a2sRatio;
+               omega = (double)mAccel[0]/a2sRatio;
                length = Math.sqrt(Math.pow(v,2) + Math.pow(omega,2));
                if (length >= 1) {
                        angle = Math.atan2(mAccel[1], mAccel[0]);