These options specify which chasis and motor setup you are using. See Actuators documentation https://docs.donkeycar.com/parts/actuators/ for a detailed explanation of each drive train type and it's configuration. Choose one of the following and then update the related configuration section:
"PWM_STEERING_THROTTLE" uses two PWM output pins to control a steering servo and an ESC, as in a standard RC car.
"MM1" Robo HAT MM1 board or the Donkeycar RC Hat (https://www.diyrobocars.com/product/rc-hat/)
"SERVO_HBRIDGE_2PIN" Servo for steering and HBridge motor driver in 2pin mode for motor
"SERVO_HBRIDGE_3PIN" Servo for steering and HBridge motor driver in 3pin mode for motor
"DC_STEER_THROTTLE" uses HBridge pwm to control one steering dc motor, and one drive wheel motor
"DC_TWO_WHEEL" uses HBridge in 2-pin mode to control two drive motors, one on the left, and one on the right.
"DC_TWO_WHEEL_L298N" using HBridge in 3-pin mode to control two drive motors, one of the left and one on the right.
"MOCK" no drive train. This can be used to test other features in a test rig.
"VESC" VESC Motor controller to set servo angle and duty cycle
Select your drive train configuration
PWM output pin for steering servo
PWM frequency compensation (not for adjusting steering range)
True if hardware requires an inverted PWM pulse
PWM output pin for ESC
PWM frequency compensation (not for increasing/limiting speed)
True if hardware requires an inverted PWM pulse
PWM value for full left steering
PWM value for full right steering
PWM value for max forward throttle
PWM value for no movement
PWM value for max reverse throttle
SERVO_HBRIDGE_2PIN configures a steering servo and an HBridge in 2pin mode (2 pwm pins). Servo takes a standard servo PWM pulse between 1 millisecond (fully reverse) and 2 milliseconds (full forward) with 1.5ms being neutral. The motor is controlled by two pwm pins, one for forward and one for backward (reverse). The pwm pin produces a duty cycle from 0 (completely LOW) to 1 (100% completely high), which is proportional to the amount of power delivered to the motor. In forward mode, the reverse pwm is 0 duty_cycle; in backward mode, the forward pwm is 0 duty cycle. Both pwms are 0 duty cycle (LOW) to 'detach' motor and glide to a stop. Both pwms are full duty cycle (100% HIGH) to brake.
Pin specifier string format: Use RPI_GPIO for RPi/Nano header pin output (use BOARD for board pin numbering, use BCM for Broadcom GPIO numbering, for example "RPI_GPIO.BOARD.18"). Use PIGPIO for RPi header pin output using pigpio server (must use BCM pin numbering, for example "PIGPIO.BCM.13"). Use PCA9685 for PCA9685 pin output (include colon separated I2C channel and address, for example "PCA9685.1:40.13"). RPI_GPIO, PIGPIO and PCA9685 can be mixed arbitrarily, although it is discouraged to mix RPI_GPIO and PIGPIO.
Provides forward duty cycle to motor
Provides reverse duty cycle to motor
PWM output pin for steering servo
PWM frequency compensation (not for adjusting steering range)
True if hardware requires an inverted PWM pulse
PWM value for full left steering
PWM value for full right steering
SERVO_HBRIDGE_3PIN configures a steering servo and an HBridge in 3pin mode (2 ttl pins, 1 pwm pin). Servo takes a standard servo PWM pulse between 1 millisecond (fully reverse) and 2 milliseconds (full forward) with 1.5ms being neutral. The motor is controlled by three pins: one ttl output for forward, one ttl output for backward (reverse) enable, and one pwm pin for motor power. The pwm pin produces a duty cycle from 0 (completely LOW) to 1 (100% completely high), which is proportional to the amount of power delivered to the motor. In forward mode, the forward pin is HIGH and the backward pin is LOW. In backward mode, the forward pin is LOW and the backward pin is HIGH. Both forward and backward pins are LOW to 'detach' motor and glide to a stop. Both forward and backward pins are HIGH to brake.
Pin specifier string format: Use RPI_GPIO for RPi/Nano header pin output (use BOARD for board pin numbering, use BCM for Broadcom GPIO numbering, for example "RPI_GPIO.BOARD.18"). Use PIGPIO for RPi header pin output using pigpio server (must use BCM pin numbering, for example "PIGPIO.BCM.13"). Use PCA9685 for PCA9685 pin output (include colon separated I2C channel and address, for example "PCA9685.1:40.13"). RPI_GPIO, PIGPIO and PCA9685 can be mixed arbitrarily, although it is discouraged to mix RPI_GPIO and PIGPIO.
TTL pin, high enables motor forward
TTL pin, high enables motor reverse
Provides duty cycle to motor
PWM output pin for steering servo
PWM frequency compensation (not for adjusting steering range)
True if hardware requires an inverted PWM pulse
PWM value for full left steering
PWM value for full right steering
DC_STEER_THROTTLE with one motor as steering, one as drive. Uses L298N type motor controller in two pin wiring scheme utilizing two pwm pins per motor; one for forward (or right) and one for reverse (or left).
GPIO pin configuration: Use RPI_GPIO for RPi/Nano header pin output (use BOARD for board pin numbering, use BCM for Broadcom GPIO numbering, for example "RPI_GPIO.BOARD.18"). Use PIGPIO for RPi header pin output using pigpio server (must use BCM pin numbering, for example "PIGPIO.BCM.13"). Use PCA9685 for PCA9685 pin output (include colon separated I2C channel and address, for example "PCA9685.1:40.13"). RPI_GPIO, PIGPIO and PCA9685 can be mixed arbitrarily, although it is discouraged to mix RPI_GPIO and PIGPIO.
PWM pin produces duty cycle for steering left
PWM pin produces duty cycle for steering right
Provides forward duty cycle to motor
Provides reverse duty cycle to motor
DC_TWO_WHEEL pin configuration configures L298N_HBridge_2pin driver. Two wheels as differential drive, left and right. Each wheel is controlled by two pwm pins, one for forward and one for backward (reverse). Each pwm pin produces a duty cycle from 0 (completely LOW) to 1 (100% completely high), which is proportional to the amount of power delivered to the motor. In forward mode, the reverse pwm is 0 duty_cycle; in backward mode, the forward pwm is 0 duty cycle. Both pwms are 0 duty cycle (LOW) to 'detach' motor and glide to a stop. Both pwms are full duty cycle (100% HIGH) to brake.
Pin specifier string format: Use RPI_GPIO for RPi/Nano header pin output (use BOARD for board pin numbering, use BCM for Broadcom GPIO numbering, for example "RPI_GPIO.BOARD.18"). Use PIGPIO for RPi header pin output using pigpio server (must use BCM pin numbering, for example "PIGPIO.BCM.13"). Use PCA9685 for PCA9685 pin output (include colon separated I2C channel and address, for example "PCA9685.1:40.13"). RPI_GPIO, PIGPIO and PCA9685 can be mixed arbitrarily, although it is discouraged to mix RPI_GPIO and PIGPIO.
PWM pin produces duty cycle for left wheel forward
PWM pin produces duty cycle for left wheel reverse
PWM pin produces duty cycle for right wheel forward
PWM pin produces duty cycle for right wheel reverse
DC_TWO_WHEEL_L298N pin configuration configures L298N_HBridge_3pin driver. Two wheels as differential drive, left and right. Each wheel is controlled by three pins: one ttl output for forward, one ttl output for backward (reverse) enable, and one pwm pin for motor power. The pwm pin produces a duty cycle from 0 (completely LOW) to 1 (100% completely high), which is proportional to the amount of power delivered to the motor. In forward mode, the forward pin is HIGH and the backward pin is LOW. In backward mode, the forward pin is LOW and the backward pin is HIGH. Both forward and backward pins are LOW to 'detach' motor and glide to a stop. Both forward and backward pins are HIGH to brake.
GPIO pin configuration: Use RPI_GPIO for RPi/Nano header pin output (use BOARD for board pin numbering, use BCM for Broadcom GPIO numbering, for example "RPI_GPIO.BOARD.18"). Use PIGPIO for RPi header pin output using pigpio server (must use BCM pin numbering, for example "PIGPIO.BCM.13"). Use PCA9685 for PCA9685 pin output (include colon separated I2C channel and address, for example "PCA9685.1:40.13"). RPI_GPIO, PIGPIO and PCA9685 can be mixed arbitrarily, although it is discouraged to mix RPI_GPIO and PIGPIO.
TTL output pin enables left wheel forward
TTL output pin enables left wheel reverse
PWM pin generates duty cycle for left motor speed
TTL output pin enables right wheel forward
TTL output pin enables right wheel reverse
PWM pin generates duty cycle for right wheel speed
Configuration for VESC Motor Controller
Type: text_input
Type: boolean
Type: boolean
Type: integer
Type: text_input
Type: text_input
Type: text_input
Adjust this value if your car cannot run in a straight line
Max throttle to go forward. The bigger the faster
PWM value for stopped state
Max throttle to go reverse. The smaller the faster
Show steering value on display
Serial Port for MM1 (Pi: '/dev/ttyAMA0', Others: '/dev/ttyS0', Jetson: '/dev/ttyTHS1', Coral: '/dev/ttymxc0')