1. A motion determination system for determining motion of a machine, the system comprising: one or more memories storing instructions; and one or more processors configured to execute the instructions to perform operations, including: receiving a first camera image and a second camera image from a camera affixed to the machine, wherein the first camera image is received earlier in time than the second camera image; identifying corresponding features in the first camera image and the second camera image; receiving range data, wherein the range data comprises at least one of a first range data and a second range data from a range detection unit affixed to the machine, and the first range data and the second range data correspond to the first camera image and the second camera image, respectively; determining first positions of the corresponding features using the first camera image and determining second positions of the corresponding features using the second camera image, wherein the first positions or the second positions are determined by also using the range data; determining a change in position of the machine based on differences between the first positions and the second positions; and determining a VO-based velocity of the machine based on the determined change in position of the machine, wherein the range data comprises the first range data and the second range data, and the one or more processors are further configured to execute the instructions to perform: determining a range-based velocity of the machine based on changes between the first range data and the second range data; and fusing the range-based velocity with the VO-based velocity to generate a fused-VO velocity.