大疆社区

标题: 多线程搞定了! [打印本页]

作者: 老妖怪    时间: 2019-12-13
标题: 多线程搞定了!
[{"nameindex":"_1_1","type":1,"url":"","desc":"\u524d\u51e0\u5929\u8ddf\u4e00\u4e2a\u73a9\u4e50\u9ad8\u673a\u5668\u4eba\u7684\u670b\u53cb\u804a\u5929\uff0c\u804a\u5230python\u7684\u591a\u7ebf\u7a0b\uff0c\u4ed6\u4e5f\u662f\u56f0\u60d1\u4e86\u5f88\u4e45\uff0c\u7ec8\u4e8e\u88ab\u4ed6\u641e\u5b9a\u4e86\u4e50\u9ad8\u673a\u5668\u4eba\u7684\u591a\u7ebf\u7a0b\u3002\u6211\u4e00\u7422\u78e8\uff0cS1\u600e\u4e48\u8bf4\u4e5f\u6bd4\u4e50\u9ad8\u9ad8\u7ea7\u5427\uff0cA9 vs ARM7\uff0c\u5f3a\u5927\u592a\u591a\u4e86\u3002\u90a3\u4e48\u5229\u7528python\u539f\u751f\u7684\u591a\u7ebf\u7a0b\u673a\u5236\u5e94\u8be5\u4e5f\u53ef\u4ee5\u5427\u3002\u4e8e\u662f\u6211\u53bb\u67e5\u4e86\u4e00\u4e0b\u8d44\u6599\uff0c\u8bd5\u9a8c\u4e86\u4e00\u628a\uff0c\u679c\u7136S1\u662f\u53ef\u4ee5\u73a9\u591a\u7ebf\u7a0b\u7684\r\n\r\n\u53ef\u60dc\u4e86\uff0c\u6b4c\u821e\u5927\u8d5b\u7ed3\u675f\u4e86\uff0c\u7528\u591a\u7ebf\u7a0b\u8ba9S1\u8f7d\u6b4c\u8f7d\u821e\u5c06\u4f1a\u5927\u5e45\u5ea6\u7b80\u5316\u7f16\u7a0b\r\n\r\n\u5e9f\u8bdd\u4e0d\u591a\u8bf4\u4e86\uff0c\u4e0a\u4ee3\u7801\r\n\r\nimport threading \r\ndef start():\r\n    robot_ctrl.set_mode(rm_define.robot_mode_free)\r\n    t1=threading.Thread(target=aa,args=())\r\n    t2=threading.Thread(target=bb,args=())\r\n    t1.start()\r\n    t2.start()\r\n    while True:\r\n        pass\r\n\u200b\r\ndef aa():\r\n    gimbal_ctrl.rotate_with_degree(rm_define.gimbal_left,90)\r\n\r\ndef bb():\r\n    chassis_ctrl.move_with_time(0,2.5)\r\n\r\n\u8fd9\u662f\u4e00\u4e2a\u7b80\u5355\u7684demo\uff0c\u521b\u5efa\u4e86\u4e24\u4e2a\u7ebf\u7a0b\uff0ct1\u8f6c\u4e91\u53f0\uff0ct2\u524d\u8fdb\uff0c\u5148\u8d4b\u503c\uff0c\u518d\u7528start\u8c03\u7528\uff0c\u6ce8\u610f\uff0c\u8fd9\u91cc\u7684t1.start()\u662f\u975e\u963b\u585e\u7684\u4e86\u3002\u5b9e\u9645\u8fd0\u884c\u7684\u6548\u679c\u5c31\u662fS1\u8fb9\u524d\u8fdb\u8fb9\u8f6c\u4e91\u53f0\uff0c\u89c6\u9891\u5c31\u4e0d\u53d1\u4e86\uff0c\u5927\u5bb6\u81ea\u884c\u8bd5\u9a8c\r\n\r\nscratch\u600e\u4e48\u529e\u5462\uff1f\u5f88\u9057\u61be\uff0c\u591a\u7ebf\u7a0b\u662fpython\u624d\u6709\u7684\u3002\u6709\u4e86\u591a\u7ebf\u7a0b\uff0cpython\u548cscratch\u4e0d\u518d\u662f\u4e00\u4e00\u5bf9\u5e94\u7684\u5173\u7cfb\uff0c\u8bf4python\u79d2\u6740scratch\u4e00\u70b9\u90fd\u4e0d\u5938\u5f20\r\n\r\n\u65e2\u7136\u591a\u7ebf\u7a0b\u539f\u751f\u652f\u6301\u4e86\uff0c\u662f\u4e0d\u662f\u4e5f\u53ef\u4ee5yy\u4e00\u4e0b\u7f51\u7edc\u529f\u80fd\u5462\uff1f\u5f88\u9057\u61be\uff0c\u8fd9\u6761\u8bed\u53e5\u62a5\u9519\uff0c\u90c1\u95f7\u4e86\r\nimport socket\r\n\r\n\u671f\u5f85\u4e0b\u4e00\u4e2a\u7248\u672c\u7684\u56fa\u4ef6\u80fd\u591f\u652f\u6301\u66f4\u591a\u7684python\u539f\u751f\u7279\u6027\u548c\u5e93\uff0c\u7279\u522b\u9700\u8981socket\uff0cnumpy\uff0cos\uff0c\u6709\u8fd9\u51e0\u4e2a\u4e1c\u4e1c\uff0c\u5373\u4f7fsdk\u665a\u4e00\u70b9\u51fa\uff0c\u4ecd\u7136\u53ef\u4ee5\u5927\u5927\u589e\u52a0S1\u7684\u53ef\u73a9\u6027\r\n    ","imgsrc":"static\/image\/text.jpg"}]
作者: boolrobot    时间: 2019-12-13
这个可以有
作者: alex_dj    时间: 2019-12-13
编辑器用的原生的,还是外挂的呀?
作者: fansb77222f4    时间: 2019-12-13

