Navigation

    Robolink logo
    • Register
    • Login
    • Search
    • [[global:header.categories]]
    • [[global:header.recent]]
    • [[global:header.tags]]
    • [[global:header.popular]]
    • [[global:header.users]]
    • [[global:header.groups]]
    As of September 2021, we have moved technical support to Robolink Help

    Welcome to the Robolink Community forum!

    You can post here to interact with others in the Robolink community. We're checking it weekly, and we'll respond to some messages. If you're looking for technical support, head over to Robolink Help.

    How to control my Drone with OpenCV?

    CoDrone Lite/Pro
    3
    24
    30140
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      smilebean last edited by smilebean

      I want to do some actions to control my Drone like this, can you help me?

      1 Reply Last reply Reply Quote 0
      • S
        smilebean @robolink_arnold last edited by

        @robolink_arnold
        Thank you! If I have any questions about openCV , i will ask for help.

        1 Reply Last reply Reply Quote 0
        • robolink_arnold
          robolink_arnold @smilebean last edited by

          @smilebean You should not be getting a delay of 2000ms. I know however if you send a bunch of commands one after another the CoDrone will keep a buffer of all the commands therefore doing things you told it before. When using the keys you should not hold them down but instead tap them.

          S 1 Reply Last reply Reply Quote 0
          • robolink_arnold
            robolink_arnold @smilebean last edited by

            @smilebean said in How to control my Drone with OpenCV?:

            this
            You may need to change the size at which you are saving the video at. First find out what the size of the output video is.

            1 Reply Last reply Reply Quote 0
            • S
              smilebean last edited by

              @robolink_arnold About the delay , this is my code. Today I try the code, it happened. Maybe 1/10 , the delay above 2000ms.
              from time import sleep
              from petrone.drone import *
              from petrone.protocol import *
              from petrone.system import *
              import cv2

              def eventUpdateInformation(data):
              print("eventUpdateInformation() / {0} / {1} / {2} / Ver:{3} / 20{4:02}.{5}.{6}".format(data.modeUpdate,
              data.deviceType,
              data.imageType, data.version,
              data.year, data.month,
              data.day))

              cap = cv2.VideoCapture('rtsp://192.168.100.1/cam1/mpeg4')
              #cap = cv2.VideoCapture(0)
              fourcc = cv2.VideoWriter_fourcc(*'XVID')
              out = cv2.VideoWriter('outputVideo.avi',fourcc, 20.0, (640,480))

              drone = Drone(True, True, True, True, True)

              drone.connect()
              sleep(1)

              drone.sendTakeOff()
              sleep(1)

              while (cap.isOpened()):

              ret, frame = cap.read()
              
              out.write(frame)
              
              cv2.imshow('frame', frame)
              
              key = cv2.waitKey(1) & 0xFF
              
              if key == ord("W"):
                  drone.sendControl(0, 0, 0, 70)
                  print("T 60")
              
              if key == ord("S"):
                  drone.sendControl(0, 0, 0, -70)
                  print("T -60")
              
              if key == ord("A"):
                  drone.sendControl(0, 0, 50, 0)
                  print("Y 100")
              
              if key == ord("D"):
                  drone.sendControl(0, 0, -50, 0)
                  print("Y -100")
              
              if key == ord("i"):
                  drone.sendControl(0, 50, 0, 0)
                  print("P 100")
              
              if key == ord("k"):
                  drone.sendControl(0, -50, 0, 0)
                  print("P -100")
              
              if key == ord("j"):
                  drone.sendControl(-50, 0, 0, 0)
                  print("R 100")
              
              if key == ord("l"):
                  drone.sendControl(50, 0, 0, 0)
                  print("R -100")
              
              if key == ord("z"):
                  drone.sendControl(0,0,0,0)
                  print("hover")
              sleep(0.05)
              
              if key == ord("q"):
                  drone.sendLanding()
                  print("LANDING")
                  cap.release()
                  cv2.destroyAllWindows()
                  sleep(2)
                  drone.close()
                  print("CLOSE")
                  break
              
              if key == ord("x"):
                  drone.sendStop()
                  print("STOP")
                  cap.release()
                  cv2.destroyAllWindows()
                  sleep(2)
                  drone.close()
                  print("CLOSE")
                  break
              

              print("Disconnecting device.")
              drone.sendLinkDisconnect()
              sleep(0.2)
              drone.close()

              cap.release()
              out.release()

              cv2.destroyAllWindows()

              robolink_arnold 1 Reply Last reply Reply Quote 0
              • S
                smilebean last edited by smilebean

                I install drivers you say. About the delay, maybe it happened when I use pycharm and anaconda in the same time. I want to know how to do about this. I mean control the Drone with OpenCV. Is it Opencv image recognition?
                About this code,I can't save the video I catch with CoDrone, but computer camera can.0_1532325151639_code.png

                robolink_arnold 1 Reply Last reply Reply Quote 0
                • robolink_arnold
                  robolink_arnold last edited by

                  @smilebean So 4000ms and 3000ms delay is not normal, what code are you running? Do you have the BLE module driver installed on your computer? the SiLabs Driver? Also can you post the code you are trying to run here? Thank you!

                  1 Reply Last reply Reply Quote 0
                  • S
                    smilebean last edited by smilebean

                    The FPV transfer to PC have delay 3000~4000ms. Is it normal?
                    I can use the Key_Control example thank you!
                    Can you show me how to use OpenCV to control CoDrone?

                    1 Reply Last reply Reply Quote 0
                    • robolink_wes
                      robolink_wes last edited by

                      @robolink_arnold or @robolink_whoseop, can you take a look at this? Looks like we haven't gotten back to @smilebean yet.

                      1 Reply Last reply Reply Quote 0
                      • S
                        smilebean last edited by smilebean

                        When I use pycharm, I have the same problem(Key_Control).0_1530588853043_problem.png
                        And the FPV transfer to PC have delay 3000~4000ms. Is it normal?

                        1 Reply Last reply Reply Quote 0
                        • S
                          smilebean last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • robolink_arnold
                            robolink_arnold last edited by

                            @smilebean I can explain everything over the video call. I will be on the website https://appear.in/robolink-support let me know if the site works for you. It is best if you use a google chrome browser.

                            1 Reply Last reply Reply Quote 0
                            • S
                              smilebean last edited by smilebean

                              When I create a project , how not to use the virtual env of python?
                              We date on monday 11pm in Taiwan.

                              1 Reply Last reply Reply Quote 0
                              • robolink_arnold
                                robolink_arnold last edited by

                                Monday would be best I am free at 8am-10am Pacific Time which will be around 11pm in Taiwan @smilebean Just have pycharm setup and python 3.6. Try not to use the virtual env of python. Also have the windows computer and the IDE ready. Let me know if this is possible.

                                1 Reply Last reply Reply Quote 0
                                • S
                                  smilebean last edited by

                                  What do I need to prepare before video call? I trying to use pycharm now .If I have any question , I will ask, thank you!

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    smilebean last edited by

                                    I live in Taiwan (GMT+8). Can we video call next week? Monday ,Tuesday or Friday(7/2,7/3 or 7/6) . And I can cooperate with you at any time , just give me a time, thank you!

                                    1 Reply Last reply Reply Quote 0
                                    • robolink_arnold
                                      robolink_arnold last edited by

                                      @smilebean Please let me know when you are available for a video call I will be able to guide you through a lot of the content.

                                      1 Reply Last reply Reply Quote 0
                                      • robolink_arnold
                                        robolink_arnold last edited by

                                        Hello @smilebean I highly recommend setting up exactly as we did, use PyCharm as we will be able to help you out with your issues. Please follow the guide for PyCharm. Also that error appears when the CoDrone BLE module is not connected.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          smilebean last edited by

                                          About fpv_videosave ,when I press "Q", my program(video frame) will crash. And I can't open the video I save.
                                          About keyControl,I can't connect my drone . 0_1529633491930_problem.png

                                          And can you give some example about CES video, or give me some hint to do that?
                                          Thank you for help.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            smilebean @robolink_wes last edited by

                                            @robolink_wes Thank you! I will try that by myself. If I need help, I will ask questions.
                                            It is exam week,so I am busy. Thank you for help!

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post