Advanced Topics for novatel_oem7_driver
Contents
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.