aussierobots / ublox_dgnss

This usb based ROS2 driver is focused on UBLOX Generation 9 UBX messaging, for a DGNSS rover. High precision data is available.
Apache License 2.0
38 stars 21 forks source link

Ublox_gnss_node not publishing odometry #13

Closed miguelao33 closed 11 months ago

miguelao33 commented 11 months ago

Hello there!

I was trying to check what is inside the odom messages but it shows no info, is not being publish but is declarated, I was trying changing booleans as CFG_ODO_USE_ODO/COG to true but still nothing.

Could you please point me out on how to see the odometry calculated?

thanks a lot.

hortovanyi commented 11 months ago

Try setting this parameter CFG_MSGOUT_UBX_NAV_ODO_USB to say 10 either in the launch file, via RQT or command line

miguelao33 commented 11 months ago

Could you give me an example on how to do it in command line? I try this:

ros2 param set /ublox_dgnss CFG_MSGOUT_UBX_NAV_ODO_USB:=10

with the node going. the answer is :the following arguments are required: value

miguelao33 commented 11 months ago

Hello Again.

So, I have another problem. In order to use robot_localization, I also need /fix topic, which is present when I use "run ublox_dgnss_node ublox_dgnss_node CFG_NAVSPG_FIXMODE:=true" and "ros2 run ublox_nav_sat_fix_hp_node ublox_nav_sat_fix_hp", but is not publishing anything.

image

Also, from dgnss node Im getting the following result, but im not able to declare it correctly.:

[[WARN] [1696941121.374208743] [rcl]: Found remap rule 'CFG_NAVSPG_FIXMODE:=true'. This syntax is deprecated. Use '--ros-args --remap CFG_NAVSPG_FIXMODE:=true' instead.]

Any idea? thanks a lot.

hortovanyi commented 11 months ago

Have a look at the sample launch files. Need to copy one and set the values for your environment. That will be easier then setting them all with ros2 run

miguelao33 commented 11 months ago

Yes, you are right, better with the launch file.

I got the /fix publishing but at a rate of 2 messages / minute, or even less. in the other hand, nav_status publishes every 3-4 seconds. On my i set those values, is there anything wrong?

params = [{'CFG_USBOUTPROT_NMEA': False}, {'CFG_RATE_MEAS': 100}, {'CFG_RATE_NAV': 1}, {'CFG_MSGOUT_UBX_NAV_HPPOSLLH_USB': 1}, {'CFG_MSGOUT_UBX_NAV_STATUS_USB': 5}, {'CFG_MSGOUT_UBX_RXM_RTCM_USB': 1}, {'CFG_MSGOUT_UBX_NAV_COV_USB':1}, {'CFG_MSGOUT_UBX_NAV_ODO_USB':1}]

what can I do to get a publish rate as /ubx_nav_hp_pos_llh

hortovanyi commented 11 months ago

Geoff created that node to publish NavSatFix. I don't use it myself.

Looking at the code https://github.com/aussierobots/ublox_dgnss/blob/main/ublox_nav_sat_fix_hp_node/src/ublox_nav_sat_fix_hp_node.cpp

It needs to receive a Ubx Nav Status and Ubx Nav Cov then it will allow the next UBX Nav HP Pos LLH to be published as the Nav Sat Fix.

This might be too restrictive. Have noticed that Ubx Nav Status is a lower priority message.

Maybe create a local node and try commenting these lines out where the haverecd variables are set to false; https://github.com/aussierobots/ublox_dgnss/blob/8e72b574aec3d38aa2a1bb73b1927035538979ff/ublox_nav_sat_fix_hp_node/src/ublox_nav_sat_fix_hp_node.cpp#L95

On 11 Oct 2023, at 12:13 am, miguelao33 @.***> wrote:

Yes, you are right, better with the launch file.

I got the /fix publishing but at a rate of 2 messages / minute, or even less. in the other hand, nav_status publishes every 3-4 seconds. On my i set those values, is there anything wrong?

params = [{'CFG_USBOUTPROT_NMEA': False}, {'CFG_RATE_MEAS': 100}, {'CFG_RATE_NAV': 1}, {'CFG_MSGOUT_UBX_NAV_HPPOSLLH_USB': 1}, {'CFG_MSGOUT_UBX_NAV_STATUS_USB': 5}, {'CFG_MSGOUT_UBX_RXM_RTCM_USB': 1}, {'CFG_MSGOUT_UBX_NAV_COV_USB':1}, {'CFG_MSGOUT_UBX_NAV_ODO_USB':1}]

what can I do to get a publish rate as /ubx_nav_hp_pos_llh

— Reply to this email directly, view it on GitHub https://github.com/aussierobots/ublox_dgnss/issues/13#issuecomment-1755513432, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVTAVCY2GJMD7M7JT6FZWDX6VJZFAVCNFSM6AAAAAA5ZQQEDWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJVGUYTGNBTGI. You are receiving this because you commented.

miguelao33 commented 11 months ago

Great, is publishing now with a good rate.

I've also check this: [https://stackoverflow.com/questions/63037315/how-to-receive-gps-data-faster-using-kumarrobotics-ublox-package]

Thanks a lot, have a nice one!

hortovanyi commented 11 months ago

Its a bit of playing around sometimes to get what you want out of the devices .. glad you've got a result :)

There are a backlog of changes coming through. I might also look at revising some of that code in the UBLOX Nav Sat Fix Hp node such that its not so reliant on updates from the none UBX Nav HP Pos LLH messages

gsokoll commented 11 months ago

@miguelao33, a side note - running the ZED F9x devices at greater than 1 Hz navigation rates can be challenging, particularly with RTK. If you haven't already, carefully read the integration manual and take note of recommendations about reducing the workload on the processor and comms traffic (eg reduce the number of constellations, disable unused comm ports/protocols and messages etc).

To illustrate this, compare the following two screenshots from u-centre. The USB port was configured to output UBX nav-sat, nav-status, nav-cov and nav-hpposecef messages (along with default NMEA messages).

In the first screenshot, the measurement rate is set to 10 Hz. Notice the "ioUsage" is reported in red as being 99%. Signifies that the USB port is swamped and can't keep up with the volume of messages being sent. Notice also that UBX nav-hpposecef messages are appearing, but the other UBX nav messages have been dropped.

In the second screenshot, the measurement rate has been decreased to 1 Hz. The ioUsage value now is shown in green at 6%, and all the UBX NAV messages are coming through. 10Hz measurement rate 10 Hz measurement rate.

1Hz measurement rate 1 Hz measurement rate