@GlennTee it looks like the version of px4 messages that was downloaded and built for the dds mismatches what px4 uorb messages are running in the system. I will take a look into this. Thanks!
Posts made by Zachary Lowell 0
-
RE: ROS2 VOXL2 Deserialization Errors
-
RE: VOXL2/ROS2 Drone Runs Figure 8 Offboard Program Instead of My Program
@claw said in VOXL2/ROS2 Drone Runs Figure 8 Offboard Program Instead of My Program:
Ok, so some of the confusion was related to editing the Python example, but it's actually running the cpp code. With that corrected, it shows all of the expected topics in the "ros2 topic list" and the code sends the arm command to the correct topic according to "ros2 topic echo /uav_4/fmu/in/vehicle_command", however, the Starling doesn't arm. We're trusting the example code as to the data structure that is actually populated and sent to that topic. Is there a reference as to what that should be?
Reply
@claw what code are you referring to? The ros2 figure 8 code is written in python:
voxl-mpa-to-ros2 itself is written in CPP, but this node specific is in python as it can be either. With the DDS running, you do not need the voxl-mpa-to-ros2 code running as that just converts MPA to ros2, but regardless you dont need that running if the goal is just to publish to the dds via this ros2 node. How are you executing this?
ros2 run voxl_offboard_figure8 voxl_offboard_figure8
? -
RE: Which development environment is suitable to build ROS2 packages and nodes for the RB5
@tahawaru cant say that I can recreate this as the RB5 board is fully EOL and depracated.
As for the best ROS2 environment you can run via docker, I always leverage ros humble docker image to program on. Since you are rurnning SDK 1.1.2 I am unsure if the dds micro-agent is on that SDK - if the goal is to just use docker on the board and leverage ros2, I would recommend:
docker pull ros:humble-ros-base-jammy
OR
docker pull ros:humble-ros-desktop-jammy
-
RE: Offboard mode and ROS2 with Rb5
@tahawaru just to confirm you have turned off figure 8 offboard mode in voxl-vision-hub? Also does the drone arm when stating "drone arming" - lastly, do you have the dds agent running on the voxl2? There is a part of me that is nervous since you are running this on the rb5 and not a voxl2 that the px4 instance on there is quite stale and doesnt have the dds CLIENT sitting in the executable script. take a look at
/usr/bin/voxl-px4-start
and check if there is reference to the dds client.Zach
-
RE: Stuck installing ros-melodic-pcl-conversions
@vicky-s-karthik mind posting the exact commands that you ran?
ROS melodic is fully deprecated - so my recommendation is to move over to ros2 foxy which is what we support on the voxl2 as of right now. I will try and recreate your issue in the meantime. Please try installing ros melodic base as the cv2 instance on there conflicts with opencv on voxl-sdk.
-
RE: Docker MAVSDK
@Kiazoa-Joao so first you should be leveraging: https://gitlab.com/voxl-public/voxl-docker-images/voxl-docker-mavsdk
Voxl-docker-mavsdk-python is quite stale - the voxl-docker-mavsdk directory above is maintained and meant to run mavsdk python and c++ implementation.
What this will do is build the docker image on the parent computer and then push the docker tarball onto the voxl2 to be loaded. Then the user can run it from the voxl2.
Just follow the instructions in this repository and paste if you get any errors.
Zach -
RE: SBUS not detected
@Ansel-Misfeldt said in SBUS not detected:
Let me know if you need us to test the specific version it breaks on.
Reply
@Ansel-Misfeldt will flash a flight core and let you know what we find.
Zach
-
RE: Tflite Server Issue
Hi @Karl-pan no I cannot say we have come accross this error before but will have a solution soon - just to confirm, can you paste you conf file in
/etc/modalai/voxl-tflite-server.conf
as well as runvoxl-inspect-cam -a
to ensure the camera is outputting the frames. It sounds more like an issue with camera server than tflite if you are trying to access a nullptr that is the frame.Will look into this.
Zach -
RE: ROS2 MicroDDS Communication with PX4 from External FC (FVc2)
Looks like I misspoke - you are connecting to the DSP - SO due to that we need to keep voxl-mavlink-server on there to allow the packets to be forwarded from the DSP to the system. I will say there MIGHT be a way to forward the ports from the mavlink-server instance into the microdds agent so the topics are exposed.
We will look into this!
Zach -
RE: ROS2 MicroDDS Communication with PX4 from External FC (FVc2)
@Gary-Holmgren you will have to either edit or disable the ROS2 DDS on the voxl2 and create a new one that uses the serial link - aka ttyHSX. So in the microdds agent service file in /etc/systemd/system you will have to edit the file to change from listening to the UDP port and then listen the serial link. However, by doing this you will then conflict with the mavlink-server instance running on the voxl2 as well.
LMK if this helps.
Zach -
RE: Unable to see rostopics published by mpatoros2 foxy in my humble docker container
@Darshit-Desai are your ROS_ID's the same between the docker and disk? If not how are you sharing the interfaces into the ros docker instance?
If it is easier you can just share the /opt/ros/foxy/mpa_to_ros2 directory as a volume as well as the /run/mpa directory as a volume and run the ros2 node in the docker instance. The other thing to note is I am unsure if there is compatibility between foxy and humble in terms of the nodes or if there are some internal conflicts happening behind the scenes.
Zach
-
RE: ROS2 errors on VOXL2
@Gary-Holmgren said in ROS2 errors on VOXL2:
-source /opt/ros/foxy/setup.bash
Hey @Gary-Holmgren! So this is an issue with a conflict in the emPY library - it should have been updated in the most recent SDK release - however the solution programmatically is the following:
python3 -m pip uninstall -y empy
python3 -m pip install empy==3.3.4
Cheers!
Zach -
RE: External MAVLink Connection using VOXL 2 through ttyHS1
@Jeremy-Frederick said in External MAVLink Connection using VOXL 2 through ttyHS1:
I'm looking to establish an external MAVLink connection to the voxl-px4 service on VOXL 2 through the ttyHS1 of the USB3 expansion board. I'm looking to integrate a third party RemoteID module, and am not implementing an external flight controller.
@Jeremy-Frederick voxl-mavlink-server is meant to act similar to mavlink-router where it can route traffic (two way comms) between a specific port or hardline. How are you connecting to your remoteID module? Over the UART I would presume as that is the only way to send those packets. If you are using the USB3.0 port instead then you will need to either edit voxl-mavlink-server or create a mavlink-router to route the traffic to that port.
A bit more information on your setup would be great!
Zach -
RE: PWM Servo IO Board
@valvarez said in PWM Servo IO Board:
@valvarez that is correct you should power your servo from another power source capable if giving off 5V - if the servo has an operational range though of 3.3-5 then you can power it from the IO board.
Thanks
Zach -
RE: Error when lunching voxl_mpa_to_ros.launch
I will take a gander at this today @Mohammad-Goli and get abck with an answer - I will say the ros1 is deprecated and we tend to support or push for ros2 - does the same issue persist with ros2?
-
RE: Increasing the number of radio channels
@Paul-Carff I believe the way to add channels is via the controller itself - the receiver on the VOXL2 should not require any update in config to take in more channels - from this point its configuring the controller to allow it to use more channels
Zach
-
RE: Starling2: Flight mode falls to AltitudeHold when switched to PositionHold
@navin_kaviyarasu said in Starling2: Flight mode falls to AltitudeHold when switched to PositionHold:
Also, I don't see odometry data on mavlink console, I doubt the issue more than with the parameters!
Reply
@navin_kaviyarasu if the drone starts in position hold and then switches to altitude during the flight, it means it is losing its position during flight and falls back to the flight control that doesnt require the camera.
As for what you can do to resolve this - if you already changed the EKF2 parameters to not take into account the GPS - please proceed to calibrate the following:
- Calibrate Tracking Camera
- Calibrate the IMU (Via voxl-calibrate-imu and from PX4 side on QGC as well - the gyro and accel)
- Hard reboot the drone
- Check to ensure the exposure on the camera meets the requirements for your environment you are flying in
- Ensure the camera is properly focused
LMK how this works!
Zach -
RE: Calibration FIles
@Shivam-Sehgal unsure what you mean by calibration files? As in files for the camera calibration? PX4 Calibration? IMU Calibration? If you specify we can further help. Also most of these parameters for the originals live on the drone under /usr/share/modalai
Zach
-
RE: Need VOXL2 with 256GB Flash
@henrytrinh yes this is possible with external storage - you can leverage a USB2.0 or 3.0 and connect a microsd adapter and then mount the drive.
Zach
-
RE: TFLITE Server
No - tflite server runs only tflite on the GPU - you can try leveraging the Qualcomm Nueral SDK to get onnx working on the Adreno GPU, but that is a very large lift.