From bab24b47d172e656485b39e98484b6cc822aa91f Mon Sep 17 00:00:00 2001 From: MaximZaitsev Date: Tue, 23 Aug 2016 12:47:34 +0300 Subject: [PATCH] fixed bug with moving car --- car_srv/kotlinSrv/src/CarState.kt | 8 ++++++-- .../kotlinSrv/src/control/emulator/ControllerEmulator.kt | 4 ++-- .../src/net/server/handlers/main/GetSonarData.kt | 1 - 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/car_srv/kotlinSrv/src/CarState.kt b/car_srv/kotlinSrv/src/CarState.kt index 759891ebf5a..ae6eefdd742 100644 --- a/car_srv/kotlinSrv/src/CarState.kt +++ b/car_srv/kotlinSrv/src/CarState.kt @@ -12,8 +12,12 @@ class CarState private constructor() { //if distance is positive - move forward, else backward fun moving(distance: Int) { - x += (Math.cos(angle.toDouble()) * distance).toInt() - y += (Math.sin(angle.toDouble()) * distance).toInt() + x += (Math.cos(degreesToRadian(angle)) * distance).toInt() + y += (Math.sin(degreesToRadian(angle)) * distance).toInt() + } + + private fun degreesToRadian(angleInDegrees: Int): Double { + return Math.PI * angleInDegrees / 180 } //angle positive - rotation left diff --git a/car_srv/kotlinSrv/src/control/emulator/ControllerEmulator.kt b/car_srv/kotlinSrv/src/control/emulator/ControllerEmulator.kt index 722ab869f0e..1cc0c93c1b3 100644 --- a/car_srv/kotlinSrv/src/control/emulator/ControllerEmulator.kt +++ b/car_srv/kotlinSrv/src/control/emulator/ControllerEmulator.kt @@ -158,8 +158,8 @@ class ControllerEmulator : Controller { when (currentCommand.first) { MoveDirection.FORWARD -> carInstance.moving((commandTimeIncludeRandom * MOVE_VELOCITY).toInt() / 1000) MoveDirection.BACKWARD -> carInstance.moving(-(commandTimeIncludeRandom * MOVE_VELOCITY).toInt() / 1000) - MoveDirection.RIGHT -> carInstance.rotate((commandTimeIncludeRandom * ROTATION_VELOCITY).toInt() / 1000) - MoveDirection.LEFT -> carInstance.rotate(-(commandTimeIncludeRandom * ROTATION_VELOCITY).toInt() / 1000) + MoveDirection.RIGHT -> carInstance.rotate(-(commandTimeIncludeRandom * ROTATION_VELOCITY).toInt() / 1000) + MoveDirection.LEFT -> carInstance.rotate((commandTimeIncludeRandom * ROTATION_VELOCITY).toInt() / 1000) else -> { } } diff --git a/car_srv/kotlinSrv/src/net/server/handlers/main/GetSonarData.kt b/car_srv/kotlinSrv/src/net/server/handlers/main/GetSonarData.kt index 8baecfc7e73..cc7ee2af314 100644 --- a/car_srv/kotlinSrv/src/net/server/handlers/main/GetSonarData.kt +++ b/car_srv/kotlinSrv/src/net/server/handlers/main/GetSonarData.kt @@ -30,7 +30,6 @@ class GetSonarData : AbstractHandler { callback.invoke(encodeProtoBuf(responseMessage)) return } - println("sonar") controller.executeRequestSensorData(message, callback) } } \ No newline at end of file