在这个构型项目中,我们搭建了一个四轮的小车来进行运动控制。
四轮小车由四个舵机驱动组成运动底盘。如下图所示:
如上图所示,左轮为1,3号舵机,正转(请预先通过舵机配置软件配置好id)
右轮为2,4号舵机,反转(请预先通过舵机配置软件配置好id)
将舵机通过总线互相连接起来,并接入到创意之星AI控制器的舵机总控接口上。
然后开始编写程序控制小车运动。
z这里,我们写一个前进运动的python程序:
from uptech import UpTech
import time
class FourWhellMove:
def __init__(self):
self.up = UpTech()
time.sleep(0.01)
self.up.CDS_Open()
time.sleep(0.2)
self.up.CDS_SetMode(1,1) #0舵机,1电机
self.up.CDS_SetMode(2,1)
self.up.CDS_SetMode(3,1)
self.up.CDS_SetMode(4,1)
time.sleep(2.0)
count = 0
while(True):
count += 1
if(count <= 10):
self.move_forward(512)
else:
self.stop()
time.sleep(1.0)
self.close()
break;
time.sleep(1.0)
def move_forward(self, speed):
self.up.CDS_SetSpeed(1,speed)
self.up.CDS_SetSpeed(3,speed)
self.up.CDS_SetSpeed(2,-speed)
self.up.CDS_SetSpeed(4,-speed)
def move_backward(self, speed):
self.up.CDS_SetSpeed(1,-speed)
self.up.CDS_SetSpeed(3,-speed)
self.up.CDS_SetSpeed(2,speed)
self.up.CDS_SetSpeed(4,speed)
def move_left(self, speed):
self.up.CDS_SetSpeed(1,-speed)
self.up.CDS_SetSpeed(3,speed)
self.up.CDS_SetSpeed(2,-speed)
self.up.CDS_SetSpeed(4,speed)
def move_right(self, speed):
self.up.CDS_SetSpeed(1,speed)
self.up.CDS_SetSpeed(3,-speed)
self.up.CDS_SetSpeed(2,speed)
self.up.CDS_SetSpeed(4,-speed)
def turn_left(self, speed):
self.up.CDS_SetSpeed(1,-speed)
self.up.CDS_SetSpeed(3,-speed)
self.up.CDS_SetSpeed(2,-speed)
self.up.CDS_SetSpeed(4,-speed)
def turn_right(self, speed):
self.up.CDS_SetSpeed(1,speed)
self.up.CDS_SetSpeed(3,speed)
self.up.CDS_SetSpeed(2,speed)
self.up.CDS_SetSpeed(4,speed)
def stop(self):
self.up.CDS_SetSpeed(1,0)
self.up.CDS_SetSpeed(2,0)
self.up.CDS_SetSpeed(3,0)
self.up.CDS_SetSpeed(4,0)
def close(self):
self.up.CDS_Close()
if __name__ == "__main__":
move = FourWhellMove()
首先,需要导入uptech模块,然后实例化UpTech类,这个类是创意之星AI控制器的一个封装类,提供了一些控制AI控制器的方法。
然后,通过CDS_Open()方法打开舵机总线,通过CDS_SetMode()方法设置舵机的模式,通过CDS_SetSpeed()方法设置舵机的速度,通过CDS_Close()方法关闭舵机总线。
在这个例子中,我们通过move_forward()方法控制小车前进,通过move_backward()方法控制小车后退,通过move_left()方法控制小车左转,通过move_right()方法控制小车右转,通过turn_left()方法控制小车左转,通过turn_right()方法控制小车右转,通过stop()方法控制小车停止。
这个程序,实现了逻辑,控制四轮小车,四个舵机,按照512的转速进行前进运动,持续10秒,然后停止。
请烧录到创意之星AI控制器上,然后运行,观察小车的运动。然后实现后退10秒,左转10秒,右转10秒,左转10秒,右转10秒,停止。