作者: ☆Petrel☆    时间: 2019-12-15

作者: djiuser_7aFEgiQ    时间: 2020-1-11
boolrobot机甲大师 RoboMaster S12019-12-13 21:37
这个可以有
什么时候出网络包,有计划吗?
有没有支持的python的包或api说明文档?
作者: 方单单    时间: 2020-2-10

作者: 方单单    时间: 2020-2-10
我用多线程完成了几个编程挑战卡
作者: 是姚飞凡吖    时间: 2020-2-11

作者: 是姚飞凡吖    时间: 2020-2-11

作者: 是姚飞凡吖    时间: 2020-2-11

作者: 方单单    时间: 2020-2-12
         
作者: 方单单    时间: 2020-2-12

作者: 烈火之怒    时间: 2020-2-21
还有opencv、pytorch、pandas、sicpy等等有用的库,还能玩机器学习
作者: 成天翔    时间: 2020-2-23
方单单2-10 15:40
我用多线程完成了几个编程挑战卡
看了一下你的那个课程。比这个详细多了。
作者: 机甲果果    时间: 2020-3-17
看着你的弄了一个三线程 直接结束不了, 最后强行退出程序才结束。 双线程也结束很慢。
作者: Peter.Z    时间: 2020-8-28
本帖最后由 Peter.Z 于 2020-8-28 09:56 编辑

按照楼主的代码,把刷锅和识别标签射击组合了一下,刷锅线程可以正常进行,但是识别标签射击就没反应,是哪里有问题么?
能帮我看看哪里出问题了么?
import threading
    def start():
    robot_ctrl.set_mode(rm_define.robot_mode_free)
    gimbal_ctrl.enable_stick_overlay()
    chassis_ctrl.enable_stick_overlay()
    t1=threading.Thread(target=movep,args=())
    t2=threading.Thread(target=shootp,args=())
    t1.start()
    t2.start()
