Hi @teddy-zaremba,
The fusing part was a bit tricky, but it works now.
Thank you!
Hi @teddy-zaremba,
The fusing part was a bit tricky, but it works now.
Thank you!
Hello,
PX4 firmware: 1.15.4
Using Starling 2.
I’m trying to send custom odometry data to PX4 using MAVROS on ROS melodic.
For testing, I’m publishing a message filled with zeros (except w) at 30 Hz to the topic /mavros/vision_pose/pose. Then i disabled openvins and qvio services.
I also tried to follow this topic : https://forum.modalai.com/topic/2118/send-motion-capture-system-pose-data-to-px4/3
However, when I check /mavros/local_position/odom, I don’t see my message. Instead, I only receive a 30hz position message from an unknown source.
On QGC, i don't see any messages like visual pose or odometry.
I also tried publishing to /mavros/odometry/out, but it didn’t change anything.
Additionally, I modified some EKF2 parameters, including EKF2_EV_CTRL, following the PX4 documentation, but still no success.
I’m not sure what I’m missing here.
Any help or guidance would be greatly appreciated.
Thanks!
@Alex-Kushleyev Is there some news about this issue ?
@teddy-zaremba Hi teddy,
I'm on ROS 1 so it's just MPA_TO_ROS and not MPA_TO_ROS2.
Yes I looked at the rangefinder pipes and did get the rangefinder data and republished_it in ROS and same with the ov_status.
I don't have access to microdds in ROS1 unless I do a ROS2 to ROS1 bridge.
Julien
@Alex-Kushleyev I don't know who can help me on this one, I tried to modify the mpa_to_ros package and I think I did it successfully (adding range-sensor and some vins status). How can I share it, so someone from your team can verify it and then if it's good enough put it on the gitlab ?
Julien
@Judoor-0 For the rangefinder part i've looked into the mpa_to_ros code and modified it to add rangefinder_data_t and republished it in a ros_topic.
But for the covariance/error of the vio I still have no clue how to get it
Julien
Hi,
I'd like to get the range finder data in ROS, right now it doesn't appear in mpa_to_ros, what should I change for it to appear?
I cannot get it from MAVROS either, the distance_sensor doesn't appear in my topics. But it appears on GQC and i've got the right value.
Is it cause I set it up wrong in voxl-px4.conf (right now the value is NONE).
Also, how can i get an idea of when the VIO / OV start to fail so I can activate a failsafe in my ROS Node?
Setup : Starling 2 max, dual cam, with TOF
Have a good day
Julien
@teddy-zaremba Thank you
I think Aaron was maybe talking about the depth image that we can get from the tof sensor.
I'll check the aligned point cloud but i don't think he has the confidence data (XYZC)
Julien
@Aaron-Porter Hi,
Did you had time to check it out ?
Julien
@Aaron-Porter Hi Aaron, Yes i'm using the modalAI TOF with a Starling2 MAX. If you can test it, I'll appreciate it ! Thank you!
Hello everyone,
I'm working on developing a LIO (LiDAR-Inertial Odometry) algorithm and am looking to use TOF (Time-of-Flight) LiDAR data.
When I look at the ROS messages published by mpa_to_ros, I only seem to receive the points positions. I'm wondering if it's possible to also include the intensity value and noise information for each point?
Any insights or suggestions would be greatly appreciated!
@Eric-Katzfey I'm using integrated IMU with VOXL2
Hello,
I'm using an IMU with PX4 firmware. I attempted to change the stream rate of the IMU data to at least 50Hz, instead of the default 10Hz. However, when I use rosservice /mavros/set_stream_rate or rosservice /mavros/set_message_interval, there is no change.
Could this be related to MPA, PX4, or another factor?
Thanks in advance.
Another way to do it, maybe more in line with the way modal ai intended it is this :
Update dhcpcd.conf for Static IP
Open the dhcpcd.conf file for editing:
nano /etc/dhcpcd.conf
Add the following lines at the end of the file to configure a static IP for wlan0:
interface wlan0
static ip_address=192.168.XX.XX/24
static routers=192.168.XX.1
static domain_name_servers=8.8.8.8 1.1.1.1
Explanation:
interface wlan0: Specifies the network interface to configure.
static ip_address=192.168.XX.XX/24: Assigns the static IP and subnet mask.
static routers=192.168.XX.1: Sets the gateway address.
static domain_name_servers=8.8.8.8 1.1.1.1: Configures DNS servers (Google and Cloudflare in this case).
Save and exit the file.
Restart dhcpcd Service
Apply the changes by restarting the dhcpcd service:
systemctl enable dhcpcd
systemctl restart dhcpcd
Guide to Configure a Static IP Address with systemd-networkd
I didn't find any guide on how to do it with the voxl2, even the static-ip
service seem reserved for eth0
configuration, tell me, if i'm wrong i'll delete this.
If you want to assign a static IP address to your wireless network interface (using systemd-networkd
), follow this simple guide. In this example, we configure the wlan0
interface to use the static IP address 192.168.XX.XX
.
Before starting, ensure that systemd-networkd
is enabled and running:
sudo systemctl status systemd-networkd
If the service is not active, enable it:
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
Navigate to the configuration directory:
cd /etc/systemd/network/
Create a configuration file for your wireless interface (e.g., 10-wlan0.network
)
sudo nano 10-wlan0.network
Add the following lines to the file:
[Match]
Name=wlan0
[Network]
Address="192.168.XX.XX"/24
Gateway="192.168.XX.1"
DNS=8.8.8.8 1.1.1.1
Explanation:
Name=wlan0
: Specifies the target interface.Address=192.168.XX.XX/24
: Defines the IP address and subnet mask.Gateway=192.168.XX.1
: Sets the default gateway.DNS=8.8.8.8 1.1.1.1
: Configures the DNS servers.Save and close the file.
Apply the new configuration by restarting the service:
sudo systemctl restart systemd-networkd
To verify that the IP address has been assigned to wlan0
:
ip addr show wlan0
You should see the IP address 192.168.XX.XX
assigned to the interface.
Ensure that systemd-networkd
is enabled to run at every boot:
sudo systemctl enable systemd-networkd
To confirm everything works correctly on startup:
sudo reboot
You have now successfully configured a static IP address for the wlan0
interface using systemd-networkd
on your voxl2!
Can you help me with the depth image conversion ?
Hello,
I would like to convert the depth image from mono8 to UC16 while maintaining accurate depth references.
Currently, I am doing this, but I am ending up with a flat image.
void depthCallback(const sensor_msgs::ImageConstPtr &msg)
{
try
{
// Convert the input ROS image to an OpenCV image
cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::MONO8);
// Create a new image in CV_16UC1 format
cv::Mat converted_image;
cv_ptr->image.convertTo(converted_image, CV_16UC1, 256.0); // Scale mono8 values to 16-bit
// Publish the converted image
cv_bridge::CvImage out_msg;
out_msg.header = msg->header; // Keep the same header
out_msg.encoding = sensor_msgs::image_encodings::TYPE_16UC1;
out_msg.image = converted_image;
depth_pub_.publish(out_msg.toImageMsg());
// depth_pub_.publish(depth_msg);
}
catch (cv_bridge::Exception &e)
{
ROS_ERROR("CvBridge Error in depthCallback: %s", e.what());
}
}
Also, I want to mix it with an RGB image to get an RGBD image, I'm using the rgbdsync nodelet from rtabmap_ros. But I'm unable to make it work. Does someone already did that ?
Julien
@Jeremy-Schmidt Hi,
It's resolved now, in the mean time I had a response from the support.
Have a good day
Julien
@Alex-Kushleyev I sent an email to the modal ai support for the RMA process and after a first response telling me that they'll check it, I still got no news from them and it has been 3 weeks. Do you know some other way to get in touch with the support. My starling is stuck to the ground since and I can't test anything.
Thanks
Julien