Advanced Topics for novatel_oem7_driver


ROS Driver Parameter Namespace Layout

novatel_oem7_driver uses standard ROS relative parameter addressing, with some parameters private to the nodelets.

The namespace structure can be changed in the .launch and .yaml files.

The default namespace is outlined below.

/novatel/oem7
Overall driver namespace; global driver parameters.

/novatel/oem7/receivers
OEM7® Receiver instances

/novatel/oem7/receivers/main
OEM7 Receiver instance:

  • interface (TCP/IP, TTY) parameters
  • initialization commands
  • published topics
  • etc


Topic Parameter Configuration

Topic name and reference frame are configured by adding the following parameter under:
/novatel/oem7/receivers/main

General Form

The general form for topic parameter configuration is:
$message_name {topic: $topic_name, frame_id:$id, queue_size: "$size"}

Example: INSCONFIG configuration

INSCONFIG: {topic: /gps/insconfig, frame_id: gps, queue_size: "10"} 

The default configuration is populated from
/opt/ros/${ROS_DISTRO}/share/novatel_oem7_driver/config/std_msg_topics.yaml


Error Detection and Recovery

novatel_oem7_driver has no internal recovery mechanism. If the driver goes into error state, message publishing stops. The user is responsible for detection of this condition. Recovery is achieved by reloading the driver's message and config nodelets.


Built-in Self-Test

Standard driver installation supports BIST, which can be used to evaluate if the driver is operating normally.

BIST is launched with rostest by specifying oem7_bist:=true parameter with your standard .launch file.

Built-in Self-Test Example

For example, to run BIST with an oem7_net.launch file with an OEM7 receiver reachable at IP address 192.168.1.10:

rostest --text novatel_oem7_driver oem7_net.launch oem7_ip_addr:=192.168.1.10 oem7_bist:=true 

BIST outputs topic statistics, similar to the rostopic hz command:

 ... topic: '/gps/gps', exp interval= 0.02. samples= 2945: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.0200001721311, 0.127890110016, 0.00589703421274 
       Message publish interval:             0.0200002559501, 0.119542121887, 0.00569331898041 
       Bag Rec - Message Pub Delta:          0.000302689346676, 0.0227742195129, 0.000916649615432 
 
topic: '/novatel/oem7/inspva', exp interval= 0.02. samples= 2918: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.0199991217369, 0.0854535102844, 0.0049107521279 
       Message publish interval:             0.0199991563922, 0.0838820934296, 0.00478976290435 
       Bag Rec - Message Pub Delta:          0.000299763973647, 0.0198292732239, 0.000763679984502 
 
topic: '/novatel/oem7/time', exp interval= 1.0. samples= 57: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.999989598989, 1.0087621212, 0.0045717348049 
       Message publish interval:             0.999993549926, 1.00874257088, 0.00458939860791 
       Bag Rec - Message Pub Delta:          0.000231772138361, 0.000780344009399, 0.000111371446655 
 
topic: '/gps/fix', exp interval= 0.02. samples= 2886: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.0200002543021, 0.078773021698, 0.00453926745601 
       Message publish interval:             0.0200003352901, 0.0766448974609, 0.00433987262471 
       Bag Rec - Message Pub Delta:          0.000307747992227, 0.0275449752808, 0.00098472728123 
 
topic: '/novatel/oem7/bestpos', exp interval= 0.1. samples= 573: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.100003437979, 0.144937515259, 0.0112068678576 
       Message publish interval:             0.100003776017, 0.144729137421, 0.0111951734664 
       Bag Rec - Message Pub Delta:          0.000227286137419, 0.00631713867188, 0.000422261912593 
 
topic: '/gps/imu', exp interval= 0.01. samples= 5922: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.00999986636157, 0.127390623093, 0.00506395854586 
       Message publish interval:             0.0099998703077, 0.118784427643, 0.00485288752033 
       Bag Rec - Message Pub Delta:          0.000257168738917, 0.0433497428894, 0.00116386292041 
 
topic: '/novatel/oem7/inspvax', exp interval= 1.0. samples= 59: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.999823825113, 1.02793908119, 0.00850038277189 
       Message publish interval:             0.999849241355, 1.02734613419, 0.00816920128965 
       Bag Rec - Message Pub Delta:          0.000262191740133, 0.00299835205078, 0.000491497024532 
 
topic: '/novatel/oem7/bestvel', exp interval= 0.1. samples= 587: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.0998391059478, 0.159289360046, 0.0127196007736 
       Message publish interval:             0.0998426366585, 0.151807785034, 0.012558915178 
       Bag Rec - Message Pub Delta:          0.000218554290434, 0.00764131546021, 0.000507693107715 
 
topic: '/novatel/oem7/corrimu', exp interval= 0.01. samples= 5746: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.00999978424882, 0.0556886196136, 0.00387268651204 
       Message publish interval:             0.00999978275482, 0.040646314621, 0.00370057604793 
       Bag Rec - Message Pub Delta:          0.000260806108575, 0.0385403633118, 0.000954403421047 
 
topic: '/novatel/oem7/bestutm', exp interval= 1.0. samples= 58: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               0.999384821507, 1.0226817131, 0.00724017624648 
       Message publish interval:             0.999406969338, 1.02262759209, 0.00715263035281 
       Bag Rec - Message Pub Delta:          0.000181029582846, 0.00139737129211, 0.000200204160647 
 
topic: '/novatel/oem7/insstdev', exp interval= 1.0. samples= 57: 
                                             mean,                  max,               stdev 
       Bag Recording interval:               1.00011486241, 1.01120710373, 0.00461768586745 
       Message publish interval:             1.00011816195, 1.01120328903, 0.00446202626225 
       Bag Rec - Message Pub Delta:          0.000224979300248, 0.00264716148376, 0.000435574278454 
 
ok 
 
---------------------------------------------------------------------- 
Ran 2 tests in 106.496s 
 
OK 
------------------------------------------------------------- 
SUMMARY: 
 * RESULT: SUCCESS 
 * TESTS: 2 
 * ERRORS: 0 [] 
 * FAILURES: 0 [] 


Return to the novatel_oem7_driver page for next steps.

Wiki: novatel_oem7_driver/advanced (last edited 2020-06-24 15:43:14 by NovAtelApplicationsEngineering)