第一台机器小车是由左右两个电机驱动的机器人原型。本文简要描述了单个电机的控制、传感器的使用,机器小车的5种基本运动模块,以及通过传感器反馈控制机器小车的方法。
1. 电机、传感器等的基本定义
电机(当位于端口0时)正向转动:
电机反向转动:
电机停止转动:
电机转速控制,第一个参数为端口值,第二个为电平值。电平值从-100到+100变化,其中-100代表电机全速反转,0代表电机停转,+100代表全速正转。如正向半速转动:
传感器(当位于端口15时),开关量,闭合返回“真/1”,断开返回“假/0”:
系统等待/延时(2秒):
2. 机器小车的5种基本运动模块
机器小车的复杂动作均可由一些基本的运动模块组合实现,例如前进模块、后退模块、转弯模块等。事先创建好这些模块,方便后面直接调用。
- 前进,即两个电机同时正向转动
- 后退,即两个电机同时反向转动
- 左转,右侧电机正向转动,左侧电机反向转动
- 右转,左侧电机正向转动,右侧电机反向转动
- 停止,即两个电机同时停止转动
编写定义下面5种基本运动函数,其中LEFT_MOTOR和RIGHT_MOTOR为左右车轮电机对应的端口:
3. 通过传感器反馈控制机器小车
下图为双电机与双传感器小车,其传感器与电机信号采用正比控制关系,即传感器离光源越近,与其连接的电机转速越快。
负反馈通常能将系统引导到目标状态。第一辆小车的传感器交叉连接电机,如图示,由于左侧传感器距离光源更近,它将接受比右侧传感器更强的刺激,从而驱动右侧电机以更快速度转动,使小车向左侧转动,朝光源方向移动。通过连续的矫正行为,最终找到光源。
正反馈通常能使系统远离稳定状态。第二辆小车改变传感器与电机的连接方式,如图示,同理,小车向右侧转动,远离光源,奔向黑暗。
参考:Fred G.Martin. 机器人探索:工程实践指南. 电子工业出版社. 2004