#    while True:
#        pass

def shootp():
    variable_X = 0
    variable_Y = 0
    variable_Post = 0
    variable_angle = 0
    list_MarkerList = RmList()
    global variable_X
    global variable_Y
    global variable_Post
    global variable_angle
    global list_MarkerList
    global pid_x
    global pid_y
    global pid_Pitch
    global pid_Yaw
    pid_x = PIDCtrl()
    pid_y = PIDCtrl()
    pid_Pitch = PIDCtrl()
    pid_Yaw = PIDCtrl()
    robot_ctrl.set_mode(rm_define.robot_mode_free)
    vision_ctrl.set_marker_detection_distance(2)
    vision_ctrl.enable_detection(rm_define.vision_detection_marker)
    pid_Yaw.set_ctrl_params(120,0,10)
    pid_Pitch.set_ctrl_params(65,0,5)
    variable_Post = 0.05
    ir_blaster_ctrl.set_fire_count(8)
    while True:
        list_MarkerList=RmList(vision_ctrl.get_marker_detection_info())
        if list_MarkerList[1] >= 1:
            variable_X = list_MarkerList[3]
            variable_Y = list_MarkerList[4]
            pid_Yaw.set_error(variable_X - 0.5)
            pid_Pitch.set_error(0.5 - variable_Y)
            gimbal_ctrl.rotate_with_speed(pid_Yaw.get_output(),pid_Pitch.get_output())
            time.sleep(0.05)
            if abs(variable_X - 0.5) <= variable_Post and abs(0.5 - variable_Y) <= variable_Post:
                ir_blaster_ctrl.fire_continuous()
                time.sleep(0.5)
        else:
            gimbal_ctrl.rotate_with_speed(0,0)


def movep():
    variable_zhuan = 0
    variable_yid = 0
    variable_offer = 0
    global variable_zhuan
    global variable_yid
    global variable_offer
    variable_zhuan = 60
    variable_yid = 250
    variable_offer = 120
    gimbal_ctrl.enable_stick_overlay()
    chassis_ctrl.enable_stick_overlay()
    while True:
        variable_zhuan = -1 * variable_zhuan
        variable_yid = -1 * variable_yid
        chassis_ctrl.set_wheel_speed((variable_yid - variable_zhuan) + variable_offer,(variable_zhuan - variable_yid) + variable_offer,(-1 * variable_yid - variable_zhuan) + variable_offer,(variable_zhuan + variable_yid) + variable_offer)
        time.sleep(0.5)
        variable_zhuan = -1 * variable_zhuan
        variable_yid = -1 * variable_yid
        chassis_ctrl.set_wheel_speed((variable_yid - variable_zhuan) + variable_offer,(variable_zhuan - variable_yid) + variable_offer,(-1 * variable_yid - variable_zhuan) + variable_offer,(variable_zhuan + variable_yid) + variable_offer)
        time.sleep(1)
        variable_zhuan = -1 * variable_zhuan
        variable_yid = -1 * variable_yid
        chassis_ctrl.set_wheel_speed((variable_yid - variable_zhuan) + variable_offer,(variable_zhuan - variable_yid) + variable_offer,(-1 * variable_yid - variable_zhuan) + variable_offer,(variable_zhuan + variable_yid) + variable_offer)
        time.sleep(0.7)
作者: 老狼I    时间: 2021-12-20
本帖最后由 老狼I 于 2021-12-21 09:48 编辑

本帖最后由 老狼I 于 2021-12-20 21:56 编辑

求助:你好,我在《robomaster ep 模块编程手册》中,没发现“智能”下的“识别到的单线信息”,“识别到的多线信息”两个块的python API 函数,只有“识别到的标签,行人信息"......。

请问,你有没有“识别到的单线信息”,“识别到的多线信息”的python  api函数?谢谢。




欢迎光临 大疆社区 (https://bbs.dji.com/) Powered by Discuz! X3.2