PlotJuggler demo (#20172)
	
		
	
				
					
				
			* initial demo with popup bug * demo fixes * demo fixes * Update tools/plotjuggler/juggle.py Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>pull/59/head
							parent
							
								
									9144dd7c2f
								
							
						
					
					
						commit
						371272d94b
					
				
				 3 changed files with 132 additions and 9 deletions
			
			
		@ -0,0 +1,110 @@ | 
				
			|||||||
 | 
					<?xml version='1.0' encoding='UTF-8'?> | 
				
			||||||
 | 
					<root version="2.3.8"> | 
				
			||||||
 | 
					 <tabbed_widget parent="main_window" name="Main Window"> | 
				
			||||||
 | 
					  <Tab tab_name="tab1" containers="1"> | 
				
			||||||
 | 
					   <Container> | 
				
			||||||
 | 
					    <DockSplitter orientation="-" sizes="1" count="1"> | 
				
			||||||
 | 
					     <DockSplitter orientation="|" sizes="0.5;0.5" count="2"> | 
				
			||||||
 | 
					      <DockSplitter orientation="-" sizes="0.500497;0.499503" count="2"> | 
				
			||||||
 | 
					       <DockArea name="..."> | 
				
			||||||
 | 
					        <plot mode="TimeSeries" style="Lines"> | 
				
			||||||
 | 
					         <range top="2.762667" bottom="-3.239397" right="56.512723" left="0.000000"/> | 
				
			||||||
 | 
					         <limitY/> | 
				
			||||||
 | 
					         <curve color="#1f77b4" name="/carState/aEgo"/> | 
				
			||||||
 | 
					         <curve color="#17becf" name="/carState/brake"/> | 
				
			||||||
 | 
					        </plot> | 
				
			||||||
 | 
					       </DockArea> | 
				
			||||||
 | 
					       <DockArea name="..."> | 
				
			||||||
 | 
					        <plot mode="TimeSeries" style="Lines"> | 
				
			||||||
 | 
					         <range top="5.191867" bottom="-5.724069" right="56.512723" left="0.000000"/> | 
				
			||||||
 | 
					         <limitY/> | 
				
			||||||
 | 
					         <curve color="#1ac938" name="dv/dt"/> | 
				
			||||||
 | 
					        </plot> | 
				
			||||||
 | 
					       </DockArea> | 
				
			||||||
 | 
					      </DockSplitter> | 
				
			||||||
 | 
					      <DockSplitter orientation="-" sizes="0.500497;0.499503" count="2"> | 
				
			||||||
 | 
					       <DockArea name="..."> | 
				
			||||||
 | 
					        <plot mode="TimeSeries" style="Lines"> | 
				
			||||||
 | 
					         <range top="16.065524" bottom="-0.470076" right="56.512723" left="0.000000"/> | 
				
			||||||
 | 
					         <limitY/> | 
				
			||||||
 | 
					         <curve color="#d62728" name="/carState/vEgo"/> | 
				
			||||||
 | 
					         <curve color="#bcbd22" name="/carState/gas"/> | 
				
			||||||
 | 
					        </plot> | 
				
			||||||
 | 
					       </DockArea> | 
				
			||||||
 | 
					       <DockArea name="..."> | 
				
			||||||
 | 
					        <plot mode="TimeSeries" style="Lines"> | 
				
			||||||
 | 
					         <range top="1.014703" bottom="-0.012971" right="56.512723" left="0.000000"/> | 
				
			||||||
 | 
					         <limitY/> | 
				
			||||||
 | 
					         <curve color="#ff7f0e" name="/model/meta/brakeDisengageProb"/> | 
				
			||||||
 | 
					         <curve color="#f14cc1" name="/model/meta/engagedProb"/> | 
				
			||||||
 | 
					         <curve color="#9467bd" name="/model/meta/steerOverrideProb"/> | 
				
			||||||
 | 
					        </plot> | 
				
			||||||
 | 
					       </DockArea> | 
				
			||||||
 | 
					      </DockSplitter> | 
				
			||||||
 | 
					     </DockSplitter> | 
				
			||||||
 | 
					    </DockSplitter> | 
				
			||||||
 | 
					   </Container> | 
				
			||||||
 | 
					  </Tab> | 
				
			||||||
 | 
					  <currentTabIndex index="0"/> | 
				
			||||||
 | 
					 </tabbed_widget> | 
				
			||||||
 | 
					 <use_relative_time_offset enabled="1"/> | 
				
			||||||
 | 
					 <!-- - - - - - - - - - - - - - - --> | 
				
			||||||
 | 
					 <!-- - - - - - - - - - - - - - - --> | 
				
			||||||
 | 
					 <Plugins> | 
				
			||||||
 | 
					  <plugin ID="DataLoad CSV"> | 
				
			||||||
 | 
					   <default time_axis=""/> | 
				
			||||||
 | 
					  </plugin> | 
				
			||||||
 | 
					  <plugin ID="DataLoad ROS bags"> | 
				
			||||||
 | 
					   <use_header_stamp value="false"/> | 
				
			||||||
 | 
					   <use_renaming_rules value="true"/> | 
				
			||||||
 | 
					   <discard_large_arrays value="true"/> | 
				
			||||||
 | 
					   <max_array_size value="100"/> | 
				
			||||||
 | 
					  </plugin> | 
				
			||||||
 | 
					  <plugin ID="DataLoad Rlog"/> | 
				
			||||||
 | 
					  <plugin ID="DataLoad ULog"/> | 
				
			||||||
 | 
					  <plugin ID="LSL Subscriber"/> | 
				
			||||||
 | 
					  <plugin ID="MQTT Subscriber"/> | 
				
			||||||
 | 
					  <plugin ID="ROS Topic Subscriber"> | 
				
			||||||
 | 
					   <use_header_stamp value="false"/> | 
				
			||||||
 | 
					   <use_renaming_rules value="true"/> | 
				
			||||||
 | 
					   <discard_large_arrays value="true"/> | 
				
			||||||
 | 
					   <max_array_size value="100"/> | 
				
			||||||
 | 
					  </plugin> | 
				
			||||||
 | 
					  <plugin ID="UDP Server"/> | 
				
			||||||
 | 
					  <plugin ID="WebSocket Server"/> | 
				
			||||||
 | 
					  <plugin ID="ZMQ Subscriber"/> | 
				
			||||||
 | 
					  <plugin status="idle" ID="ROS /rosout Visualization"/> | 
				
			||||||
 | 
					  <plugin status="idle" ID="ROS Topic Re-Publisher"/> | 
				
			||||||
 | 
					 </Plugins> | 
				
			||||||
 | 
					 <!-- - - - - - - - - - - - - - - --> | 
				
			||||||
 | 
					 <previouslyLoaded_Datafiles> | 
				
			||||||
 | 
					  <fileInfo filename="/home/batman/openpilot/tools/plotjuggler/tmps2q85e2d.rlog" prefix=""> | 
				
			||||||
 | 
					   <selected_datasources value=""/> | 
				
			||||||
 | 
					   <plugin ID="DataLoad Rlog"/> | 
				
			||||||
 | 
					  </fileInfo> | 
				
			||||||
 | 
					 </previouslyLoaded_Datafiles> | 
				
			||||||
 | 
					 <!-- - - - - - - - - - - - - - - --> | 
				
			||||||
 | 
					 <customMathEquations> | 
				
			||||||
 | 
					  <snippet name="dv/dt"> | 
				
			||||||
 | 
					   <global>prevX = 0 | 
				
			||||||
 | 
					prevY = 0 | 
				
			||||||
 | 
					is_first = true</global> | 
				
			||||||
 | 
					   <function>if (is_first) then | 
				
			||||||
 | 
					  is_first = false | 
				
			||||||
 | 
					  prevX = time | 
				
			||||||
 | 
					  prevY = value | 
				
			||||||
 | 
					end | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dx = time - prevX | 
				
			||||||
 | 
					dy = value - prevY | 
				
			||||||
 | 
					prevX = time | 
				
			||||||
 | 
					prevY = value | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return dy/dx</function> | 
				
			||||||
 | 
					   <linkedSource>/carState/vEgo</linkedSource> | 
				
			||||||
 | 
					  </snippet> | 
				
			||||||
 | 
					 </customMathEquations> | 
				
			||||||
 | 
					 <snippets/> | 
				
			||||||
 | 
					 <!-- - - - - - - - - - - - - - - --> | 
				
			||||||
 | 
					</root> | 
				
			||||||
 | 
					
 | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue