CP with custom sensors
-
Hi,
I want to integrate collision prevention into my system.
currently, I have a microcontroller that manages all the sensor data and is connected to the voxl2 through serial.
now I debate two ways to implement this and I don't know that is the best approach.- using mavlink directly to px4. I saw that the px4 exposes a UDP port to send mavlink msgs directly to px4. this feels sub-optimal as this bypasses the integrated VOA system and the voxel-vision-hub.
- make a pipe client and transform the data from the serial port to some kind of TOF sensor and publish it.
Is the second option the way to go or is the first option viable as well?
Furthermore, I don't see all the voxl-vision-hub pipes:
voxl2:~$ voxl-list-pipes -t camera_image_metadata_t hires_large_color hires_large_encoded hires_large_grey hires_small_color hires_small_encoded hires_small_grey hires_snapshot cpu_stats_t cpu_monitor imu_data_t imu_apps imu_fft_data_t imu_apps_fft mavlink_message_t mavlink_ap_heartbeat mavlink_attitude mavlink_from_gcs mavlink_gps_raw_int mavlink_local_position_ned mavlink_onboard mavlink_sys_status mavlink_to_gcs point_cloud_metadata_t voa_pc_out pose_vel_6dof_t vvhub_body_wrt_fixed vvhub_body_wrt_local string gcs_ip_list text horizon_cal_io
Is this presenting all server pipes that have clients?
-
it looks like very few services are running. If you run voxl-inspect-services you can see what's enabled. You will want to enable voxl-vision-hub, voxl-mavlink-server and voxl-px4
What kind of sensors and data are you dealing with? voxl-vision-hub can subscribe to rangefinder, generic points clouds, and tof data. Since all the logic for compensating for roll/pitch to level out the point cloud data then slice the data into pie-slices to send to PX4 is done already in voxl-vision-hub I would suggest leveraging this. I think the most simple solution would be option 2 and then edit the voxl-vision-hub config file to point to your new server's pipe.
-
@James-Strawson
Thank you for the response.
we want to use an array of 4 vl53l5cx sensors to capture data around the drone. I know that there is existing support for vl53l1cx sensors. since it is crucial to know of possible obstacles from multiple angles we need the 4x4 version.
in this case, I have a point cloud of 64 points around the drone. so should I send those on the pointcloud pipe?for the few services:
this is the service inspect output:Service Name | Enabled | Running | CPU Usage ------------------------------------------------------------------- docker-autorun | Enabled | Not Running | modallink-relink | Disabled | Not Running | voxl-camera-server | Enabled | Running | 2.2% voxl-cpu-monitor | Enabled | Running | 0.6% voxl-dfs-server | Disabled | Not Running | voxl-feature-tracker | Disabled | Not Running | voxl-flow-server | Disabled | Not Running | voxl-imu-server | Enabled | Running | 0.1% voxl-lepton-server | Disabled | Not Running | voxl-mavcam-manager | Disabled | Not Running | voxl-mavlink-server | Enabled | Running | 2.9% voxl-modem | Disabled | Not Running | voxl-neopixel-manager | Disabled | Not Running | voxl-open-vins-server | Disabled | Not Running | voxl-portal | Enabled | Running | 0.1% voxl-px4-imu-server | Disabled | Not Running | voxl-px4 | Enabled | Running | 30.5% voxl-qvio-server | Disabled | Not Running | voxl-rangefinder-server | Disabled | Not Running | voxl-remote-id | Disabled | Not Running | voxl-softap | Disabled | Not Running | voxl-static-ip | Disabled | Not Running | voxl-streamer | Disabled | Not Running | voxl-tag-detector | Disabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-uvc-server | Disabled | Not Running | voxl-vision-hub | Enabled | Running | 1.7% voxl-wait-for-fs | Enabled | Completed |