I use python and want two servo motors to run on the same power level. (It´s a two wheeled balancing robot). For the straight path the controller sets the power for both motors by “.set_motor_power()”.
I noticed that the motors are becoming asynchronous, if the wheels rotate on a lower speed. Is there another function?
Hello, @Matt is on vacation. He will answer as soon as he gets back. I wouldn’t want to give you wrong info, and the BrickPi is not my area of expertise.
set_motor_power will run the motors at the specified power, without regard to mechanical load, battery voltage, etc… This could be suitable for an application where you don’t really care exactly how fast the motors run, or for an application where the motor control is implemented in user-code.
There are a couple other ways you can control the motors, where the BrickPi3 Firmware will manage the power in attempt to maintain the speed or position target you set. You can use set_motor_dps to run the motor(s) at a specific speed (in degrees per second), or set_motor_position to make the motor(s) run to (and hold at) a specific position (in degrees).