Skip to content

大疆Python API列表

Xuan Wu edited this page Oct 18, 2019 · 19 revisions

参考论坛帖机甲大师S1主要api汇总(武汉-总督)

注: 所有enum类型都在rm_define中. 调用时应如此使用: rm_define.robot_mode_free

一. 系统

中文说明 英文API 参数 返回值
设置模式 robot.set_mode(mode) (enum) robot_mode_ [gimbal_follow/chassis_follow/free]
控制计时器 tools.timer_ctrl(behavior) (enum) timer_ [start/stop/reset]
设置放大倍数 media_ctrl.zoom_value_update(value) (int): [1, 4]
取计时器值 tools.timer_current() (float)
取运行时间 tools.run_time_of_program() (float)
取本地时间 tools.get_localtime(time) (enum) localtime_ [year/month/day/hour/minute/second] (int)
取开动时间 tools.get_unixtime() (float)

二. 灯效(补完中)

中文说明 英文API 参数 返回值
设置闪烁 led_ctrl.set_flash(armor_enum, frequency) armor_enum(enum): armor_ [all/bottom_front/bottom_back/bottom_left/bottom_right/top_left/top_right]; frequency(int): [1, 10]
设置底盘LED led_ctrl.set_bottom_led(armor_enum, r, g, b, led_effect_enum) armor_enum(enum): armor_bottom_ [all/front/back/left/right]; r(int): [0, 255]; g(int): [0, 255]; b(int): [0, 255]; led_effect_enum(enum): effect_ [always_on/always_off/breath/flash]

三. 底盘(补完中)

中文说明 英文API 参数 返回值
设置PWM值 chassis_ctrl.set_pwm_value(pwm_port_enum, output_percent) pwm_port_enum(enum): pwm [_all/1/2/3/4/5/6]; output_percent(int): [0, 100]
底盘控制.启用/禁用速度杆量 chassis_ctrl.[enable/disable] _stick_overlay()
设置平移速度 chassis_ctrl.set_trans_speed(speed) (float): [0, 3.5] m/s
设置轮速 chassis_ctrl.set_wheel_speed(lf_speed, rf_speed, lr_speed, rr_speed) 四个都是(int): [-1000, 1000] rpm
指定速度运动 chassis_ctrl.move_with_speed(speed_x, speed_y, speed_rotation) (float): [0, 3.5] m/s; (float): [0, 3.5] m/s; (int): [-600, 600] °/s
取姿态角 chassis_ctrl.get_attitude(attitude) (enum): chassis_ [yaw/pitch/roll] degree(float)

四. 云台(补完中). 全部在gimbal_ctrl下, 因此API中略去gimbal_ctrl.部分.

中文说明 英文API 参数 返回值
云台控制.启用/禁用速度杆量 [enable/disable] _stick_overlay()
设置旋转速度 set_rotate_speed(speed) (float): [0, 540] °/s
旋转 rotate(direction_enum) (enum): gimbal_ [up/down/left/right]
平转 yaw_ctrl(degree) (int): [-250, 250]°

五. 发射器(因为个人暂不用, 最后补上)

六. 智能(补完中)

中文说明 英文API 参数 返回值
视觉控制.启用/禁用识别 vision_ctrl.[enable/disable] _detection(function) (enum) vision_detection_ [marker/pose/car/people/line]

详细说明

一. 系统

设置模式

设置整机运动

控制计时器

控制计时器开始、暂停或结束计时

设置放大倍数

放大相机倍镜,局部图像更清晰

取计时器值

信息类: 获取计时器从开始到当前时刻的用时,返回秒数

取运行时间

信息类: 获取程序运行用时,返回秒数

取本地时间

信息类: 获取当前的时间信息,如年/月/日/时/分/秒等

取开动时间

信息类: 机器人启动时刻至今的时间间隔,返回累计的秒数,1)机器人的启动时刻是指上电时刻。2)如果机器人在断电后重启,会重新累计时间戳

二. 灯效

设置闪烁

设置指定位置LED灯的闪烁频率,2Hz 即每秒闪烁 2 次

设置底盘LED

控制底盘指定位置LED灯的颜色和灯效:

  • 常亮,LED 灯保持点亮状态
  • 熄灭,LED 灯关闭
  • 呼吸,LED 灯明暗变化(由暗变亮再变暗)
  • 闪烁,LED 灯以一定频率闪烁

三. 底盘

设置PWM值

设置 PWM 输出百分比,数值越大,在某一周期内高电平的持续时间越长。该 PWM 基础频率为50Hz(灯的亮灭、舵机转动) 注意:

  1. PWM 口位于底盘控制模块上,拿开底盘后侧的透明盖板即可看到。从上至下共6个 PWM 口。
  2. PWM 又称脉冲宽度调制,控制的是某一周期内高电平的持续时间,现广泛应用于LED 灯、舵机等的控制上。
  3. 上电后,PWM 接口默认输出7.5%占空比的信号,每次程序运行结束后,也会恢复默认的输出信号。
  4. 对灯条来说,PWM 输出百分比范围为0%~100%,0意味着灯最暗,100意味着灯最亮。
  5. 对舵机来说,PWM 输出百分比范围为2.5% ~ 12.5%。因为大部分舵机的控制脉冲频率为50 Hz,控制周期为20 ms,可调节角度-90 °~ 90°对应的高电平脉宽为0.5 ms ~ 2.5 ms, 因此舵机占空比的控制范围便是0.5/20~2.5/20,即2.5% ~ 12.5%。

玩家们可以根据自己想要控制的旋转角度设置舵机 PWM 的输出百分比。

底盘控制启用禁用速度杆量

开启或关闭底盘速度杆量叠加

注意:

  1. 如果不添加“开启底盘速度杆量叠加”模块,在运行程序时我们无法手控底盘;而添加此模块后,我们就可以对运行中的机器人进行移动控制,并且控制量会叠加。
  2. 杆量是指摇杆幅值的推动大小。杆量范围为 -1 ~ 1。
  3. 速度杆量叠加是将底盘在程序中的速度与摇杆速度相加。

在程序中设置底盘以 0.5m/s 向前平移,同时我们将杆量推满, 开启底盘速度杆量叠加后,机器人就会将两种控制数据“叠加”, 最终机器人将以(0.5+1*当前最大向前速度)m/s的速率向前平移。

设置平移速度

设置底盘平移速率,默认平移速率是 0.5 米/秒。数值越大,移动越快。

取姿态角

信息类(变量型数据): 以上电时刻底盘位置为基准,获取底盘当前在航向轴、俯仰轴或翻滚轴上的姿态角值

四. 云台

云台控制启用禁用速度杆量

开启或关闭云台速度杆量叠加

设置旋转速度

设置云台旋转速率,默认速率是 30 度/秒。数值越大,旋转越快。

旋转

控制云台向指定方向旋转: 此模块会控制云台向指定方向持续旋转,直到收到“控制云台停止运动”、“等待(x)秒”或其它控制云台运动的指令

平转

控制云台绕航向轴旋转到指定位置

五. 发射器

六. 智能

视觉控制.启用/禁用识别

开启或关闭 RoboMaster S1 对视觉标签、姿势、同类S1机器人、行人、线的视觉识别功能

注意:

  1. RoboMaster S1 的智能识别功能默认处于关闭状态。所以如果未先开启识别功能,机器人对相应的可识别信息就不会有反应。
  2. 机器人默认能够识别的线颜色是蓝色。