G ((spec_mode=MANUAL) -> ((spec_manualCmd=FWD) -> ((frontDistSense=CLEAR & isReady)-> balancer=FWD)) )
G ((spec_mode=MANUAL) -> ((spec_manualCmd=BWD) -> ((backDistSense=CLEAR & isReady) -> balancer=BWD)) )
G ((spec_mode=MANUAL) -> ((spec_manualCmd=TURN_RIGHT) -> (isReady -> balancer=TURN_RIGHT)) )
G ((spec_mode=MANUAL) -> ((spec_manualCmd=TURN_LEFT) -> (isReady -> balancer=TURN_LEFT)) )
G ((spec_mode=MANUAL) -> ((spec_manualCmd=STP | (spec_manualCmd=FWD & frontDistSense=BLOCKED) | (spec_manualCmd=BWD & backDistSense=BLOCKED)) -> (isReady -> balancer=STP)) )
G ((bluetoothCmd=AUTO) -> ((distSense=CLEAR & isReady) -> (balancer=FWD)))
G ((bluetoothCmd=FWD) -> ((distSense=CLEAR & isReady)-> balancer=FWD))
G ((bluetoothCmd=BWD) -> (isReady -> balancer=BWD))
G ((bluetoothCmd=TURN_RIGHT) -> (isReady -> balancer=TURN_RIGHT))
G ((bluetoothCmd=TURN_LEFT) -> (isReady -> balancer=TURN_LEFT))
G ((bluetoothCmd=NOP) -> (isReady -> balancer=STP))
G ((bluetoothCmd=AUTO) -> ((frontDistSense=CLEAR & isReady) -> (balancer=FWD)))
G ((bluetoothCmd=FWD) -> ((frontDistSense=CLEAR & isReady)-> balancer=FWD))
G ((bluetoothCmd=BWD) -> ((backDistSense=CLEAR & isReady) -> balancer=BWD))
G ((bluetoothCmd=STP | (bluetoothCmd=FWD & frontDistSense=BLOCKED) | (bluetoothCmd=BWD & backDistSense=BLOCKED)) -> (isReady -> balancer=STP))
