robot模块

robot模块实例

robot.color_sensor = <robot.Tcs34725 object>

颜色传感器实例

robot.tracking_sensor = <robot.Tracking object>

循迹传感器实例

robot.drop_sensor = <robot.DropDetect object>

防跌落传感器实例

robot.robot_motion = <robot.RobotMotion object>

机器人运动传感器实例

robot.ultrasonic = <robot.Ultrasonic object>

超声波传感器实例

robot.hand_color = <robot.RobotHandColor object>

机器人左右手颜色显示类实例

Tcs34725--颜色传感器类

class robot.Tcs34725[源代码]
颜色传感器类
颜色传感器可用于两种类型场景:
  • 反射型探测
    须打开补光灯,此场景可识别物体颜色。由于补光灯非纯白, 此模式下须做亮暗平衡,且须调用balance_enable()函数使能亮暗平衡功能。
  • 探测光源
    此应用场景须关闭颜色补光灯,此状态不需做白平衡,可用于探测光源颜色、色温、亮度。
使用颜色传感器必须先调用sensor_init()初始化。
set_led(on)[源代码]

打开/关闭补光灯

参数:on -- bool True 打开 False 关闭
init()[源代码]

颜色传感器初始化,使用颜色传感前,必须先调用本函数初始化。

deinit()[源代码]

颜色传感器去初始化,不需要使用颜色传感器时,可调用本函数。

get_raw()[源代码]

获取裸数据

返回:tuple 裸数据元组(r,g,b,c)
get_rgb()[源代码]

获取RGB值,通过反射方式获取物体颜色时,须开启亮暗平衡调整功能。

返回:tuple RGB颜色值元组(r,g,b)
get_hsv()[源代码]

获取hsv值,通过反射方式获取物体颜色时,须开启亮暗平衡调整功能。

返回:tuple hsv颜色值元组(h,s,v)
get_temp()[源代码]

获取色温值

返回:int 色温值
get_lux()[源代码]

获取亮度值

返回:int 亮度值,单位lux
set_balance(mode)[源代码]

设置亮暗平衡调整参数,设置后的参数值,会保存到flash中,所以通常本函数只需执行一次。

参数:mode -- 1:设置亮平衡 2:设置暗平衡
balance_en(en)[源代码]

使能/禁能亮暗平衡调整功能,获取反射型物体颜色时,须调用本函数使能亮暗平衡调整功能。

参数:en -- True:使能 False:禁能

Tracking--循迹类

class robot.Tracking[源代码]
机器人控制类。
本类实现机器人相关功能:颜色识别、防跌落、循迹、机器人运动及省电功能控制。
set_led(on)[源代码]

循迹传感器led开关,使用循迹传感器前需打开LED。

参数:on -- True 开 False 关
pid_tracking(enable)[源代码]

使能/禁能内置PID循迹功能

参数:enable -- True 使能 False 禁止
detect_param()[源代码]

获取循迹图上的黑白AD采样值,改善循迹效果。执行本函数后,相关参数存在flash,因此通常只需执行一次。

get_val()[源代码]

获取循迹AD采样值

返回:四个循迹传感器AD采样值

DropDetect--防跌落类

class robot.DropDetect[源代码]
set_ir(on)[源代码]

防跌落传感器发射管开关,使用防跌落传感器需打开发射管。

参数:on -- True 打开 False 关闭
auto_detect(enable)[源代码]

开启/禁止内置防跌落功能, 开启本功能后,探测到机器人悬空后,机器人停止行走。

参数:enable -- True 开启 False 关闭
get_sensor_val()[源代码]

获取防跌落传感器AD采样值

返回:tuple 四个防跌落传感器AD采样值
set_threshold(threshold)[源代码]

设置跌落检测阈值

参数:threshold -- 四个角的防跌落检测阈值。

RobotMotion--运动类

class robot.RobotMotion[源代码]
set_motor(num, speed)[源代码]

控制单个马达

参数:
  • num -- 马达号, 1:左马达 2:右马达
  • speed -- 速度 取值范围: -100 -- 100
move(speed, ditance=4294967295)[源代码]

机器人前进、后退

参数:
  • speed -- 速度 取值范围: -100 -- 100 正值代表前进
  • distance -- 前时后退时,表示移动距离 0 -- 0xffffffff,单位:mm 为0xffffffff时表示持续行走。
rotate(speed, angle)[源代码]

机器人旋转

参数:
  • speed -- 速度 取值范围: 0 -- 100
  • angel -- 转角,单位:度 取值范围:-360 -- 360 正值代表右转
compensation(mode, val)[源代码]

机器人行走参数补偿

制造上的误差(如齿轮箱,轮子直径、轴距等),会影响行走的精确性。 本函数提供补偿功能。
参数:
  • mode -- 1: 移动补偿,步进一步补偿值 2:旋转补偿,旋转一度的补偿值。
  • val -- 补偿值,浮点数,可为正负值。

RobotHandColor--机器人左右手颜色显示类

class robot.RobotHandColor[源代码]

机器人左右手颜色设置类

set_color(hand, color)[源代码]

设置机器人左右手颜色。

参数:
  • hand -- Hand.left: 左手 Hand.right:右手
  • color -- 颜色值(r,g,b)
clear(hand)[源代码]

清除机器人左右手颜色。

参数:hand -- Hand.left: 左手 Hand.right:右手

Ultrasonic--超声波测距传感器类

class robot.Ultrasonic[源代码]

超声波测距传感器类

distance_mm()[源代码]

获取超声波测距值。

返回:返回超声波测距值,单位:mm

Button--按键传感器类

class robot.Button(callback)[源代码]

顶部按键类

使用示例:

# 按下按键,打印"hello, world"。
from robot import Button

def callback():
   print("hello, world")

b = Button(callback) #实例Button类,传入用户回调函数。

SysConfig--系统配置类

class robot.SysConfig[源代码]
get_params()[源代码]

获取机器人所有配置参数

返回:示例:(85, 0.002, 0.005, 1.0, 1.0, 1.0, 8, 11, 10, 30, 254, 3411, 3157, 259, 3444, 3185, 254, 3498, 3244, 252, 3305, 3053, 2000, 2000, 2000, 2000)
85: 标记
0.002: 行走补偿
0.005: 旋转补偿
1.0, 1.0, 1.0: 亮平衡RGB比例值
8, 11, 10, 30: 暗平衡rgbc值
254, 3411, 3157, 259: 循迹传感器1白平衡亮、值、差值 有4组
set_default_params()[源代码]

设置缺省的参数。配置参数调乱时,可调用本函数恢复缺省参数。