I’m trying to get the Odrive controller to control two hoverboard motors with a joystick. Pretty much I’m trying to do the hoverboard guide project in the documentation. No matter what I do I can’t seem to get the wheels to spin. I’ve tried position control, velocity control, and I’ve even tried sensorless mode. Currently what I’m getting is when I calibrate, the motor beeps then rotates 1.5 times in both directions and returns no errors. I then try to use vel_setpoint and the motors wiggle back and forth violently. I thought this might have to do with vel_gain but nothing I do there seems to fix it. I’ve also set vel_ramp and that doesn’t help either. I also don’t get any errors with any of this.
In : odrv0.axis0.encoder.config Out: mode = 1 (int) use_index = False (bool) find_idx_on_lockin_only = False (bool) pre_calibrated = False (bool) zero_count_on_find_idx = True (bool) cpr = 90 (int) offset = 72 (int) offset_float = 0.5015027523040771 (float) enable_phase_interpolation = True (bool) bandwidth = 100.0 (float) calib_range = 0.019999999552965164 (float) calib_scan_distance = 150.0 (float) calib_scan_omega = 12.566370964050293 (float) idx_search_unidirectional = False (bool) ignore_illegal_hall_state = False (bool) In : odrv0.axis0.motor.config Out: pre_calibrated = False (bool) pole_pairs = 15 (int) calibration_current = 10.0 (float) resistance_calib_max_voltage = 4.0 (float) phase_inductance = 0.00038733400288037956 (float) phase_resistance = 0.21913877129554749 (float) direction = 1 (int) motor_type = 0 (int) current_lim = 10.0 (float) current_lim_tolerance = 1.25 (float) inverter_temp_limit_lower = 100.0 (float) inverter_temp_limit_upper = 120.0 (float) requested_current_range = 25.0 (float) current_control_bandwidth = 100.0 (float) In : odrv0.axis0.controller.config Out: control_mode = 2 (int) pos_gain = 1.0 (float) vel_gain = 0.9303749799728394 (float) vel_integrator_gain = 4.651875019073486 (float) vel_limit = 10.0 (float) vel_limit_tolerance = 0.0 (float) vel_ramp_rate = 10000.0 (float) setpoints_in_cpr = False (bool)