-
Notifications
You must be signed in to change notification settings - Fork 34
大疆Python API列表
参考论坛帖机甲大师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) |
中文说明 | 英文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 灯以一定频率闪烁
设置 PWM 输出百分比,数值越大,在某一周期内高电平的持续时间越长。该 PWM 基础频率为50Hz(灯的亮灭、舵机转动) 注意:
- PWM 口位于底盘控制模块上,拿开底盘后侧的透明盖板即可看到。从上至下共6个 PWM 口。
- PWM 又称脉冲宽度调制,控制的是某一周期内高电平的持续时间,现广泛应用于LED 灯、舵机等的控制上。
- 上电后,PWM 接口默认输出7.5%占空比的信号,每次程序运行结束后,也会恢复默认的输出信号。
- 对灯条来说,PWM 输出百分比范围为0%~100%,0意味着灯最暗,100意味着灯最亮。
- 对舵机来说,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 ~ 1。
- 速度杆量叠加是将底盘在程序中的速度与摇杆速度相加。
在程序中设置底盘以 0.5m/s 向前平移,同时我们将杆量推满, 开启底盘速度杆量叠加后,机器人就会将两种控制数据“叠加”, 最终机器人将以(0.5+1*当前最大向前速度)m/s的速率向前平移。
设置底盘平移速率,默认平移速率是 0.5 米/秒。数值越大,移动越快。
信息类(变量型数据): 以上电时刻底盘位置为基准,获取底盘当前在航向轴、俯仰轴或翻滚轴上的姿态角值
开启或关闭云台速度杆量叠加
设置云台旋转速率,默认速率是 30 度/秒。数值越大,旋转越快。
控制云台向指定方向旋转: 此模块会控制云台向指定方向持续旋转,直到收到“控制云台停止运动”、“等待(x)秒”或其它控制云台运动的指令
控制云台绕航向轴旋转到指定位置
开启或关闭 RoboMaster S1 对视觉标签、姿势、同类S1机器人、行人、线的视觉识别功能
注意:
- RoboMaster S1 的智能识别功能默认处于关闭状态。所以如果未先开启识别功能,机器人对相应的可识别信息就不会有反应。
- 机器人默认能够识别的线颜色是蓝色。