组装
我们将把掌握左/右方向的直流电动机作为前电动机和掌握前后方向的电动机作为后电动机。连接和BACK_MOTOR_DATA_ONE和BACK_MOTOR_DATA_TWO。GPIO管脚(GPIO17和GPIO27树莓Pi的GPIO)到输入引脚为电机1( ,Input 1)Input 2和BACK_MOTOR_ENABLE_PINGPIO引脚(GPIO22),以启用销为电机1(Enable 1,2在L293D电机驱动器IC)。将IC的电机1(Output 1,Output 2)的输出引脚连接到背面电机。

连接FRONT_MOTOR_DATA_ONE和FRONT_MOTOR_DATA_TWOGPIO管脚(GPIO19和GPIO26树莓Pi的)到输入引脚为电机2( Input 3,Input 4在IC)。将IC的电机2(Output 3,Output 4)的输出引脚连接到前电机。
PWM_FREQUENCY和INITIAL_PWM_DUTY_CYCLE表示PWM输出的初始频率和占空比。
我们已经建立了五个类标签,即forwardreverseleftrightidle和分配他们的预期值。所有类标签都须要同一名称的文件夹才能存在于当前目录中。
IMAGE_DIMENSION在演习期间,输入图像大小调度为元组值的维度。该值LAMBDA和HIDDEN_LAYER_SIZE值表示在演习神经网络时隐蔽层中的默认lambda值和节点数。
所有这些值都可以配置configuration.py
建立
用于演习的图像interactive_control_train.py利用方向箭头掌握汽车,并且所有的图像与对应的按键一起被记录在同一个文件夹中。在命令提示符下,运行以下命令:
python interactive_control_train.py
根据文件名中所示的按键按钮,将图像分离到各自的类文件夹之前完成数据清理。
培养图像分离成其相应的类文件夹后,神经网络利用演习有素的
train.py它有两个可选参数- lambda、hidden layer size默认值将是配置文件中指定的值。在命令提示符下,运行以下命令:
python train.py 0.1 100
图像从对应的类文件夹加载,并分配给配置文件中指示的类值。天生的模型optimized_thetas作为pickle文件存储在文件夹中。这是一个样本数据集和演习有素的模型,让您开始。
一旦我们有了演习有素的模型,RC车便是自主运行的autonomous.py这对付演习有素的模型来说是可以选择的。默认将利用optimized_thetas文件夹中的最新型号。在命令提示符下,运行以下命令:
python autonomous.py
当模型预测转弯时,我们正在降落汽车的速率。虽然我们希望在未来增加一个速率分量,神经网络并没有减少这个减少。
操持功能
我们打算在将来添加以下功能:
利用神经网络掌握汽车的速率
停滞旗子暗记检测
障碍物检测
特殊感激
感谢Andrew Ng为他的Coursera机器学习课程。
关于
自主车由Multunus Software Pvt掩护和帮助。Multunus的名称和徽标是Multunus Software Pvt的牌号。有限公司
我们建立了这个在20%的投资韶光内探索和学习机器学习观点。我们将在投资的时候支持这个项目。
原文出自github










