10.1. robomaster package¶
10.1.1. robomaster.action¶
-
class
robomaster.action.
Action
(**kw)¶ 基类:
object
-
wait_for_completed
(timeout=None)¶ 等待任务动作直到完成
参数: timeout – 超时,在timeout前未完成任务动作,直接返回 返回: bool: 动作在指定时间内完成,返回True; 动作超时返回False
-
10.1.2. robomaster.armor¶
-
class
robomaster.armor.
Armor
(robot)¶ 基类:
robomaster.module.Module
-
static
comp2id
(comp)¶ 装甲部位转换为装甲ID
参数: comp – enum (“bottom_back”, “bottom_front”, “bottom_left”, “bottom_right”, “top_left”, “top_right”) 装甲部位 返回: int: [1, 6] 装甲ID
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
static
id2comp
(armor_id)¶ 装甲ID转换为装甲部位
参数: armor_id – int [1, 6],装甲ID Return comp: enum: (“bottom_back”, “bottom_front”, “bottom_left”, “bottom_right”, “top_left”, “top_right”), 装甲部位
-
set_hit_sensitivity
(comp='all', sensitivity=5)¶ 设置装甲灵敏度
参数: - comp – enum:(“all”, “top_all”, “bottom_all”, “top_left”, “top_right”, “bottom_left”, “bottom_right”, “bottom_front”, “bottom_back”):要设置的装甲部位
- sensitivity – int:[0, 10] 灵敏度系数,系数越大灵敏度越低
返回: bool:返回调用结果
-
sub_hit_event
(callback=None, *args, **kw)¶ 打击事件订阅
参数: - callback –
回调函数, 返回数据 (armor_id, hit_type):
param armor_id: int:[1, 6]打击装甲的编号,1 底盘后;2 底盘前;3 底盘左;4 底盘右;5 云台左;6 云台右 param hit_type: enum:(“water”, “ir”),被打击类型,water:水弹,ir:红外 - args – 可变参数
- kw – 关键字参数
返回: bool: 事件订阅结果
- callback –
-
sub_ir_event
(callback=None, *args, **kw)¶ 红外打击事件订阅
参数: - callback – 回调函数, 返回数据 (hit_cnt)
- hit_cnt – 受到红外击打的次数
- args – 可变参数
- kw – 关键字参数
返回: bool: 事件订阅结果
-
unsub_hit_event
()¶ 取消打击事件订阅
返回: bool: 取消事件订阅结果
-
unsub_ir_event
()¶ 取消红外打击事件订阅
返回: bool: 取消事件订阅结果
-
static
10.1.3. robomaster.battery¶
-
class
robomaster.battery.
Battery
(robot)¶ 基类:
robomaster.module.Module
EP 电池模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
sub_battery_info
(freq=5, callback=None, *args, **kw)¶ 订阅电池信息
参数: - freq – enum:(1,5,10,20,50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 percent:
percent: 电池电量百分比 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_battery_info
()¶ 取消电池订阅
返回: bool: 取消订阅结果
-
-
class
robomaster.battery.
TelloBattery
(robot)¶ 基类:
object
教育无人机 电池模块
-
get_battery
()¶ 获取电池电量信息
返回: int: 电池的剩余电量百分比
-
sub_battery_info
(freq=5, callback=None, *args, **kw)¶ 订阅电池信息
参数: - freq – enum:(1,5,10) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 percent:
percent: 电池电量百分比 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_battery_info
()¶ 取消订阅飞机电池信息
返回: 返回取消订阅结果
-
10.1.4. robomaster.blaster¶
-
class
robomaster.blaster.
Blaster
(robot)¶ 基类:
robomaster.module.Module
EP 发射器模块
-
fire
(fire_type='water', times=1)¶ 发射器发射
参数: - fire_type – enum: (“water”, “ir”), 发射器发射类型,水弹、红外弹
- times – 发射次数
返回: bool: 调用结果
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
set_led
(brightness=255, effect='on')¶ 设置发射器灯效
参数: - brightness – int:[0,255],亮度
- effect – enum:(“on”, “off”),on 表示常亮,off 表示常灭
返回: bool:调用结果
-
10.1.5. robomaster.camera¶
-
class
robomaster.camera.
EPCamera
(robot)¶ 基类:
robomaster.module.Module
,robomaster.camera.Camera
EP 摄像机模块
-
audio_stream_addr
¶ 机器人音频流地址
返回: tuple:(ip, port),机器人音频流地址
-
conf
¶ 相机参数配置
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
read_audio_frame
(timeout=1)¶ 读取一段音频流信息
参数: timeout – float: (0, inf),超时时间,超过指定timeout时间后函数返回 返回: data, 已解码的音频流帧字节流
-
read_cv2_image
(timeout=3, strategy='pipeline')¶ 读取一帧视频流帧
参数: - timeout – float: (0, inf),超时参数,在timeout时间内未获取到视频流帧,函数返回
- strategy – enum: (“pipeline”, “newest”),读取帧策略:pipeline 依次读取缓存的帧信息,newest 获取最新的一帧 数据,会清空旧的数据帧
返回: image
-
read_video_frame
(timeout=3, strategy='pipeline')¶ 读取一帧视频流帧
参数: - timeout – float: (0, inf),超时时间,超过指定timeout时间后函数返回
- strategy – enum: (“pipeline”, “newest”) 读取帧策略:pipeline 流水线依次读取,newest 获取最新的一帧数据, 注意会清空老的数据帧队列
返回: frame, 已解码的视频流帧字节流
-
record_audio
(save_file='output.wav', seconds=5, sample_rate=48000)¶ 录制音频,保存到本地,支持wav格式,单通道
参数: - save_file – 本地文件路径,目前仅支持wav格式
- seconds – 录制时间
- sample_rate – 采样率
返回: bool: 调用结果
-
start_audio_stream
()¶ 开启音频流
-
start_video_stream
(display=True, resolution='720p')¶ 开启视频流
参数: - display – bool,是否显示视频流
- resolution – enum: (“360p”, “540p”, “720p”),设置图传分辨率尺寸
返回: bool:调用结果
-
stop
()¶ 停止
-
stop_audio_stream
()¶ 停止音频流
Return:bool: 调用结果
-
stop_video_stream
()¶ 停止视频流
返回: bool: 调用结果
-
take_photo
()¶ 拍照
返回: bool: 调用结果
-
video_stream_addr
¶ 机器人视频流地址
返回: tuple:(ip, port):机器人视频流地址
-
-
class
robomaster.camera.
TelloCamera
(robot)¶ 基类:
robomaster.camera.Camera
教育无人机 摄像机模块
-
read_cv2_image
(timeout=3, strategy='pipeline')¶ 读取一帧视频流帧
参数: - timeout – float: (0, inf),超时参数,在timeout时间内未获取到视频流帧,函数返回
- strategy – enum: (“pipeline”, “newest”),读取帧策略:pipeline 依次读取缓存的帧信息,newest 获取最新的一帧 数据,会清空旧的数据帧
返回: image
-
read_video_frame
(timeout=3, strategy='pipeline')¶ 读取一帧视频流帧
参数: - timeout – float: (0, inf),超时时间,超过指定timeout时间后函数返回
- strategy – enum: (“pipeline”, “newest”) 读取帧策略:pipeline 流水线依次读取,newest 获取最新的一帧数据, 注意会清空老的数据帧队列
返回: frame, 已解码的视频流帧字节流
-
set_bitrate
(bitrate)¶ 设置飞机传输码率
参数: bitrate – 需要设置的传输码率,[0, 6] 返回: bool: 设置结果
-
set_down_vision
(setting)¶ 设置飞机图像源
参数: direction – 需要设置的图像源,[1, 0] 返回: 设置结果
-
set_fps
(fps)¶ 设置飞机视频帧率
参数: fps – 需要设置的帧率,[high, middle, low] 返回: bool: 设置结果
-
set_resolution
(resolution)¶ 设置飞机视频分辨率
参数: resolution – 需要设置的视频分辨率,[high, low] 返回: bool: 设置结果
-
start_video_stream
(display=True)¶ 开启视频流
参数: display – bool, 是否显示视频流 返回: bool: 调用结果
-
10.1.6. robomaster.chassis¶
-
class
robomaster.chassis.
Chassis
(robot)¶ 基类:
robomaster.module.Module
EP 底盘模块,可以控制底盘的速度、位置、订阅底盘的数据,控制麦克纳姆轮等操作
-
drive_speed
(x=0.0, y=0.0, z=0.0, timeout=None)¶ 设置底盘速度,立即生效
参数: - x – float:[-3.5,3.5],x 轴向运动速度即前进速度,单位 m/s
- y – float:[-3.5,3.5],y 轴向运动速度即横移速度,单位 m/s
- z – float:[-600,600],z 轴向运动速度即旋转速度,单位 °/s
- timeout – float:(0,inf),超过指定时间内未收到麦轮转速指令,主动控制机器人停止,单位 s
-
drive_wheels
(w1=0, w2=0, w3=0, w4=0, timeout=None)¶ 设置麦轮转速
参数: - w1 – int:[-1000,1000],右前麦轮速度,以车头方向前进旋转为正方向,单位 rpm
- w2 – int:[-1000,1000],左前麦轮速度,以车头方向前进旋转为正方向,单位 rpm
- w3 – int:[-1000,1000],左后麦轮速度,以车头方向前进旋转为正方向,单位 rpm
- w4 – int:[-1000,1000],右后麦轮速度,以车头方向前进旋转为正方向,单位 rpm
- timeout – float:(0,inf),超过指定时间内未收到麦轮转速指令,主动控制机器人停止,单位 s
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
move
(x=0, y=0, z=0, xy_speed=0.5, z_speed=30)¶ 控制底盘运动当指定位置,坐标轴原点为当前位置
参数: - x – float: [-5,5],x轴向运动距离,单位 m
- y – float: [-5,5],y轴向运动距离,单位 m
- z – float: [-1800,1800],z轴向旋转角度,单位 °
- xy_speed – float: [0.5,2],xy轴向运动速度,单位 m/s
- z_speed – float: [10,540],z轴向旋转速度,单位 °/s
返回: 返回action对象
-
set_pwm_freq
(pwm1=None, pwm2=None, pwm3=None, pwm4=None, pwm5=None, pwm6=None)¶ 设置PWM输出频率
参数: pwm1~6 – int:[0,50000],pwm输出频率,单位Hz
-
set_pwm_value
(pwm1=None, pwm2=None, pwm3=None, pwm4=None, pwm5=None, pwm6=None)¶ 设置PWM输出占空比
参数: - pwm1 – int:[0,100],pwm输出占空比,单位%
- pwm2 – int:[0,100],pwm输出占空比,单位%
- pwm3 – int:[0,100],pwm输出占空比,单位%
- pwm4 – int:[0,100],pwm输出占空比,单位%
- pwm5 – int:[0,100],pwm输出占空比,单位%
- pwm6 – int:[0,100],pwm输出占空比,单位%
-
stick_overlay
(fusion_mode=0)¶ 设置底盘的杆量叠加模式 :param fusion_mode: int:[0,1,2] 0 = 关闭SDK的杆量叠加, 1 = 使能杆量叠加,速度正方向为车身坐标系, 2 = 使能SDK模式,速度正方向为云台朝向 :return: bool:调用结果
-
sub_attitude
(freq=5, callback=None, *args, **kw)¶ 订阅底盘姿态信息
参数: - freq – enum: (1, 5, 10, 20, 50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (yaw, pitch, roll):
yaw: yaw轴姿态角 pitch: pitch轴姿态角 roll: roll轴姿态角 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
sub_esc
(freq=5, callback=None, *args, **kw)¶ 订阅底盘电调信息
参数: - freq – enum: (1, 5, 10, 20, 50),设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (speed[4], angle[4], timestamp, state):
speed[4]: 4个电机的速度值,单位rpm,范围:-8192~8191 angle[4]: 4个电机的角度值,数值范围:0~32767映射0~360 timestamp: 4个电机的包序号 state: 4个电调的状态 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
sub_imu
(freq=5, callback=None, *args, **kw)¶ 订阅底盘IMU陀螺仪信息
参数: - freq – enum: (1, 5, 10, 20, 50),设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z):
acc_x: x轴加速度 acc_y: y轴加速度 acc_z: z轴加速度 gyro_x: x轴角速度 gyro_y: y轴角速度 gyro_z: z轴角速度 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
sub_mode
(freq=5, callback=None, *args, **kw)¶ 订阅底盘模式信息
参数: - freq – enum: (1, 5, 10, 20, 50),设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 mode:
mode: 底盘模式 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
sub_position
(cs=0, freq=5, callback=None, *args, **kw)¶ 订阅底盘位置信息
参数: - cs – int: [0,1] 设置底盘位置的坐标系,0 机器人当前位置,1 机器人上电位置
- freq – enum: (1, 5, 10, 20, 50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (x, y, z):
x: x轴方向距离,单位 m y: y轴方向距离,单位 m z: z轴方向距离,单位 m - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
sub_status
(freq=5, callback=None, *args, **kw)¶ 订阅底盘状态信息
参数: - freq – enum: (1, 5, 10, 20, 50),设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (static_flag, up_hill, down_hill, on_slope, is_pickup, slip_flag, impact_x, impact_y, impact_z, roll_over, hill_static):
static_flag: 状态标准位 up_hill: 处于上坡状态 down_hill: 处于下坡状态 on_slope: 处于倾斜状态 is_pickup: 处于抱起状态 slip_flag: 车身打滑 impact_x: x轴发生撞击 impact_y: y轴发生撞击 impact_z: z轴发生撞击 roll_over: 车身翻转 hill_static: 处于斜坡状态 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
sub_velocity
(freq=5, callback=None, *args, **kw)¶ 订阅底盘加速度信息
参数: - freq – enum:(1, 5, 10, 20, 50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据(vgx, vgy, vgz, vbx, vby, vbz):
vgx: 上电时刻下的世界坐标系下x方向速度 vgy: 上电时刻下的世界坐标系下y方向速度 vgz: 上电时刻下的世界坐标系下z方向速度 vbx: 当前时刻的车身坐标系下x方向速度 vby: 当前时刻的车身坐标系下y方向速度 vbz: 当前时刻的车身坐标系下z方向速度 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_attitude
()¶ 取消订阅底盘姿态信息
返回: bool: 取消数据订阅的结果
-
unsub_esc
()¶ 取消订阅电调信息
返回: bool: 取消数据订阅的结果
-
unsub_imu
()¶ 取消订阅底盘IMU陀螺仪信息
返回: bool: 取消数据订阅的结果
-
unsub_mode
()¶ 取消订阅底盘模式信息
返回: bool: 取消数据订阅的结果
-
unsub_position
()¶ 取消订阅底盘位置信息
返回: bool: 取消数据订阅的结果
-
unsub_status
()¶ 取消订阅底盘状态信息
返回: bool: 取消数据订阅的结果
-
unsub_velocity
()¶ 取消订阅底盘加速度信息
返回: bool: 取消数据订阅的结果
-
10.1.7. robomaster.exceptions¶
10.1.8. robomaster.flight¶
-
class
robomaster.flight.
Flight
(robot)¶ 基类:
object
教育无人机 飞行器模块
-
backward
(distance=0, retry=True)¶ 向后飞行distance厘米, 指相对距离
Param: distance: float:[20, 500]向后飞行的相对距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
curve
(x1=0, y1=0, z1=0, x2=0, y2=0, z2=0, speed=20, mid=None, retry=True)¶ 以设置速度飞弧线,经过对应坐标系中的(x1, y1, z1)点到(x2, y2, z2)点
如果选用mid参数,则对应坐标系为指定挑战卡的坐标系。不使用挑战卡时,飞机的前方为x轴正方向,飞机的左方为y轴的正方向 如果mid参数为默认值None,则为飞机自身坐标系
Param: x1: float:[-500, 500] x轴坐标 Param: y1: float:[-500, 500] y轴坐标 Param: z1: float:如果使用挑战卡(mid不为None),取值范围为 [0, 500]; 如果不使用挑战卡(mid为None),取值范围为[-500, 500] Param: x2: float:[-500, 500] x轴坐标 Param: y2: float:[-500, 500] y轴坐标 Param: z2: float:如果使用挑战卡(mid不为None),取值范围为 [0, 500]; 如果不使用挑战卡(mid为None),取值范围为[-500, 500] Param: speed: float:[10, 60] 飞行的速度 Param: mid: string: 不使用挑战卡时mid为None,运动坐标系为飞机自身坐标系;当使用挑战卡时mid为对应挑战卡编号,运动坐标系为对应挑战卡 坐标系。挑战卡编号参考挑战卡使用说明 Param: retry: bool:是否重发命令 返回: action对象
-
down
(distance=0, retry=True)¶ 向下飞distance厘米,指相对距离
Param: distance: float:[20, 500]向下飞行的相对距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
flip
(direction='f', retry=True)¶ 控制飞机向指定方向翻滚
当电量低于50%时无法完成翻滚 :param direction: string: 飞机翻转的方向, ’l‘ 向左翻滚,’r‘ 向右翻滚,’f‘ 向前翻滚, ’b‘ 向后翻滚 :param: retry: bool:是否重发命令 :return: action对象
-
flip_backward
(retry=True)¶ 控制飞机向后翻滚
当电量低于50%时无法完成翻滚 :param: retry: bool:是否重发命令 :return: action对象
-
flip_forward
(retry=True)¶ 控制飞机向前翻滚
当电量低于50%时无法完成翻滚 :param: retry: bool:是否重发命令 :return: action对象
-
flip_left
(retry=True)¶ 控制飞机向左翻滚
当电量低于50%时无法完成翻滚 :param: retry: bool:是否重发命令 :return: action对象
-
flip_right
(retry=True)¶ 控制飞机向右翻滚
当电量低于50%时无法完成翻滚 :param: retry: bool:是否重发命令 :return: action对象
-
fly
(direction='forward', distance=0, retry=True)¶ 控制飞机向指定方向飞行指定距离。
Param: direction: string: 飞行的方向,”forward” 向上飞行, “back” 向下飞行, “up” 向上飞行, “down” 向下飞行, “left” 向左飞行, “right” 向右飞行 Param: distance: float:[20, 500],飞行的距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
forward
(distance=0, retry=True)¶ 向前飞行distance厘米,指相对距离
Param: distance: float:[20, 500]向前飞行的相对距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
get_speed
()¶ 获取当前设置速度
返回: float: 当前速度值,单位 cm/s
-
go
(x, y, z, speed=10, mid=None, retry=True)¶ 控制飞机以设置速度飞向指定坐标位置
注意, x,y,z 同时在-20~20时,飞机不会运动。当不使用挑战卡时,飞机所在位置为坐标系原点,飞机的前方为x轴正方向,飞机的左方为y轴的正方向
Param: x: float: [-500, 500] x轴的坐标,单位 cm Param: y: float: [-500, 500] y轴的坐标,单位 cm Param: z: float: [-500, 500] z轴的坐标,单位 cm Param: speed: float: [10, 100] 运动速度, 单位 cm/s Param: mid: string: 不使用挑战卡时mid为None,运动坐标系为飞机自身坐标系;当使用挑战卡时mid为对应挑战卡编号, 运动坐标系为指定挑战卡的坐标系。支持编号可参考挑战卡使用说明。 Param: retry: bool:是否重发命令 返回: action对象
-
jump
(x=0, y=0, z=0, speed=20, yaw=0, mid1='m-1', mid2='m-1', retry=True)¶ 飞行器飞往mid1坐标系的(x, y, z)点后悬停,识别mid2的挑战卡,飞到mid2坐标系下(0, 0, z)的位置并且旋转到设定的yaw值
Param: x: float: [-500, 500],x轴的坐标,单位 cm Param: y: float: [-500, 500],y轴的坐标,单位 cm Param: z: float: [0, 500],z轴的坐标,单位 cm Param: speed: float:[10, 60],飞行的速度, 单位 cm/s Param: yaw: [-360, 360] 最终悬停的yaw轴角度, 单位 ° Param: mid1: string: 第一个挑战卡的id, 挑战卡id的介绍参考挑战卡使用说明 Param: mid2: string: 第一个挑战卡的id, 挑战卡id的介绍参考挑战卡使用说明 Param: retry: bool:是否重发命令 返回: action对象
-
land
(retry=True)¶ 自动降落
Param: retry: bool:是否重发命令 返回: action对象
-
left
(distance=0, retry=True)¶ 向左飞行distance厘米, 指相对距离
Param: distance: float:[20, 500]向左飞行的相对距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
mission_pad_off
()¶ 关闭挑战卡探测
返回: bool:控制结果
-
mission_pad_on
()¶ 打开挑战卡探测
默认同时打开前视和下视探测 :return: bool: 控制结果
-
motor_off
()¶ 控制飞机停桨
返回: action对象
-
motor_on
()¶ 控制飞机转桨
返回: action对象
-
move
(x=0, y=0, z=0, speed=10, mid=None, retry=True)¶ 飞机相对位置的控制
x/y/z值不能同时在-20~20之间,适用该接口时应当先打开挑战卡检测功能
Param: x: float:[-500, 500],目标位置在挑战卡坐标系中的x坐标,实际取值范围要根据挑战卡大小调整,单位 cm Param: y: float:[-500, 500],目标位置在挑战卡坐标系中的y坐标,实际取值范围要根据挑战卡大小调整,单位 cm Param: z: float:[-500, 500],目标位置在挑战卡坐标系中的z坐标,实际取值范围要根据挑战卡大小调整,单位 cm Param: speed: int:[10, 100],运动速度,单位 cm/s Param: mid: string: 挑战卡的编号,支持编号可参考挑战卡使用说明 Param: retry: bool:是否重发命令 返回: action对象
-
moveto
(yaw=0, retry=True)¶ 控制飞机旋转到挑战卡坐标系中指定的绝对角度
Param: yaw: float:[-180, 180],飞机在挑战卡上的的角度,俯视时,顺时针为正角度,逆时针为负角度 Param: retry: bool:是否重发命令 返回: action 对象
-
rc
(a=0, b=0, c=0, d=0)¶ 控制飞机遥控器的四个杆量
参数: - a – float:[-100, 100] 横滚
- b – float:[-100, 100] 俯仰
- c – float:[-100, 100] 油门
- d – float:[-100, 100] 偏航
-
right
(distance=0, retry=True)¶ 向右飞行distance厘米, 指相对距离
Param: distance: float:[20, 500]向右飞行的相对距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
rotate
(angle=0, retry=True)¶ 控制飞机旋转指定角度
Param: angle: float:[-360, 360] 旋转的角度,俯视飞机时,顺时针为正角度,逆时针为负角度 Param: retry: bool:是否重发命令 返回: action对象
-
set_speed
(speed=0)¶ 设置当前飞行速度
参数: speed – float:[10, 100],飞行速度,单位 cm/s 返回: bool: 设置结果
-
stop
(retry=True)¶ 停止rc运动并悬停,任何时候都可以
Param: retry: bool:是否重发命令 返回: bool: 控制结果
-
sub_attitude
(freq=5, callback=None, *args, **kw)¶ 订阅飞机姿态信息
参数: - freq – enum:(1, 5, 10),订阅数据的频率
- callback – 传入数据处理的回掉函数
- args – 回调函数参数
- kw – 回调函数参数
返回: bool: 数据订阅结果
-
sub_imu
(freq=5, callback=None, *args, **kw)¶ 订阅飞机陀螺仪信息
参数: - freq – enum:(1, 5, 10),订阅数据的频率
- callback – 传入数据处理的回掉函数
- args – 回调函数参数
- kw – 回调函数参数
返回: bool: 数据订阅结果
-
takeoff
(retry=True)¶ 自动起飞
Param: retry: bool:是否重发命令 返回: action对象
-
throw_fly
()¶ 控制飞机抛飞
返回: action对象
-
unsub_attitude
()¶ 取消订阅飞机姿态信息
返回: bool: 取消数据订阅结果
-
unsub_imu
()¶ 取消订阅飞机陀螺仪信息
返回: bool: 取消数据订阅结果
-
up
(distance=0, retry=True)¶ 向上飞distance厘米,指相对距离
Param: distance: float:[20, 500]向上飞行的相对距离,单位 cm Param: retry: bool:是否重发命令 返回: action对象
-
10.1.9. robomaster.gimbal¶
-
class
robomaster.gimbal.
Gimbal
(robot)¶ 基类:
robomaster.module.Module
EP 云台模块
-
drive_speed
(pitch_speed=30.0, yaw_speed=30.0)¶ 控制以一定速度转动
参数: - pitch_speed – float: [-360, 360],pitch轴速度,单位 °/s
- yaw_speed – float: [-360, 360],yaw 轴速度,单位 °/s
返回: bool:调用结果
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
move
(pitch=0, yaw=0, pitch_speed=30, yaw_speed=30)¶ 控制云台运动到指定位置,坐标轴原点为当前位置
参数: - pitch – float: [-55, 55],pitch 轴角度,单位 °
- yaw – float: [-55, 55],yaw 轴角度,单位 °
- pitch_speed – float: [0, 540],pitch 轴运动速速,单位 °/s
- yaw_speed – float: [0, 540],yaw 轴运动速度,单位 °/s
返回: 返回action对象
-
moveto
(pitch=0, yaw=0, pitch_speed=30, yaw_speed=30)¶ 控制云台运动到指定位置,坐标轴原点为上电位置
参数: - pitch – int: [-25, 30],pitch 轴角度,单位 °
- yaw – int: [-250, 250],yaw 轴角度,单位 °
- pitch_speed – int: [0, 540],pitch 轴运动速度,单位 °
- yaw_speed – int: [0, 540],yaw 轴运动速度,单位 °
返回: 返回action对象
-
recenter
(pitch_speed=60, yaw_speed=60)¶ 控制云台回中
参数: - pitch_speed – float: [-360, 360],pitch轴速度,单位 °/s
- yaw_speed – float: [-360, 360],yaw 轴速度,单位 °/s
返回: 返回action对象
-
resume
()¶ 控制云台从休眠状态中恢复
返回: bool:调用结果
-
sub_angle
(freq=5, callback=None, *args, **kw)¶ 订阅云台姿态角信息
参数: - freq – enum: (1, 5, 10, 20, 50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (pitch_angle, yaw_angle, pitch_ground_angle, yaw_ground_angle):
pitch_angle: 相对底盘的pitch轴角度 yaw_angle: 相对底盘的yaw轴角度 pitch_ground_angle: 上电时刻pitch轴角度 yaw_ground_angle: 上电时刻yaw轴角度 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
suspend
()¶ 控制云台进入休眠状态
返回: bool:调用结果
-
unsub_angle
()¶ 取消云台姿态角订阅
返回: bool: 取消数据订阅的结果
-
10.1.10. robomaster.gripper¶
-
class
robomaster.gripper.
Gripper
(robot)¶ 基类:
robomaster.module.Module
EP 机械爪模块
-
close
(power=50)¶ 控制机械爪关闭
参数: power – int: [1, 100],控制出力 返回: bool: 调用结果
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
open
(power=50)¶ 控制机械爪张开
参数: power – int: [1, 100],控制出力 返回: bool: 调用结果
-
pause
()¶ 控制机械爪停止
返回: bool: 调用结果
-
sub_status
(freq=5, callback=None, *args, **kw)¶ 订阅夹爪的状态信息
参数: - freq – enum: (1, 5, 10, 20, 50),设置数据订阅数据的推送频率,单位 Hz
- callback –
传入数据处理的回调函数,回调函数参数为:
gripper_status: opened:夹爪打开 closed:夹爪闭合。 - callback –
回调函数,返回数据 (status):
status: opened 夹爪完全打开,closed 夹爪完全闭合,normal 处在中间正常状态 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_status
()¶ 取消夹爪状态信息订阅
返回: 取消订阅结果
-
10.1.11. robomaster.led¶
-
class
robomaster.led.
Led
(robot)¶ 基类:
robomaster.module.Module
EP 装甲灯模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
set_gimbal_led
(comp='top_all', r=255, g=255, b=255, led_list=[0, 1, 2, 3], effect='on')¶ 设置云台灯效
参数: - comp – enum: (“top_all”, “top_left”, “top_right”),云台部位
- r – int: [0, 255],RGB红色分量值
- g – int: [0, 255],RGB绿色分量值
- b – int: [0, 255],RGB蓝色分量值
- led_list – list [idx0, idx1, …],idx:int[0,7] 云台灯序号列表.
- effect – enum: (“on”, “off”),灯效类型
返回: bool: 调用结果
-
set_led
(comp='all', r=0, g=0, b=0, effect='on', freq=1)¶ 设置整机装甲灯效
参数: - comp – enum: (“all”, “top_all”, “top_right”, “top_left”, “bottom_all”, “bottom_front”, “bottom_back”, “bottom_left”, “bottom_right”) 灯效部位,all: 所有装甲灯;top_all:云台所有装甲灯; top_right: 云台右侧装甲灯;top_left: 云台左侧装甲灯; bottom_all: 底盘所有装甲灯;bottom_front: 前装甲灯; bottom_back: 后装甲灯;bottom_left: 左装甲灯;bottom_right: 右装甲灯
- r – int: [0~255],RGB红色分量值
- g – int: [0~255],RGB绿色分量值
- b – int: [0~255],RGB蓝色分量值
- effect – enum: (“on”, “off”, “flash”, “breath”, “scrolling”) 灯效类型,on:常亮;off:常灭;flash:闪烁; breath:呼吸;scrolling:跑马灯(仅对云台灯有效)
- freq – int: [1, 10],闪烁频率,仅对闪烁灯效有效
返回: bool:调用结果
-
10.1.12. robomaster.robot¶
-
class
robomaster.robot.
Robot
(cli=None)¶ 基类:
robomaster.robot.RobotBase
RoboMaster EP 机甲大师 机器人
-
battery
¶ 获取电池模块对象
-
blaster
¶ 获取水弹枪模块对象
-
camera
¶ 获取相机模块对象
-
chassis
¶ 获取底盘模块对象
-
get_module
(name)¶ 获取模块对象
参数: name – 模块名称,字符串,如:chassis, gimbal, led, blaster, camera, battery, vision, etc. 返回: 模块对象
-
get_robot_mode
()¶ 获取机器人工作模式
返回: 自由模式返回free; 底盘跟随云台模式返回gimbal_lead;云台跟随底盘模式返回chassis_lead
-
get_sn
()¶ 获取机器人硬件SN信息
返回: 硬件SN字符串,如:”3JKDH2T0011000”
-
get_version
()¶ 获取机器人固件版本号信息
返回: 版本字符串,如:”01.01.0305”
-
gimbal
¶ 获取云台模块对象
-
initialize
(conn_type='ap', proto_type='udp', sn=None)¶ 初始化机器人
参数: - conn_type – 连接建立类型: ap表示使用热点直连;sta表示使用组网连接,rndis表示使用USB连接
- proto_type – 通讯方式: tcp, udp
注意:如需修改默认连接方式,可在conf.py中指定DEFAULT_CONN_TYPE
-
led
¶ 获取灯效控制模块对象
-
play_audio
(filename)¶ 播放本地音频文件
参数: filename – 播放音效的文件名,目前仅支持单通道,48KHz采样的wav格式文件 返回: action对象
-
play_sound
(sound_id, times=1)¶ 播放系统音效
参数: - sound_id – 系统音效ID值
- times – 播放次数
返回: action对象
-
reset
()¶ 重置机器人到初始默认状态
-
robotic_arm
¶ 获取机械臂模块对象
-
set_robot_mode
(mode='gimbal_lead')¶ 设置机器人工作模式
参数: mode – 机器人工作模式: free表示自由模式;chassis_lead表示云台跟随底盘模式;gimbal_lead表示底盘跟随云台模式 返回: bool: 调用结果
-
vision
¶ 获取智能识别模块对象
-
-
class
robomaster.robot.
Drone
(cli=None)¶ 基类:
robomaster.robot.RobotBase
教育系列无人机
-
close
()¶ 停止drone对象
-
config_sta
(ssid, password)¶ 设置飞机的连接模式为组网模式
参数: - ssid – 路由器的账号
- password – 路由器的密码
返回: bool: 设置结果
-
get_acceleration
()¶ 获取飞机三轴加速度值
返回: dict: 飞机三轴加速度值
-
get_attitude
()¶ 获取飞机三轴姿态信息
返回: dict: 飞机三轴姿态信息
-
get_baro
()¶ 获取电机气压计高度
返回: float: 电机气压计高度
-
get_drone_version
()¶ 获取飞机固件版本号
返回: string: 版本号
-
get_esp32_version
()¶ 获取esp32版本号
返回: string: 版本号
-
get_hardware
()¶ 获取飞机硬件信息 本命令仅支持SDK版本号>=30 可通过hardware?指令查询是否有接WIFI拓展模块,没接拓展模块返回TELLO,接了拓展模块返回RMTT。
返回: string: 硬件信息
-
get_height
()¶ 获取飞机相对高度
返回: string: 飞机相对高度
-
get_motor_time
()¶ 获取电机运行时间
返回: string: 电机的运行时间
-
get_sdk_version
()¶ 获取SDK版本号
返回: string: 版本号
-
get_sn
()¶ 获取飞机sn号
返回: string: 飞机的SN号
-
get_ssid
()¶ 获取SSID名称
返回: string: ssid名称
-
get_status
(name)¶ 获取飞机指定的状态
参数: name – string:需要获取的状态名,可列表[“MID”, “x”, “y”, “z”, “mpry”, “pitch”, “roll”, “yaw”, “vgx”, “vgy”, “vgz”, “templ”, “temph”, “tof”, “h”, “bat”, “baro”, “time”, “agx”, “agy”, “agz”],详细介绍 参考SDK使用文档 返回: name对应状态的数据值,DDS_PAD_MPRY_FLAG 对应状态的返回值为长度为3的list,分别代表的在飞机相对挑战卡的pitch、yaw、row值, 其他状态返回的都是float数据
-
get_subnets
()¶ Look through the machine’s internet connection and returns subnet addresses and server ip :return: list[str]: subnets
list[str]: addr_list
-
get_temp
()¶ 获取飞机机身温度
返回: dict: 飞机机身温度
-
get_wifi
()¶ 获取wifi信噪比
返回: float: wifi的信噪比数值
-
get_wifi_version
()¶ 获取WIFI版本号
返回: string: 版本号
-
scan_drone_robot
()¶ Automatic scanning of robots in the network
参数: num – 返回:
-
set_wifichannel
(channel)¶ 设置飞机WIFI信道
参数: channel – 需要设置的信道 返回: bool: 设置结果
-
sub_drone_info
(freq=5, callback=None, *args, **kw)¶ 订阅飞机高度、气压计、电机运行时间信息
参数: - freq – 订阅数据的频率, 1HZ, 5HZ, 10HZ
- callback – 传入数据处理的回掉函数
- args – 回调函数参数
- kw – 回调函数参数
返回: 返回订阅结果
-
sub_temp
(freq=5, callback=None, *args, **kw)¶ 订阅飞机温度信息
参数: - freq – 订阅数据的频率, 1HZ, 5HZ, 10HZ
- callback – 传入数据处理的回掉函数
- args – 回调函数参数
- kw – 回调函数参数
返回: 返回订阅结果
-
sub_tof
(freq=5, callback=None, *args, **kw)¶ 订阅飞机tof信息
参数: - freq – 订阅数据的频率, 1HZ, 5HZ, 10HZ
- callback – 传入数据处理的回掉函数
- args – 回调函数参数
- kw – 回调函数参数
返回: 返回订阅结果
-
unsub_drone_info
()¶ 取消订阅飞机高度、气压计、电机运行时间信息
返回: 返回取消订阅结果
-
unsub_temp
()¶ 取消订阅温度信息。
返回: 返回取消订阅结果。
-
unsub_tof
()¶ 取消订阅tof信息
返回: 返回取消订阅结果
-
10.1.13. robomaster.robotic_arm¶
-
class
robomaster.robotic_arm.
RoboticArm
(robot)¶ 基类:
robomaster.module.Module
EP 机械臂 模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
move
(x=0, y=0)¶ 机械臂相对位置移动
参数: - x – float, x轴运动距离,向前移动为正方向,单位 mm
- y – float, y轴运动距离,向上移动为正方向,单位 mm
返回: action对象
-
moveto
(x=0, y=0)¶ 机械臂绝对位置移动
参数: - x – float, x轴运动距离,向前移动为正方向,单位 mm
- y – float, y轴运动距离,向上移动为正方向,单位 mm
返回: action对象
-
recenter
()¶ 控制机械臂回中
返回: action对象
-
sub_position
(freq=5, callback=None, *args, **kw)¶ 订阅机械臂的位置信息
参数: - freq – enum:(1,5,10,20,50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (pos_x, pos_y):
pos_x: 机械臂x轴位置信息 pos_y: 机械臂y轴位置信息 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_position
()¶ 取消机械臂位置信息订阅
返回: bool: 取消订阅结果
-
10.1.14. robomaster.sensor¶
-
class
robomaster.sensor.
DistanceSensor
(robot)¶ 基类:
robomaster.module.Module
EP 距离传感器模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
sub_distance
(freq=5, callback=None, *args, **kw)¶ 订阅距离传感器测量的距离信息
参数: - freq – 订阅数据的频率,支持的订阅频率为1、5、10、20、50hz
- callback –
传入数据处理的回调函数,回调函数的参数为:
distance[4]: 4个tof的距离信息 - args – 传入参数。
返回: 返回订阅结果。
-
unsub_distance
()¶ 取消距离传感器的信息订阅。
-
-
class
robomaster.sensor.
SensorAdaptor
(robot)¶ 基类:
robomaster.module.Module
EP 传感器板模块
-
get_adc
(id=1, port=1)¶ 传感器板adc值获取
参数: - id – int[1,8],传感器板编号
- port – int:[1,2],传感器板端口号
返回: adc值
-
get_io
(id=1, port=1)¶ 传感器板io电平值获取
参数: - id – int[1,8], 传感器板编号
- port – int:[1,2], 传感器板端口号
返回: io电平值
-
get_pulse_period
(id=1, port=1)¶ 传感器板电平持续时间获取
参数: - id – int[1,8], 传感器板编号
- port – int:[1,2], 传感器板端口号
返回: 电平持续时间,单位ms
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
sub_adapter
(freq=5, callback=None, *args, **kw)¶ 订阅传感器转接板信息
参数: - freq – 订阅数据的频率,支持的订阅频率为1、5、10、20、50hz
- callback –
传入数据处理的回调函数,回调函数的参数为:
adapter[6]: 6个adapter的io/ad信息 - args – 传入参数。
返回: 返回订阅结果。
-
unsub_adapter
()¶ 取消传感器转接板的信息订阅。
-
10.1.15. robomaster.servo¶
-
class
robomaster.servo.
Servo
(robot)¶ 基类:
robomaster.module.Module
EP 舵机模块
-
get_angle
(index=1)¶ 获取舵机角度值
参数: index – int: [1,3],舵机编号 返回: int 舵机角度
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
moveto
(index=0, angle=0)¶ 舵机绝对位置移动
参数: - index – int [1, 3],舵机编号
- angle – int: [-180, 180],舵机旋转角度,单位(°)
返回: action对象
-
pause
(index=0)¶ 停止
参数: index – int: [1, 3],舵机编号 Return bool: 调用结果
-
sub_servo_info
(freq=5, callback=None, *args, **kw)¶ 订阅舵机角度信息
参数: - freq – enum: (1, 5, 10, 20, 50) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 (valid[4], speed[4], angle[4]):
valid[4]: 4个舵机在线状态 speed[4]: 4个舵机的速度值 angle[4]: 4个舵机的角度值 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_servo_info
()¶ 取消订阅舵机的角度信息 :return: bool: 调用结果
-
10.1.16. robomaster.uart¶
-
class
robomaster.uart.
Uart
(robot)¶ 基类:
robomaster.module.Module
EP 串口模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
serial_param_set
(baud_rate=0, data_bit=1, odd_even=0, stop_bit=0, rx_en=1, tx_en=1, rx_size=50, tx_size=50)¶ 底盘串口参数设置
默认设置:’9600’, ‘bit8’, ‘none’, ‘1’
参数: - baud_rate – 串口波特率,设置范围:0~4映射‘9600’,‘19200’,‘38400’,‘57600’,‘115200’
- data_bit – 数据位设置,设置范围:0~3映射‘bit7’, ‘bit8’, ‘bit9’, ‘bit10’
- odd_even – 数据校验位,设置范围:0~3映射‘none’, ‘odd’, ‘even’
- stop_bit – 停止位,设置范围:1~2
- rx_en – 接收使能
- tx_en – 发送使能
- rx_size – 接收buff大小
- tx_size – 发送buff大小
返回: 返回串口设置结果
-
serial_send_msg
(msg_buf)¶ 底盘串口数据数据发送
参数: - msg_buf – 发送的数据
- msg_len – 发送的数据长度
返回: 返回串口数据发送结果
-
10.1.17. robomaster.version¶
10.1.18. robomaster.vision¶
-
class
robomaster.vision.
Vision
(robot)¶ 基类:
robomaster.module.Module
EP 视觉识别模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
sub_detect_info
(name, color=None, callback=None, *args, **kw)¶ 订阅智能识别消息
参数: - name – enum: (“person”, “gesture”, “line”, “marker”, “robot”),person 行人,gesture 手势,line 线识别, marker 标签识别,robot 机器人识别
- color – enum:(“red”, “green”, “blue”): 指定识别颜色,仅线识别和标签识别时生效
- callback –
回调函数,返回数据 (list(rect_info)):
rect_info: 包含的信息如下: person 行人识别:(x, y, w, h), x 中心点x轴坐标,y 中心点y轴坐标,w 宽度,h 高度 gesture 手势识别:(x, y, w, h), x 中心点x轴坐标,y 中心点y轴坐标,w 宽度,h 高度 line 线识别:(x, y, theta, C),x点x轴坐标,y点y轴坐标,theta切线角,C 曲率 marker 识别:(x, y, w, h, marker), x 中心点x轴坐标,y 中心点y轴坐标,w 宽度,h 高度,marker 识别到的标签 robot 机器人识别:(x, y, w, h),x 中心点x轴坐标,y 中心点y轴坐标,w 宽度,h 高度
-
unsub_detect_info
(name)¶ 取消智能订阅消息
参数: name – enum: (“person”, “gesture”, “line”, “marker”, “robot”),取消的智能识别功能 返回: bool: 调用结果
-
10.1.19. robomaster.ai_module¶
-
class
robomaster.ai_module.
AiModule
(robot)¶ 基类:
robomaster.module.Module
EP AI模块
-
get_version
()¶ 获取模块版本号
:return:字符串,格式为:AA.BB.CC.DD
-
sub_ai_event
(callback=None, *args, **kw)¶ 订阅AI信息
参数: - freq – enum:(1,5,10) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 明文字符串:
id: 目标对象ID x: 目标图像的坐标x y: 目标图像的坐标y w: 目标图像的宽度 h: 目标图像的高度 C: 目标的置信度 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_ai_event
()¶ 取消AI数据订阅
返回: bool: 取消数据订阅结果
-
-
class
robomaster.ai_module.
TelloAI
(robot)¶ 基类:
object
教育无人机 AI模块
-
get_ai
()¶ 获取AI模块信息
返回: int: AI模块明文字符串
-
sub_ai_info
(freq=5, callback=None, *args, **kw)¶ 订阅AI信息
参数: - freq – enum:(1,5,10) 设置数据订阅数据的推送频率,单位 Hz
- callback –
回调函数,返回数据 明文字符串:
id: 目标对象ID x: 目标图像的坐标x y: 目标图像的坐标y w: 目标图像的宽度 h: 目标图像的高度 C: 目标的置信度 - args – 可变参数
- kw – 关键字参数
返回: bool: 数据订阅结果
-
unsub_ai_info
()¶ 取消订阅AI模块信息
返回: 返回取消订阅结果
-