Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Has anyone tested this with Novatel Pwrpak7? #18

Open
vinhk opened this issue Apr 10, 2018 · 20 comments
Open

Has anyone tested this with Novatel Pwrpak7? #18

vinhk opened this issue Apr 10, 2018 · 20 comments

Comments

@vinhk
Copy link

vinhk commented Apr 10, 2018

I am using Pwrpak7 but I can not get IMU topic. I am hoping that I can get some help with making the IMU topic to display on the terminal.

Thank you

@pjreed
Copy link
Contributor

pjreed commented Apr 10, 2018

@JWhitleyAStuff actually just submitted a PR (#17) that adds support for some of the PowerPak7's IMUs. If you're not building from the latest source, you might give that a try and see if it works better for you.

@JWhitleyWork
Copy link
Contributor

The IMU from the PowerPak 7 should be supported after that PR. However, we were still having issues with the parsing of INSSTDEV that we didn't have time to fix.

@vinhk
Copy link
Author

vinhk commented Apr 10, 2018

@pjreed Yes, I built a latest one today with the added features. Here is my modified launch file:

<?xml version="1.0"?>
<launch>
  <node name="novatel"
        pkg="nodelet" type="nodelet"
        args="standalone novatel_gps_driver/novatel_gps_nodelet">
    <rosparam>
      verbose: false
      connection_type: serial
      device: /dev/ttyUSB0
      publish_novatel_positions: true
      frame_id: /gps
      imu_frame_id: /imu
      imu_rate: 100
      publish_imu: true
    </rosparam>
  </node>
</launch>

@JWhitleyWork
Copy link
Contributor

@vinhk - FYI, the publish rate for the PowerPak7's internal IMU (Epson G320N) is 125Hz.

@vinhk
Copy link
Author

vinhk commented Apr 10, 2018

@pjreed However, I can not seem to see the IMU topic. I did not think I need to be outdoor as it is an IMU.

@vinhk
Copy link
Author

vinhk commented Apr 10, 2018

@JWhitleyAStuff Thanks. Could you give more info for the launch file as well? What else needs to be added beside the publish rate?

@JWhitleyWork
Copy link
Contributor

@vinhk - We had hoped that the issue we were seeing was isolated to our firmware/specific unit but it seems that is not the case. We were seeing that, the second time we would connect to the unit, it would lose it's configuration (INS config, antenna offsets, etc.) and would have to be reconfigured. This causes only certain topics to be published with the driver and none of the IMU messages appear to be reported. You'll have to contact Novatel support to see if they can help you out. This driver isn't doing anything unusual. It calls UNLOGALL upon connection to make sure nothing unusual is being published and then LOG several times to get the messages that the driver cares about. Doesn't even attempt to save the configuration.

@vinhk
Copy link
Author

vinhk commented Apr 10, 2018

@JWhitleyAStuff I see. Did it work the first time you connect it? Did the IMU topic get display? If that is the case, then short term would be to leave the IMU system connected to the PC.

@JWhitleyWork
Copy link
Contributor

@vinhk - It published IMU data on first connect after configuration but it had problems parsing the INSSTDEV message which we did not have time to troubleshoot. Everything else seemed fine (on first connect).

@vinhk
Copy link
Author

vinhk commented Apr 10, 2018

@JWhitleyAStuff Thanks. We will work with that info for now. Until Novatel support provide the solution.

@kelvin-sudani
Copy link

@vinhk I am not sure about the parameter publish_imu: true in your launch file, unless you have modified the source code with this parameter name. I think it should be publish_imu_messages: true in the launch file.

@sharvil-patankar
Copy link
Contributor

I don't know if this is still an issue but using binary instead of ASCII seemed to solve the problem for me

@mrgransky
Copy link

PowerPak7's internal IMU (Epson G320N) is 125Hz.

in pwrpack7, assigning imu_rate: 125, turns into this warning:

[ WARN] [1575640680.489097734]: insufficient data rate <Novatel GPS (/dev/ttyUSB0)>: 17.000000 < 20.000000

@pjreed
Copy link
Contributor

pjreed commented Dec 6, 2019

The "insufficient data rate" message can be logged by any publisher that is not successfully publishing at the requested data rate. If it happens when you enable your IMU, check:

  1. Are you using binary messages rather than ASCII?
  2. If you're using a serial connection, what is the baud rate for your device?

IMU messages take a lot of bandwidth (relatively) and may be saturating your connection if you're using ASCII messages or a low baud rate connection.

@JamesSWilliams
Copy link

Hey, I'm currently getting Invalid ASCII char with a PwrPak7D, not sure what I'm doing wrong. I've also set the port to output binary data INTERFACEMODE CCOM1 NOVATELBINARY NOVATELBINARY ON.
Any help would be appriciated.

Log:

[ WARN] [1582636236.426207649]: publish rate failures detected <Novatel GPS (192.168.43.180:3001)>: 1
[ WARN] [1582636236.426492873]: Novatel status code: 33554432
[ WARN] [1582636236.549404486]: INSPVA queue overflow.
[ WARN] [1582636236.641416087]: CORRIMUDATA queue overflow.
[ WARN] [1582636236.968506748]: Invalid ASCII char: [$???]
[ WARN] [1582636236.968623445]:                      ^
[ WARN] [1582636237.091957906]: Invalid ASCII char: [#????]
[ WARN] [1582636237.092083692]:                      ^
[ WARN] [1582636237.163826842]: Invalid ASCII char: [$?&?b?]
[ WARN] [1582636237.163949321]:                        ^
[ERROR] [1582636237.426488608]: insufficient data rate <Novatel GPS (192.168.43.180:3001)>: 0.000000 < 20.000000
[ WARN] [1582636237.426639386]: publish rate failures detected <Novatel GPS (192.168.43.180:3001)>: 1
[ WARN] [1582636237.426789687]: Novatel status code: 33554432

Launch file:

<launch>
  <!--http://wiki.ros.org/novatel_gps_driver-->
  <node name="novatel"
        pkg="nodelet" type="nodelet"
        args="standalone novatel_gps_driver/novatel_gps_nodelet">
    <rosparam>
      connection_type: tcp
      device: "192.168.43.180:3001"
      verbose: true
      imu_sample_rate: -1
      use_binary_messages: true
      publish_novatel_positions: true
    </rosparam>
  </node>
</launch>

@pjreed
Copy link
Contributor

pjreed commented Feb 25, 2020

That's a little odd; it looks like you're not actually getting ASCII messages, but it's failing to identify where the binary messages are in the data stream an erroneously trying to parse any string that starts with a # or $ as an ASCII message.

Something else suspicious is that in your config, you don't have publish_imu_messages set to true, but your log has warnings about the INSPVA / CORRIMUDATA buffers overflowing, and you shouldn't be getting logs of those type at all, so something is going wrong with the configuration.

I think that having manually run INTERFACEMODE CCOM1 NOVATELBINARY NOVATELBINARY ON may be causing problems; that also causes the device to only accept binary commands, but this driver submits all of its commands as ASCII. Although, you might also not be configuring the port you think you are; as far as I'm aware, the CCOM1 port is just for CAN bus communication, and TCP communication is done over the ICOM ports. Can you double-check which device is listening on TCP port 3001? (LOG ICOMCONFIG ONCE) If that device is in NOVATELBINARY mode, it should probably be in NOVATEL mode instead.

@JamesSWilliams
Copy link

Sorry for the confusion, I've set on ICOM1 to NOVATELBINARY, must have copied it wrong...
I've changed ICOM1 back to NOVATEL, now it seems to work, /bestpos is published with the correct position

I still get these warnings & errors.

[ WARN] [1582650331.539180895]: publish rate failures detected <Novatel GPS (192.168.43.180:3001)>: 2
[ WARN] [1582650331.539365724]: Novatel status code: 33554432
[ERROR] [1582650332.571151664]: insufficient data rate <Novatel GPS (192.168.43.180:3001)>: 4.000000 < 20.000000
[ WARN] [1582650332.571259911]: publish rate failures detected <Novatel GPS (192.168.43.180:3001)>: 1
[ WARN] [1582650332.571380400]: Novatel status code: 33554432
[ WARN] [1582650333.613886302]: publish rate failures detected <Novatel GPS (192.168.43.180:3001)>: 2
[ WARN] [1582650333.614068009]: Novatel status code: 33554432
[ WARN] [1582650334.658189079]: Novatel status code: 33554432
[ WARN] [1582650335.658483239]: Novatel status code: 33554432
[ WARN] [1582650336.658574746]: Novatel status code: 33554432

@pjreed
Copy link
Contributor

pjreed commented Feb 25, 2020

This is the most immediately suspicious thing:

[ WARN] [1582650336.658574746]: Novatel status code: 33554432

Looking up the bits for that, it looks like that means your antenna is not powered and clock steering is disabled. That might be ok if you've intentionally disabled those things -- although it may impact your receiver's ability to get its position -- but if not, you should try enabling antenna power and enabling clock steering.

As for these:

[ WARN] [1582650331.539180895]: publish rate failures detected <Novatel GPS (192.168.43.180:3001)>: 2
[ERROR] [1582650332.571151664]: insufficient data rate <Novatel GPS (192.168.43.180:3001)>: 4.000000 < 20.000000

If you only see this right after the driver starts, that error could be logged just because it hadn't yet collected enough messages to report accurate metrics. It should probably be changed to just a warning message. If you don't see those again and rostopic hz reports reasonable rates for the topics you're publishing, you can safely ignore those messages.

@acelab-sungjin
Copy link

@pjreed Hello. I am working with novatel span cpt7, but I have some problems to use it. When I turned on the novatel_span_driver, the following warning occurs periodically. So the outpupt 'inspvax' provided jumped position data. How can I solve the problem?

[ WARN] [1621596492.782138545]: publish rate failures detected <Novatel GPS (192.168.1.160:3001)>: 2 [ WARN] [1621596492.782866516]: Novatel status code: 50331648 [ WARN] [1621596493.782889759]: publish rate failures detected <Novatel GPS (192.168.1.160:3001)>: 2 [ WARN] [1621596493.783862158]: Novatel status code: 50331648 [ WARN] [1621596494.786698436]: publish rate failures detected <Novatel GPS (192.168.1.160:3001)>: 2 [ WARN] [1621596494.787494827]: Novatel status code: 50331648 [ WARN] [1621596495.791411477]: publish rate failures detected <Novatel GPS (192.168.1.160:3001)>: 2 [ WARN] [1621596495.792257502]: Novatel status code: 50331648 [ WARN] [1621596496.791552134]: publish rate failures detected <Novatel GPS (192.168.1.160:3001)>: 2 [ WARN] [1621596496.792338988]: Novatel status code: 50331648

Thanks

@acelab-sungjin
Copy link

l am using the following launch configuration

<?xml version="1.0"?> 

<launch>
  <node name="novatel"
        pkg="nodelet" type="nodelet"
        args="standalone novatel_gps_driver/novatel_gps_nodelet">
    <rosparam>
      verbose: true
      connection_type: udp
      device: 192.168.1.160:3001
      polling_period: 0.05
      imu_sample_rate: 50
      use_binary_messages: true
      publish_novatel_positions: false
      publish_imu_messages: true
      publish_imu: true
      publish_novatel_velocity: false
      imu_frame_id: /imu
      publish_nmea_messages: false
      publish_novatel_heading2: false
      publish_novatel_dual_antenna_heading: false
      frame_id: /gps
    </rosparam>
  </node>
</launch>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants