A vehicle comprising a control system for controlling motions of the vehicle, the vehicle having wheels, the control system comprising: suspension units configured to support the wheels respectively driven by motors controlled by throttles; a set of sensors configured to detect the motions of the vehicle; a road roughness sensor; an input/output interface, I/O, connected to: the set of sensors and the road roughness sensor, one or more processor, a memory device storing computer-implemented programs including a road roughness prediction program, an actuator control program and a throttle allocator program, an allocation module implemented through execution, by the one or more processor, of the throttle allocator program, and configured, in connection with the sensors, to generate and transmit allocated throttle signals to the throttles to minimize the motion by solving an optimization problem related to the motion by executing an optimization algorithm that computes a throttle/brake allocation that minimizes chassis motion in real-time; and a motor control unit configured to drive each of the motors (1203-1, 1203-2, 1203-3, 1203-4) via the throttles according to the allocated throttle signals, wherein the motions are represented by lift, pitch, and roll values of the vehicle, and the allocated throttle signals drive the motors (1203-1, 1203-2, 1203-3, 1203-4) to move the wheels (1101, 1103) on the right side closer together and the wheels (1102, 1104) on the left side farther apart to create a roll motion in response to a detected roll motion in the opposite direction; wherein a road roughness measured by the road roughness sensor is used to compute traction forces, to be allocated to the wheels, and a steering angle of the vehicle, to be set, to reduce the chassis motion due to road roughness while maintaining drivability. suspension units configured to support the wheels respectively driven by motors controlled by throttles; a set of sensors configured to detect the motions of the vehicle; a road roughness sensor; an input/output interface, I/O, connected to: the set of sensors and the road roughness sensor, one or more processor, a memory device storing computer-implemented programs including a road roughness prediction program, an actuator control program and a throttle allocator program, an allocation module implemented through execution, by the one or more processor, of the throttle allocator program, and configured, in connection with the sensors, to generate and transmit allocated throttle signals to the throttles to minimize the motion by solving an optimization problem related to the motion by executing an optimization algorithm that computes a throttle/brake allocation that minimizes chassis motion in real-time; and a motor control unit configured to drive each of the motors (1203-1, 1203-2, 1203-3, 1203-4) via the throttles according to the allocated throttle signals, wherein the motions are represented by lift, pitch, and roll values of the vehicle, and the allocated throttle signals drive the motors (1203-1, 1203-2, 1203-3, 1203-4) to move the wheels (1101, 1103) on the right side closer together and the wheels (1102, 1104) on the left side farther apart to create a roll motion in response to a detected roll motion in the opposite direction; wherein a road roughness measured by the road roughness sensor is used to compute traction forces, to be allocated to the wheels, and a steering angle of the vehicle, to be set, to reduce the chassis motion due to road roughness while maintaining drivability.