Navigation

    ModalAI Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    1. Home
    2. alfa budiman
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    alfa budiman

    @alfa budiman

    2
    Reputation
    49
    Posts
    15
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    alfa budiman Follow

    Best posts made by alfa budiman

    • RE: RB5 drone streaming from different cameras

      I'm not sure if you still have this problem, but if you know ROS, you can stream the cameras on your computer by configuring the drone to have the ROS master on your computer. First follow the steps at this link to setup ROS on RB5. https://docs.modalai.com/setup-ros-on-voxl-2/

      Then you can set the ROS master to be on your computer by opening ~/.bashrc on the RB5 drone, and entering these lines in the file:

      export ROS_MASTER_URI=http://{PC_IP_ADDRESS}:11311/
      export ROS_HOSTNAME={RB5_DRONE_IP}
      

      PC_IP_ADDRESS can be obtained from ipconfig on your computer. RB5_DRONE_IP is the one you use to ssh into it.
      Then on the drone:

      source ~/.bashrc
      

      On your computer execute:

      roscore
      Rviz
      

      On the drone execute:

      roslaunch voxl_mpa_to_ros voxl_mpa_to_ros.launch
      

      You will then be able to view the camera display topics from voxl_mpa_to_ros on your computer. You can stream them on Rviz, and you can create ROS nodes to subscribe to these topics for whatever computer vision application you develop. Hope this helps.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • Open CV and CV Bridge

      I'd like to share my experience installing these packages on the RB5 drone. It was not pleasant but it got done.

      I tried several variations of pip install opencv-python, with different versions of opencv and pip / pip2 / pip3, none of those worked. I tried sudo apt install and that didn't work. Similar issues popped up trying CV Bridge.

      Ultimately, I ended up having to build these packages from source (I think that's the right term). I followed the steps here: https://pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/
      to install opencv. I ignored steps 8 and 9.

      To install CV Bridge, first I installed opencv as per the linked instructions. Then, I repeated the linked instructions step 10 but with the github repo for CV Bridge (https://github.com/ros-perception/vision_opencv). After this, you must edit the ~/.bashrc on the drone and enter the following:

      export LD_LIBRARY_PATH=/usr/local/lib
      

      These packages can then be used for computer vision work with camera imagery from voxl_mpa_to_ros_node. If anyone was able to install these packages using just pip install, I'd like to know how, as I believe this issue, of having to install from source may pop up in other packages I try to install on the drone.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman

    Latest posts made by alfa budiman

    • Improving VIO accuracy

      I've been working with the RB5 drone for autonomous flight and computer vision applications. I recently did a basic test to quantify the accuracy of VIO. In this test, I had the drone fly to positions (0,0,0), (1,1,1), (1,-1,1), (-1,-1,1), (-1,1,1) and back to (0,0,0), from its starting location. These are in global coordinates established by a motion capture system.

      When powered up, I obtained the homogenous transformation from initial motion capture estimate. This homogenous transformation was then applied to the drone's VIO pose estimate. The drone compared this VIO pose estimate with my desired set point position inputs for flight. Motion capture was used to estimate ground truth position. I plotted the trajectories below. In each plot, black is VIO pose estimate, red is motion capture pose estimate and blue is the difference between them.

      c9e5917a-eed4-4fda-a8e9-47ccd714eabf-image.png

      91e25b15-d949-48e4-a23d-22ff133bda25-image.png

      def737d3-0c2a-4f19-8a9c-baccc9f53fc3-image.png

      1606fac0-907c-4352-9fbe-169b93a0b972-image.png

      Overall, I can see that the VIO is working and it won't be perfect but I'd like explore ways to improve its accuracy. I am also certain this is not a PID control error either, as we can see the estimated (VIO) pose converging onto the set point inputs I provide; the drone clearly thinks it is in the right position, when it is not, as given from the motion capture pose estimate.

      Some options I'm considering:

      • changing PX4 parameters associated with VIO
      • building a ROS node(s) to improve the pose estimate. I am only using the ROS topic /mavros/local_position/pose. Maybe I can use more information such as from /mavros/local_position/velocity_body and fuse them together for example.
      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • RE: RB5 not detected by QGroundControl

      @Alejandro-M
      I documented the steps I took to get my RB5 drone from out of the box to flying programmatically with MAVROS. It includes intermediate steps such as wifi and QGround control setup.

      https://github.com/albud187/uav_nav_ops/blob/manual/RB5_Drone_Setup.docx

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • RE: Drone IP Address keeps changing

      I setup wifi connectivity on the RB5 drone by executing

      voxl-wifi station ssid password
      

      It automatically connects to any network with that matching ssid and password, whether it is a hotspot setup by my cellphone or setup by my personal laptop, regardless of their IP address. This is the functionality that I want. If the IP address of the drone changes because it is connected on a different network, that is fine. The issue is the drone IP address changing even though it is re-connecting on the same network after being turned off and turned back on.

      @tom said in Drone IP Address keeps changing:

      @alfa-budiman The ROUTE_IP and LOCAL_IP depend on the format of the IP addresses on the WiFi network you are attempting to connect to.

      I would connect to your WiFi network and check the IP address given to your drone by the network.

      If it gives you an IP address in the format 192.168.X.Y you'll want to set the ROUTER_IP to 192.168.X.1

      then set LOCAL_IP to whatever IP you want to request from the router, it will need to be in the format 192.168.X.Z where Z is the number you want to request.

      My concern with entering these IP addresses is that it would then cause the cause drone to search for a specific IP address or else it will not connect.

      I documented the steps I took to setup my drone here:
      https://github.com/albud187/uav_nav_ops/blob/manual/RB5_Drone_Setup.docx

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • RE: Drone IP Address keeps changing

      I just tried executing the voxl-static-ip command and it returns saying "unkown host". I believe I'm already loading rb5 with voxl-sdk as I am able to programmatically fly it using MAVROS and work with its camera imagery through voxl_mpa_to_ros_node.
      4a41120b-4307-4039-b4f9-1841c410a7c9-image.png

      My intuition tells me that the current script on my RB5 drone isn't setup properly and that I should just take the bash file from source (https://gitlab.com/voxl-public/voxl-sdk/utilities/qrb5165-system-tweaks/-/blob/master/scripts/voxl-static-ip), fill in the LOCAL_IP and ROUTER_IP, push that file onto my drone and execute it.

      64c69be2-d13a-4ecf-91c6-56b532f046f6-image.png

      I'm not too familiar with that, what should I put for "LOCAL_IP" and "ROUTER_IP" ?

      I think (but am not too sure) that LOCAL_IP is what the drone's IP will be (permanently). As for router IP, I'm not sure what that would be. If it is the IP address of the computer I am ssh-ing from then that is an issue as I would like to be able to ssh into the drone from any computer or any router as long as they are on the same network.

      Before I do something that could cause connectivity issues would it be possible to run the bash script without ROUTER_IP? Something like this:
      5aaa8177-4597-4048-926e-2599b6cb44b9-image.png

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • RE: Tracking Camera's Pose Relative to Drone

      Thanks, that's exactly what I'm looking for

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • Tracking Camera's Pose Relative to Drone

      I need to know the camera's position and orientation relative to the drone's body frame. This is so I can calculate its homogenous transformation relative to the drone, and then combine that camera imagery to localize detected objects in 3D space.

      I need to know the values of dx, dz and theta from this image:

      55ce6a3a-3095-4837-b71b-16e8975230fc-image.png
      I'm assuming that the camera is centered laterally, so dy=0 (please correct me if this is incorrect), and that there is no roll or yaw with regards to its orientation. Hence the theta is the pitch or how much the camera is rotated along the y axis. Positive direction of y axis in image is out of the page.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • Open CV and CV Bridge

      I'd like to share my experience installing these packages on the RB5 drone. It was not pleasant but it got done.

      I tried several variations of pip install opencv-python, with different versions of opencv and pip / pip2 / pip3, none of those worked. I tried sudo apt install and that didn't work. Similar issues popped up trying CV Bridge.

      Ultimately, I ended up having to build these packages from source (I think that's the right term). I followed the steps here: https://pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/
      to install opencv. I ignored steps 8 and 9.

      To install CV Bridge, first I installed opencv as per the linked instructions. Then, I repeated the linked instructions step 10 but with the github repo for CV Bridge (https://github.com/ros-perception/vision_opencv). After this, you must edit the ~/.bashrc on the drone and enter the following:

      export LD_LIBRARY_PATH=/usr/local/lib
      

      These packages can then be used for computer vision work with camera imagery from voxl_mpa_to_ros_node. If anyone was able to install these packages using just pip install, I'd like to know how, as I believe this issue, of having to install from source may pop up in other packages I try to install on the drone.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • RE: RB5 Drone not detected by computer

      I encountered this problem a while ago and its just a matter of a usb device on your virtual machine

      7e018bc6-8636-428f-b624-327316eb00a7-image.png

      You can also download adb for windows to verify that the drone is detected by the computer. If it's not detected by your computer at all (on host OS), then it won't be detected by your VM.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • RE: RB5 drone streaming from different cameras

      I'm not sure if you still have this problem, but if you know ROS, you can stream the cameras on your computer by configuring the drone to have the ROS master on your computer. First follow the steps at this link to setup ROS on RB5. https://docs.modalai.com/setup-ros-on-voxl-2/

      Then you can set the ROS master to be on your computer by opening ~/.bashrc on the RB5 drone, and entering these lines in the file:

      export ROS_MASTER_URI=http://{PC_IP_ADDRESS}:11311/
      export ROS_HOSTNAME={RB5_DRONE_IP}
      

      PC_IP_ADDRESS can be obtained from ipconfig on your computer. RB5_DRONE_IP is the one you use to ssh into it.
      Then on the drone:

      source ~/.bashrc
      

      On your computer execute:

      roscore
      Rviz
      

      On the drone execute:

      roslaunch voxl_mpa_to_ros voxl_mpa_to_ros.launch
      

      You will then be able to view the camera display topics from voxl_mpa_to_ros on your computer. You can stream them on Rviz, and you can create ROS nodes to subscribe to these topics for whatever computer vision application you develop. Hope this helps.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman
    • Drone IP Address keeps changing

      Whenever I turn off the drone and turn it back on, its IP address when connecting to my wifi network always changes. How do I make the RB5 Drone's IP address stay constant after turning it off and back on?

      This IP address change is very annoying for the 2 following reasons:

      1 - I am working with multiple robots communicating with each other over wifi via socket programming scripts. I have to declare each robots' IP address on my scripts. The IP address of my other robots, as well as my computer don't change.

      2 - Sometimes I want the ROS master of the RB5 Drone on my computer. This is essential for me to view from voxl_mpa_to_ros on Rviz, as well as test computer vision scripts.
      To get the ROS master on my comptuer, I ssh into the drone and edit the ~/.bashrc file, adding the following lines

      export ROS_MASTER_URI=http://{PC_IP_ADDRESS}:11311/
      export ROS_HOSTNAME={RB5_DRONE_IP}
      

      I'd have to change the IP address on the ~/.bashrc every time the drone is turned off and back on later.

      posted in Qualcomm Flight RB5 5G Drone
      alfa budiman
      alfa budiman