My comments are based on an analysis of the python examples for the micro::bits coprocessor.
One would expect that when a drive api, which sets direction and speed, is sent to the RVR, that the RVR responds until a new command (api) is sent. However, this is not the case. The RVR stops after a short time. In order to maintain the desired motion, a loop must be defined to resend the command every 200 ms. Besides the unnecessary redundancy (the api is constantly redefined), I feel that this is a weak link in effectively controlling the RVR drive. Can this problem be corrected?
Also are the RVR motors encoded?