迁移分支
This commit is contained in:
104
CMakeLists.txt
Normal file
104
CMakeLists.txt
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
#=======================================================================
|
||||||
|
# FILE: moos-ivp-extend/CMakeLists.txt
|
||||||
|
# DATE: 2012/07/24
|
||||||
|
# INFO: Top-level CMakeLists.txt file for the moos-ivp-extend project
|
||||||
|
# NAME: Maintained by Mike Benjamin - Original setup by Christian Convey
|
||||||
|
# Chris Gagner, and tips borrowed from Dave Billin
|
||||||
|
#=======================================================================
|
||||||
|
|
||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||||
|
PROJECT( IVP_EXTEND )
|
||||||
|
|
||||||
|
set (CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Set the output directories for the binary and library files
|
||||||
|
#=======================================================================
|
||||||
|
|
||||||
|
GET_FILENAME_COMPONENT(IVP_EXTEND_BIN_DIR "${CMAKE_SOURCE_DIR}/bin" ABSOLUTE )
|
||||||
|
GET_FILENAME_COMPONENT(IVP_EXTEND_LIB_DIR "${CMAKE_SOURCE_DIR}/lib" ABSOLUTE )
|
||||||
|
|
||||||
|
SET( LIBRARY_OUTPUT_PATH "${IVP_EXTEND_LIB_DIR}" CACHE PATH "" )
|
||||||
|
SET( ARCHIVE_OUTPUT_DIRECTORY "${IVP_EXTEND_LIB_DIR}" CACHE PATH "" )
|
||||||
|
SET( LIBRARY_OUTPUT_DIRECTORY "${IVP_EXTEND_LIB_DIR}" CACHE PATH "" )
|
||||||
|
|
||||||
|
SET( EXECUTABLE_OUTPUT_PATH "${IVP_EXTEND_BIN_DIR}" CACHE PATH "" )
|
||||||
|
SET( RUNTIME_OUTPUT_DIRECTORY "${IVP_EXTEND_BIN_DIR}" CACHE PATH "" )
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Find MOOS
|
||||||
|
#=======================================================================
|
||||||
|
find_package(MOOS 10.0)
|
||||||
|
INCLUDE_DIRECTORIES(${MOOS_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Find the "moos-ivp" base directory
|
||||||
|
#=======================================================================
|
||||||
|
|
||||||
|
# Search for the moos-ivp folder
|
||||||
|
find_path( MOOSIVP_SOURCE_TREE_BASE
|
||||||
|
NAMES build-ivp.sh build-moos.sh configure-ivp.sh
|
||||||
|
PATHS "../moos-ivp" "../../moos-ivp" "../../moos-ivp/trunk/" "../moos-ivp/trunk/"
|
||||||
|
DOC "Base directory of the MOOS-IvP source tree"
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT MOOSIVP_SOURCE_TREE_BASE)
|
||||||
|
message("Please set MOOSIVP_SOURCE_TREE_BASE to ")
|
||||||
|
message("the location of the \"moos-ivp\" folder ")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Specify where to find IvP's headers and libraries...
|
||||||
|
#======================================================================
|
||||||
|
|
||||||
|
FILE(GLOB IVP_INCLUDE_DIRS ${MOOSIVP_SOURCE_TREE_BASE}/ivp/src/lib_* )
|
||||||
|
INCLUDE_DIRECTORIES(${IVP_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
FILE(GLOB IVP_LIBRARY_DIRS ${MOOSIVP_SOURCE_TREE_BASE}/lib )
|
||||||
|
LINK_DIRECTORIES(${IVP_LIBRARY_DIRS})
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Specify Compiler Flags
|
||||||
|
#======================================================================
|
||||||
|
IF( ${WIN32} )
|
||||||
|
#---------------------------------------------
|
||||||
|
# Windows Compiler Flags
|
||||||
|
#---------------------------------------------
|
||||||
|
IF(MSVC)
|
||||||
|
# Flags for Microsoft Visual Studio
|
||||||
|
SET( WALL_ON OFF CACHE BOOL
|
||||||
|
"tell me about all compiler warnings (-Wall) ")
|
||||||
|
IF(WALL_ON)
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||||
|
ENDIF(WALL_ON)
|
||||||
|
ELSE(MSVC)
|
||||||
|
# Other Windows compilers go here
|
||||||
|
ENDIF(MSVC)
|
||||||
|
|
||||||
|
ELSE( ${WIN32} )
|
||||||
|
#---------------------------------------------
|
||||||
|
# Linux and Apple Compiler Flags
|
||||||
|
#---------------------------------------------
|
||||||
|
# Force -fPIC because gcc complains when we don't use it with x86_64 code.
|
||||||
|
# Note sure why: -fPIC should only be needed for shared objects, and
|
||||||
|
# AFAIK, CMake gets that right when building shared objects. -CJC
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -g -Wdeprecated-declarations")
|
||||||
|
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
# Flags for the GNU C++ Compiler
|
||||||
|
SET( WALL_ON OFF CACHE BOOL
|
||||||
|
"tell me about all compiler warnings (-Wall) ")
|
||||||
|
IF(WALL_ON)
|
||||||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" -C++11)
|
||||||
|
ENDIF( WALL_ON)
|
||||||
|
ELSE(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
|
||||||
|
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
|
||||||
|
ENDIF( ${WIN32} )
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Add Subdirectories
|
||||||
|
#=======================================================================
|
||||||
|
ADD_SUBDIRECTORY( src )
|
||||||
26
README.md
Normal file
26
README.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# moos-ivp-pi
|
||||||
|
|
||||||
|
基于MOOS-ivp框架下150UUV本体控制软件
|
||||||
|
|
||||||
|
# 目录结构
|
||||||
|
|
||||||
|
src/ : 程序源文件目录
|
||||||
|
|
||||||
|
launch / : 系统启动存放位置
|
||||||
|
|
||||||
|
mission/ : 测试用任务文件
|
||||||
|
|
||||||
|
setting/ : 系统启动配置文件存放位置
|
||||||
|
|
||||||
|
build/ : 编译文件存放位置
|
||||||
|
|
||||||
|
bin/ : 程序执行文件存放位置
|
||||||
|
|
||||||
|
|
||||||
|
# 文件说明
|
||||||
|
|
||||||
|
./build.sh : 编译脚本
|
||||||
|
|
||||||
|
./clean.sh : 清除编译生成文件
|
||||||
|
|
||||||
|
|
||||||
147
alpha.moos
Normal file
147
alpha.moos
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
|
||||||
|
ServerHost = localhost
|
||||||
|
ServerPort = 9000
|
||||||
|
Community = zjk
|
||||||
|
MOOSTimeWarp = 1
|
||||||
|
|
||||||
|
// Forest Lake
|
||||||
|
//这两个参数没有pMarineViewer就会闪退
|
||||||
|
LatOrigin = 43.825300
|
||||||
|
LongOrigin = -70.330400
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Antler configuration block
|
||||||
|
ProcessConfig = ANTLER
|
||||||
|
{
|
||||||
|
MSBetweenLaunches = 200
|
||||||
|
|
||||||
|
Run = MOOSDB @ NewConsole = false
|
||||||
|
//Run = pLogger @ NewConsole = false
|
||||||
|
Run = pMarineViewer @ NewConsole = false
|
||||||
|
Run = pRealm @ NewConsole = false
|
||||||
|
Run = pShare @ NewConsole = false
|
||||||
|
}
|
||||||
|
ProcessConfig = pShare
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
|
||||||
|
input = route = localhost:8085
|
||||||
|
output = src_name=APPCAST_REQ, route=10.25.0.230:8081
|
||||||
|
|
||||||
|
//输出有两个端口,8081和8082,选择用1或者2
|
||||||
|
//发送消息看以下格式
|
||||||
|
//output = src_name=Y, dest_name=B, route=host:port
|
||||||
|
|
||||||
|
output = src_name=uMission_action_cmd,route=10.25.0.230:8081
|
||||||
|
output = src_name=uMotion_config_cmd,route=10.25.0.230:8081
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pLogger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
AsyncLog = true
|
||||||
|
|
||||||
|
// For variables that are published in a bundle on their first post,
|
||||||
|
// explicitly declare their logging request
|
||||||
|
//Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
|
||||||
|
//Log = REPORT @ 0 NOSYNC
|
||||||
|
//Log = BHV_SETTINGS @ 0 NOSYNC
|
||||||
|
Log = OPREGION_RESET @ 0 NOSYNC
|
||||||
|
|
||||||
|
LogAuxSrc = true
|
||||||
|
WildCardLogging = true
|
||||||
|
WildCardOmitPattern = *_STATUS
|
||||||
|
WildCardOmitPattern = DB_VARSUMMARY
|
||||||
|
WildCardOmitPattern = DB_RWSUMMARY
|
||||||
|
WildCardExclusionLog = true
|
||||||
|
}
|
||||||
|
//------------------------------------------
|
||||||
|
// pMarineViewer config block
|
||||||
|
|
||||||
|
ProcessConfig = pMarineViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
tiff_file = forrest19.tif
|
||||||
|
//tiff_file = MIT_SP.tif
|
||||||
|
vehicles_name_mode = names+depth //+shortmode
|
||||||
|
|
||||||
|
|
||||||
|
set_pan_x = -90
|
||||||
|
set_pan_y = -280
|
||||||
|
zoom = 0.65
|
||||||
|
vehicle_shape_scale = 1.5
|
||||||
|
hash_delta = 50
|
||||||
|
hash_shade = 0.22
|
||||||
|
hash_viewable = true
|
||||||
|
|
||||||
|
trails_point_size = 1
|
||||||
|
|
||||||
|
//op_vertex = x=-83, y=-47, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=94.6, y=-62.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=58, y=20, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
|
||||||
|
// Appcast configuration
|
||||||
|
appcast_height = 75
|
||||||
|
appcast_width = 30
|
||||||
|
appcast_viewable = true
|
||||||
|
appcast_color_scheme = indigo
|
||||||
|
nodes_font_size = xlarge
|
||||||
|
procs_font_size = xlarge
|
||||||
|
appcast_font_size = large
|
||||||
|
|
||||||
|
// datum_viewable = true
|
||||||
|
// datum_size = 18
|
||||||
|
// gui_size = small
|
||||||
|
|
||||||
|
// left_context[survey-point] = DEPLOY=true
|
||||||
|
// left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
// left_context[survey-point] = RETURN=false
|
||||||
|
|
||||||
|
right_context[return] = DEPLOY=true
|
||||||
|
right_context[return] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
right_context[return] = RETURN=false
|
||||||
|
|
||||||
|
scope = RETURN
|
||||||
|
scope = WPT_STAT
|
||||||
|
scope = VIEW_SEGLIST
|
||||||
|
scope = VIEW_POINT
|
||||||
|
scope = VIEW_POLYGON
|
||||||
|
scope = MVIEWER_LCLICK
|
||||||
|
scope = MVIEWER_RCLICK
|
||||||
|
|
||||||
|
button_one = START # uMission_action_cmd={"taskName":"east_waypt_survey","action":"start"}
|
||||||
|
button_two = STOP # uMission_action_cmd={"taskName":"east_waypt_survey","action":"stop"}
|
||||||
|
button_three = ReConfig # uMotion_config_cmd = true
|
||||||
|
button_four = SendSecurityZone # SendSaftRules = true
|
||||||
|
|
||||||
|
|
||||||
|
action = MENU_KEY=deploy # DEPLOY = true # RETURN = false
|
||||||
|
action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
|
||||||
|
action = RETURN=true
|
||||||
|
action = UPDATES_RETURN=speed=1.4
|
||||||
|
cmd = label=DEPLOY, var=DEPLOY, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=MOOS_MANUAL_OVERRIDE, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=AVOID, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=RETURN, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=RETURN, var=RETURN, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=RETURN, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=PERMUTE, var=UTS_FORWARD, dval=0, receivers=shore
|
||||||
|
|
||||||
|
cmd = label=STATION, var=STATION_KEEP, sval=true, receivers=all:$(VNAMES), color=pink
|
||||||
|
|
||||||
|
cmd = label=LOITER-FAST, var=UP_LOITER, sval=speed=2.8, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-SLOW, var=UP_LOITER, sval=speed=1.4, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=LOITER-CLOCKWISE-TRUE, var=UP_LOITER, sval=clockwise=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-FALSE, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-BEST, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
}
|
||||||
BIN
bin/pBoardSupportComm
Executable file
BIN
bin/pBoardSupportComm
Executable file
Binary file not shown.
BIN
bin/pClientViewer
Executable file
BIN
bin/pClientViewer
Executable file
Binary file not shown.
BIN
bin/pDataManagement
Executable file
BIN
bin/pDataManagement
Executable file
Binary file not shown.
BIN
bin/pEmulator
Executable file
BIN
bin/pEmulator
Executable file
Binary file not shown.
BIN
bin/pFaultHandle
Executable file
BIN
bin/pFaultHandle
Executable file
Binary file not shown.
BIN
bin/pMotionControler
Executable file
BIN
bin/pMotionControler
Executable file
Binary file not shown.
BIN
bin/pStateManagement
Executable file
BIN
bin/pStateManagement
Executable file
Binary file not shown.
BIN
bin/pSurfaceSupportComm
Executable file
BIN
bin/pSurfaceSupportComm
Executable file
Binary file not shown.
BIN
bin/pTaskManagement
Executable file
BIN
bin/pTaskManagement
Executable file
Binary file not shown.
BIN
bin/pTaskSend
Executable file
BIN
bin/pTaskSend
Executable file
Binary file not shown.
1
bin/read.txt
Normal file
1
bin/read.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
可执行文件存放目录,程序列表如下:
|
||||||
46
build.sh
Executable file
46
build.sh
Executable file
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
INVOCATION_ABS_DIR=`pwd`
|
||||||
|
BUILD_TYPE="None"
|
||||||
|
CMD_LINE_ARGS=""
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# Part 1: Check for and handle command-line arguments
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
for ARGI; do
|
||||||
|
if [ "${ARGI}" = "--help" -o "${ARGI}" = "-h" ] ; then
|
||||||
|
printf "%s [SWITCHES] \n" $0
|
||||||
|
printf "Switches: \n"
|
||||||
|
printf " --help, -h \n"
|
||||||
|
printf " --debug, -d \n"
|
||||||
|
printf " --release, -r \n"
|
||||||
|
printf "Notes: \n"
|
||||||
|
printf " (1) All other command line args will be passed as args \n"
|
||||||
|
printf " to \"make\" when it is eventually invoked. \n"
|
||||||
|
printf " (2) For example -k will continue making when/if a failure \n"
|
||||||
|
printf " is encountered in building one of the subdirectories. \n"
|
||||||
|
printf " (3) For example -j2 will utilize a 2nd core in the build \n"
|
||||||
|
printf " if your machine has two cores. -j4 etc for quad core. \n"
|
||||||
|
exit 0;
|
||||||
|
elif [ "${ARGI}" = "--debug" -o "${ARGI}" = "-d" ] ; then
|
||||||
|
BUILD_TYPE="Debug"
|
||||||
|
elif [ "${ARGI}" = "--release" -o "${ARGI}" = "-r" ] ; then
|
||||||
|
BUILD_TYPE="Release"
|
||||||
|
else
|
||||||
|
CMD_LINE_ARGS=$CMD_LINE_ARGS" "$ARGI
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
# Part 2: Invoke the call to make in the build directory
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ../
|
||||||
|
|
||||||
|
make ${CMD_LINE_ARGS}
|
||||||
|
cd ${INVOCATION_ABS_DIR}
|
||||||
|
|
||||||
|
|
||||||
1
build/.cmake/api/v1/query/client-vscode/query.json
Normal file
1
build/.cmake/api/v1/query/client-vscode/query.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]}
|
||||||
1443
build/.cmake/api/v1/reply/cache-v2-dd2c937f009d9a652f28.json
Normal file
1443
build/.cmake/api/v1/reply/cache-v2-dd2c937f009d9a652f28.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,263 @@
|
|||||||
|
{
|
||||||
|
"inputs" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isGenerated" : true,
|
||||||
|
"path" : "build/CMakeFiles/3.16.3/CMakeSystem.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isGenerated" : true,
|
||||||
|
"path" : "build/CMakeFiles/3.16.3/CMakeCCompiler.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isGenerated" : true,
|
||||||
|
"path" : "build/CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/MOOSConfigVersion.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/MOOSConfig.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/MOOSTargets.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/FindThreads.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isCMake" : true,
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pBoardSupportComm/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-config-version.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-config.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-targets.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-targets-release.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pSurfaceSupportComm/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-config-version.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-config.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-targets.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"isExternal" : true,
|
||||||
|
"path" : "/usr/local/lib/cmake/GeographicLib/geographiclib-targets-release.cmake"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pClientViewer/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pDataManagement/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pTaskManagement/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pTaskSend/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pMotionControler/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pEmulator/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pFaultHandle/CMakeLists.txt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "src/pStateManagement/CMakeLists.txt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"kind" : "cmakeFiles",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "/home/ben/project/moos-ivp-pi/build",
|
||||||
|
"source" : "/home/ben/project/moos-ivp-pi"
|
||||||
|
},
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 1,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
}
|
||||||
305
build/.cmake/api/v1/reply/codemodel-v2-e5f65b12d81cb1175a33.json
Normal file
305
build/.cmake/api/v1/reply/codemodel-v2-e5f65b12d81cb1175a33.json
Normal file
@@ -0,0 +1,305 @@
|
|||||||
|
{
|
||||||
|
"configurations" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"directories" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"build" : ".",
|
||||||
|
"childIndexes" :
|
||||||
|
[
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src",
|
||||||
|
"childIndexes" :
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
8,
|
||||||
|
9,
|
||||||
|
10,
|
||||||
|
11
|
||||||
|
],
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 0,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pBoardSupportComm",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pBoardSupportComm",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pSurfaceSupportComm",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pSurfaceSupportComm",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
7
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pClientViewer",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pClientViewer",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
1
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pDataManagement",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pDataManagement",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pTaskManagement",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pTaskManagement",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
8
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pTaskSend",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pTaskSend",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
9
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pMotionControler",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pMotionControler",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pEmulator",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pEmulator",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
3
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pFaultHandle",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pFaultHandle",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
4
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"build" : "src/pStateManagement",
|
||||||
|
"minimumCMakeVersion" :
|
||||||
|
{
|
||||||
|
"string" : "2.8"
|
||||||
|
},
|
||||||
|
"parentIndex" : 1,
|
||||||
|
"projectIndex" : 0,
|
||||||
|
"source" : "src/pStateManagement",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
6
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name" : "None",
|
||||||
|
"projects" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"directoryIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
8,
|
||||||
|
9,
|
||||||
|
10,
|
||||||
|
11
|
||||||
|
],
|
||||||
|
"name" : "IVP_EXTEND",
|
||||||
|
"targetIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
6,
|
||||||
|
7,
|
||||||
|
8,
|
||||||
|
9
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"targets" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"directoryIndex" : 2,
|
||||||
|
"id" : "pBoardSupportComm::@1146bd68d6ff676d7cdb",
|
||||||
|
"jsonFile" : "target-pBoardSupportComm-None-6b6714a772e692ce7bda.json",
|
||||||
|
"name" : "pBoardSupportComm",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 4,
|
||||||
|
"id" : "pClientViewer::@cc500851234cd734e978",
|
||||||
|
"jsonFile" : "target-pClientViewer-None-637c837c32b7f1c4a3f8.json",
|
||||||
|
"name" : "pClientViewer",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 5,
|
||||||
|
"id" : "pDataManagement::@034b47bbed8ab925014e",
|
||||||
|
"jsonFile" : "target-pDataManagement-None-3fb8b0228e67220a29b1.json",
|
||||||
|
"name" : "pDataManagement",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 9,
|
||||||
|
"id" : "pEmulator::@1b38eb9e6c0705d3ecdb",
|
||||||
|
"jsonFile" : "target-pEmulator-None-e8b09174b873ffc7a0a4.json",
|
||||||
|
"name" : "pEmulator",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 10,
|
||||||
|
"id" : "pFaultHandle::@42119e8a9462daeca695",
|
||||||
|
"jsonFile" : "target-pFaultHandle-None-96d2d6ef9203623ec32c.json",
|
||||||
|
"name" : "pFaultHandle",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 8,
|
||||||
|
"id" : "pMotionControler::@cc1346ef0ed31955aa90",
|
||||||
|
"jsonFile" : "target-pMotionControler-None-3f183e81cc43357193c0.json",
|
||||||
|
"name" : "pMotionControler",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 11,
|
||||||
|
"id" : "pStateManagement::@cdde0d278f39903bd0cc",
|
||||||
|
"jsonFile" : "target-pStateManagement-None-12c0626db4f6cdfc3816.json",
|
||||||
|
"name" : "pStateManagement",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 3,
|
||||||
|
"id" : "pSurfaceSupportComm::@af7dafcb6523990d05a0",
|
||||||
|
"jsonFile" : "target-pSurfaceSupportComm-None-5c1b066d62accb72956a.json",
|
||||||
|
"name" : "pSurfaceSupportComm",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 6,
|
||||||
|
"id" : "pTaskManagement::@c7868433878d507bf89f",
|
||||||
|
"jsonFile" : "target-pTaskManagement-None-97473a05e92e62137b49.json",
|
||||||
|
"name" : "pTaskManagement",
|
||||||
|
"projectIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"directoryIndex" : 7,
|
||||||
|
"id" : "pTaskSend::@d8178882102cb10e2e3f",
|
||||||
|
"jsonFile" : "target-pTaskSend-None-3a4f500e73d7f1e47a5a.json",
|
||||||
|
"name" : "pTaskSend",
|
||||||
|
"projectIndex" : 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"kind" : "codemodel",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "/home/ben/project/moos-ivp-pi/build",
|
||||||
|
"source" : "/home/ben/project/moos-ivp-pi"
|
||||||
|
},
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 2,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
}
|
||||||
116
build/.cmake/api/v1/reply/index-2023-11-24T08-55-39-0072.json
Normal file
116
build/.cmake/api/v1/reply/index-2023-11-24T08-55-39-0072.json
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"cmake" :
|
||||||
|
{
|
||||||
|
"generator" :
|
||||||
|
{
|
||||||
|
"name" : "Unix Makefiles"
|
||||||
|
},
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"cmake" : "/usr/bin/cmake",
|
||||||
|
"cpack" : "/usr/bin/cpack",
|
||||||
|
"ctest" : "/usr/bin/ctest",
|
||||||
|
"root" : "/usr/share/cmake-3.16"
|
||||||
|
},
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"isDirty" : false,
|
||||||
|
"major" : 3,
|
||||||
|
"minor" : 16,
|
||||||
|
"patch" : 3,
|
||||||
|
"string" : "3.16.3",
|
||||||
|
"suffix" : ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"objects" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"jsonFile" : "codemodel-v2-e5f65b12d81cb1175a33.json",
|
||||||
|
"kind" : "codemodel",
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 2,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jsonFile" : "cache-v2-dd2c937f009d9a652f28.json",
|
||||||
|
"kind" : "cache",
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 2,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jsonFile" : "cmakeFiles-v1-a2b0be97f994224a37d6.json",
|
||||||
|
"kind" : "cmakeFiles",
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 1,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"reply" :
|
||||||
|
{
|
||||||
|
"client-vscode" :
|
||||||
|
{
|
||||||
|
"query.json" :
|
||||||
|
{
|
||||||
|
"requests" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"kind" : "cache",
|
||||||
|
"version" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind" : "codemodel",
|
||||||
|
"version" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind" : "toolchains",
|
||||||
|
"version" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind" : "cmakeFiles",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"jsonFile" : "cache-v2-dd2c937f009d9a652f28.json",
|
||||||
|
"kind" : "cache",
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 2,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jsonFile" : "codemodel-v2-e5f65b12d81cb1175a33.json",
|
||||||
|
"kind" : "codemodel",
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 2,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"error" : "unknown request kind 'toolchains'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"jsonFile" : "cmakeFiles-v1-a2b0be97f994224a37d6.json",
|
||||||
|
"kind" : "cmakeFiles",
|
||||||
|
"version" :
|
||||||
|
{
|
||||||
|
"major" : 1,
|
||||||
|
"minor" : 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,378 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pBoardSupportComm"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pBoardSupportComm/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 27,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 20,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 29,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 7,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 7,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/src/pBoardSupportComm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pBoardSupportComm::@1146bd68d6ff676d7cdb",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "/usr/local/lib/libGeographicLib.so.26.0.0",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pBoardSupportComm",
|
||||||
|
"nameOnDisk" : "pBoardSupportComm",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pBoardSupportComm",
|
||||||
|
"source" : "src/pBoardSupportComm"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pBoardSupportComm/BoardSupportComm.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pBoardSupportComm/BoardSupportComm_Info.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pBoardSupportComm/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,389 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pClientViewer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pClientViewer/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 30,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 34,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 25,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 29,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/src/pClientViewer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pClientViewer::@cc500851234cd734e978",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pClientViewer",
|
||||||
|
"nameOnDisk" : "pClientViewer",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pClientViewer",
|
||||||
|
"source" : "src/pClientViewer"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pClientViewer/ClientViewer.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pClientViewer/ClientViewer_Info.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pClientViewer/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,389 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pDataManagement"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pDataManagement/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 27,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 25,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 28,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 20,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 24,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/src/pDataManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pDataManagement::@034b47bbed8ab925014e",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pDataManagement",
|
||||||
|
"nameOnDisk" : "pDataManagement",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pDataManagement",
|
||||||
|
"source" : "src/pDataManagement"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pDataManagement/DataManagement.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pDataManagement/DataManagement_Info.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pDataManagement/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,374 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pEmulator"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pEmulator/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 9,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 11,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 7,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 7,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
4
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pEmulator::@1b38eb9e6c0705d3ecdb",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lcontacts",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lgeometry",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lapputil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pEmulator",
|
||||||
|
"nameOnDisk" : "pEmulator",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pEmulator",
|
||||||
|
"source" : "src/pEmulator"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
4
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Header Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
3
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pEmulator/Emulator.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pEmulator/Emulator.hpp",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pEmulator/_150server.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pEmulator/_150server.hpp",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pEmulator/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,387 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pFaultHandle"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pFaultHandle/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 21,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 19,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 23,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 18,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/usr/local/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pFaultHandle::@42119e8a9462daeca695",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pFaultHandle",
|
||||||
|
"nameOnDisk" : "pFaultHandle",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pFaultHandle",
|
||||||
|
"source" : "src/pFaultHandle"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Header Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
3
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pFaultHandle/FaultHandle.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pFaultHandle/FaultHandle_Info.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pFaultHandle/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pFaultHandle/FaultHandle.h",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,407 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pMotionControler"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pMotionControler/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 11,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 9,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 14,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 8,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
4,
|
||||||
|
5
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pMotionControler::@cc1346ef0ed31955aa90",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lgeometry",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pMotionControler",
|
||||||
|
"nameOnDisk" : "pMotionControler",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pMotionControler",
|
||||||
|
"source" : "src/pMotionControler"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
4,
|
||||||
|
5
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Header Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
3,
|
||||||
|
6
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pMotionControler/Controler.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pMotionControler/Controler.hpp",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pMotionControler/MotionControler.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pMotionControler/MotionControler.hpp",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pMotionControler/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pMotionControler/pidControl.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pMotionControler/pidControl.hpp",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,389 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pStateManagement"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pStateManagement/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 23,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 21,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 25,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 16,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 20,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/src/pStateManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pStateManagement::@cdde0d278f39903bd0cc",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pStateManagement",
|
||||||
|
"nameOnDisk" : "pStateManagement",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pStateManagement",
|
||||||
|
"source" : "src/pStateManagement"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pStateManagement/StateManagement.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pStateManagement/StateManagement_Info.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pStateManagement/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,384 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pSurfaceSupportComm"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pSurfaceSupportComm/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 33,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 28,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 35,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 27,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pSurfaceSupportComm::@af7dafcb6523990d05a0",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/usr/local/lib/libGeographicLib.so.26.0.0",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pSurfaceSupportComm",
|
||||||
|
"nameOnDisk" : "pSurfaceSupportComm",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pSurfaceSupportComm",
|
||||||
|
"source" : "src/pSurfaceSupportComm"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pSurfaceSupportComm/SurfaceSupportComm.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pSurfaceSupportComm/SurfaceSupportComm_Info.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pSurfaceSupportComm/main.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,375 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pTaskManagement"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pTaskManagement/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 17,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 14,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 21,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pTaskManagement::@c7868433878d507bf89f",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pTaskManagement",
|
||||||
|
"nameOnDisk" : "pTaskManagement",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pTaskManagement",
|
||||||
|
"source" : "src/pTaskManagement"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Header Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pTaskManagement/TaskManger.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"path" : "src/pTaskManagement/TaskManger.h",
|
||||||
|
"sourceGroupIndex" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pTaskManagement/TaskMangerMain.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
@@ -0,0 +1,437 @@
|
|||||||
|
{
|
||||||
|
"artifacts" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/bin/pTaskSend"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"backtrace" : 1,
|
||||||
|
"backtraceGraph" :
|
||||||
|
{
|
||||||
|
"commands" :
|
||||||
|
[
|
||||||
|
"ADD_EXECUTABLE",
|
||||||
|
"LINK_DIRECTORIES",
|
||||||
|
"link_directories",
|
||||||
|
"TARGET_LINK_LIBRARIES",
|
||||||
|
"INCLUDE_DIRECTORIES",
|
||||||
|
"include_directories"
|
||||||
|
],
|
||||||
|
"files" :
|
||||||
|
[
|
||||||
|
"src/pTaskSend/CMakeLists.txt",
|
||||||
|
"CMakeLists.txt",
|
||||||
|
"src/CMakeLists.txt"
|
||||||
|
],
|
||||||
|
"nodes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"file" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 0,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 21,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 1,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 60,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 2,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 19,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 3,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 23,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 57,
|
||||||
|
"parent" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"file" : 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 2,
|
||||||
|
"line" : 13,
|
||||||
|
"parent" : 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 14,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 5,
|
||||||
|
"file" : 0,
|
||||||
|
"line" : 18,
|
||||||
|
"parent" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command" : 4,
|
||||||
|
"file" : 1,
|
||||||
|
"line" : 32,
|
||||||
|
"parent" : 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"compileGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"compileCommandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : " -fPIC -g -Wdeprecated-declarations "
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "-pthread"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-std=gnu++11"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"includes" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_apputil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-colregs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_behaviors-marine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_bhvutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_contacts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_encounters"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_evalutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_genutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_geometry"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_helmivp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ipfview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpbuild"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpcore"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ivpsolve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_logutils"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marine_pid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_marineview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_mbutil"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_obstacles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_polar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_realm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ucommand"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_ufield"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 6,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/ivp/src/lib_zaicview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 8,
|
||||||
|
"path" : "/DUNE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 9,
|
||||||
|
"path" : "/home/ben/project/moos-ivp-pi/src/pTaskSend"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 10,
|
||||||
|
"path" : "/usr/include/jsoncpp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/App/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Comms/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/DB/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Utils/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/PocoBits/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/getpot/include"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 11,
|
||||||
|
"isSystem" : true,
|
||||||
|
"path" : "/home/ben/project/moos-ivp/MOOS/MOOSCore/Core/libMOOS/Thirdparty/AppCasting/include"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id" : "pTaskSend::@d8178882102cb10e2e3f",
|
||||||
|
"link" :
|
||||||
|
{
|
||||||
|
"commandFragments" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"fragment" : "-fPIC -g -Wdeprecated-declarations",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-rdynamic",
|
||||||
|
"role" : "flags"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 3,
|
||||||
|
"fragment" : "-L/home/ben/project/moos-ivp/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 4,
|
||||||
|
"fragment" : "-L/usr/local/lib",
|
||||||
|
"role" : "libraryPath"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-Wl,-rpath,/home/ben/project/moos-ivp/lib:/usr/local/lib",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 5,
|
||||||
|
"fragment" : "/home/ben/project/moos-ivp/build/MOOS/MOOSCore/lib/libMOOS.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lfltk",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lfltk_gl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ldl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ltiff",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-pthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "/usr/local/lib/libdune-core.a",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lmbutil",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lpthread",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lfltk",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lfltk_gl",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-lm",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ltiff",
|
||||||
|
"role" : "libraries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"fragment" : "-ljsoncpp",
|
||||||
|
"role" : "libraries"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"language" : "CXX"
|
||||||
|
},
|
||||||
|
"name" : "pTaskSend",
|
||||||
|
"nameOnDisk" : "pTaskSend",
|
||||||
|
"paths" :
|
||||||
|
{
|
||||||
|
"build" : "src/pTaskSend",
|
||||||
|
"source" : "src/pTaskSend"
|
||||||
|
},
|
||||||
|
"sourceGroups" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name" : "Source Files",
|
||||||
|
"sourceIndexes" :
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"sources" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pTaskSend/TaskSend.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pTaskSend/TaskSendMain.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"backtrace" : 1,
|
||||||
|
"compileGroupIndex" : 0,
|
||||||
|
"path" : "src/pTaskSend/display.cpp",
|
||||||
|
"sourceGroupIndex" : 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type" : "EXECUTABLE"
|
||||||
|
}
|
||||||
15
clean.sh
Executable file
15
clean.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -rf build/*
|
||||||
|
rm -rf lib/*
|
||||||
|
rm -rf bin/p*
|
||||||
|
rm -f .DS_Store
|
||||||
|
rm -f missions/*/.LastOpenedMOOSLogDirectory
|
||||||
|
|
||||||
|
find . -name '.DS_Store' -print -exec rm -rfv {} \;
|
||||||
|
find . -name '*~' -print -exec rm -rfv {} \;
|
||||||
|
find . -name '#*' -print -exec rm -rfv {} \;
|
||||||
|
find . -name '*.moos++' -print -exec rm -rfv {} \;
|
||||||
|
|
||||||
|
find . -name 'MOOSLog*' -print -exec rm -rfv {} \;
|
||||||
|
|
||||||
1
launch/.LastOpenedMOOSLogDirectory
Normal file
1
launch/.LastOpenedMOOSLogDirectory
Normal file
@@ -0,0 +1 @@
|
|||||||
|
LastOpenedLoggingDirectory=./MOOSLog_13_11_2023_____15_52_07
|
||||||
181
launch/alpha.bhv
Normal file
181
launch/alpha.bhv
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
//-------- FILE: alpha.bhv -------------
|
||||||
|
initialize RUN = false
|
||||||
|
initialize TaskNum=t1
|
||||||
|
initialize SendTask=false
|
||||||
|
//--------------模式判断------------------------
|
||||||
|
set MODE = ACTIVE{
|
||||||
|
RUN=true
|
||||||
|
} INACTIVE
|
||||||
|
|
||||||
|
set MODE = T1{
|
||||||
|
MODE=ACTIVE
|
||||||
|
TaskNum = t1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------路径点任务----------------------------
|
||||||
|
Behavior = BHV_Waypoint
|
||||||
|
{
|
||||||
|
name = waypt_survey
|
||||||
|
pwt = 100 //优先权重
|
||||||
|
condition = MODE==T1
|
||||||
|
|
||||||
|
//endflag = START=false
|
||||||
|
endflag = END_WayPoint=true
|
||||||
|
|
||||||
|
configflag = CRUISE_SPD = $[SPEED]
|
||||||
|
//configflag = OSPOS = $[OSX],$[OSY]
|
||||||
|
|
||||||
|
activeflag = INFO=$[OWNSHIP]
|
||||||
|
activeflag = INFO=$[BHVNAME]
|
||||||
|
activeflag = INFO=$[BHVTYPE]
|
||||||
|
|
||||||
|
//cycleflag = CINFO=$[OSX],$[OSY]
|
||||||
|
|
||||||
|
wptflag = CurrentPointComplete=true
|
||||||
|
wptflag = PREV=$(PX),$(PY)
|
||||||
|
wptflag = NEXT=$(NX),$(NY)
|
||||||
|
wptflag = TEST=$(X),$(Y)
|
||||||
|
wptflag = OSPOS=$(OSX),$(OSY)
|
||||||
|
//wptflag_on_start = true
|
||||||
|
|
||||||
|
|
||||||
|
updates = WPT_UPDATE
|
||||||
|
//perpetual = true
|
||||||
|
|
||||||
|
templating = spawn
|
||||||
|
|
||||||
|
// speed_alt = 1.2
|
||||||
|
//use_alt_speed = true
|
||||||
|
lead = 8
|
||||||
|
lead_damper = 1
|
||||||
|
lead_to_start = false
|
||||||
|
speed = 1 // meters per second
|
||||||
|
capture_line = true
|
||||||
|
capture_radius = 5.0
|
||||||
|
slip_radius = 15.0
|
||||||
|
efficiency_measure = all
|
||||||
|
|
||||||
|
polygon = 60,-40
|
||||||
|
order = normal
|
||||||
|
//repeat = 3
|
||||||
|
|
||||||
|
visual_hints = nextpt_color=yellow
|
||||||
|
visual_hints = nextpt_vertex_size=8
|
||||||
|
visual_hints = nextpt_lcolor=gray70
|
||||||
|
visual_hints = vertex_color=dodger_blue, edge_color=white
|
||||||
|
visual_hints = vertex_size=5, edge_size=1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//--------------定深任务------------------
|
||||||
|
Behavior=BHV_ConstantDepth
|
||||||
|
{
|
||||||
|
name = const_depth
|
||||||
|
pwt = 100
|
||||||
|
//condition = DEPLOY = true
|
||||||
|
condition = MODE==T1
|
||||||
|
duration = no-time-limit
|
||||||
|
updates = DEPTH_UPDATE
|
||||||
|
depth = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------定向任务--------------------
|
||||||
|
|
||||||
|
Behavior=BHV_ConstantHeading
|
||||||
|
{
|
||||||
|
name = const_heading
|
||||||
|
pwt = 100
|
||||||
|
//condition = START_TURN = true
|
||||||
|
//condition = DEPLOY = true
|
||||||
|
condition = MODE==T3
|
||||||
|
perpetual = true
|
||||||
|
|
||||||
|
activeflag = TURN = started
|
||||||
|
|
||||||
|
//endflag = TURN = done
|
||||||
|
//endflag = RETURN = true
|
||||||
|
//endflag = START_TURN = false
|
||||||
|
endflag = START=false
|
||||||
|
|
||||||
|
heading = 225
|
||||||
|
complete_thresh = 5
|
||||||
|
duration = no-time-limit
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------定速任务--------------------
|
||||||
|
Behavior=BHV_ConstantSpeed
|
||||||
|
{
|
||||||
|
name = const_speed
|
||||||
|
pwt = 1000
|
||||||
|
condition = MODE==T1
|
||||||
|
perpetual = true
|
||||||
|
updates = SPEED_UPDATE
|
||||||
|
//endflag = START=false
|
||||||
|
|
||||||
|
speed = 5
|
||||||
|
|
||||||
|
duration = no-time-limit
|
||||||
|
//peakwidth = 0.5
|
||||||
|
//basewidth = 0.5
|
||||||
|
|
||||||
|
}
|
||||||
|
//----------------安全模式-----------------------
|
||||||
|
//----------------计时器---------------------
|
||||||
|
Behavior = BHV_Timer
|
||||||
|
{
|
||||||
|
name = mtime
|
||||||
|
condition = MODE==T1
|
||||||
|
pwt = 100
|
||||||
|
templating = spawn
|
||||||
|
//duration_status = MSTATUS
|
||||||
|
//duration = 10
|
||||||
|
endflag = TIME_OUT=true
|
||||||
|
|
||||||
|
updates = TIMER_UPDATES
|
||||||
|
|
||||||
|
//perpetual = true
|
||||||
|
}
|
||||||
|
//-------------最大深度限制--------------------------
|
||||||
|
Behavior = BHV_MaxDepth
|
||||||
|
{
|
||||||
|
name = maxdepth
|
||||||
|
pwt = 200
|
||||||
|
condition = MODE==ACTIVE
|
||||||
|
updates = MAXDEEP_UPDATES
|
||||||
|
max_depth = 20
|
||||||
|
tolerance = 0
|
||||||
|
duration = no-time-limit
|
||||||
|
}
|
||||||
|
//--------------安全区域设置-----------------------
|
||||||
|
|
||||||
|
Behavior = BHV_OpRegion
|
||||||
|
{
|
||||||
|
// General Behavior Parameters
|
||||||
|
// ---------------------------
|
||||||
|
name = op_region // example
|
||||||
|
pwt = 300 // default
|
||||||
|
condition = MODE==TN
|
||||||
|
updates = OPREGION_UPDATES // example
|
||||||
|
|
||||||
|
// Parameters specific to this behavior
|
||||||
|
// ------------------------------------
|
||||||
|
max_time = 20 // default (seconds)
|
||||||
|
max_depth = 25 // default (meters)
|
||||||
|
min_altitude = 0 // default (meters)
|
||||||
|
reset_var = OPREGION_RESET // example
|
||||||
|
trigger_entry_time = 1 // default (seconds)
|
||||||
|
trigger_exit_time = 0.5 // default (seconds)
|
||||||
|
|
||||||
|
polygon = pts={-80,-00:-30,-175:150,-100:95,25}
|
||||||
|
|
||||||
|
breached_altitude_flag = TaskFault = AltitudeOut
|
||||||
|
breached_depth_flag = TaskFault = DepthOut
|
||||||
|
breached_poly_flag = TaskFault = RegionOut
|
||||||
|
breached_time_flag = TaskFault = TimeOut
|
||||||
|
|
||||||
|
visual_hints = vertex_color = brown // default
|
||||||
|
visual_hints = vertex_size = 3 // default
|
||||||
|
visual_hints = edge_color = aqua // default
|
||||||
|
visual_hints = edge_size = 1 // default
|
||||||
|
}
|
||||||
149
launch/alpha.moos
Normal file
149
launch/alpha.moos
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
|
||||||
|
ServerHost = localhost
|
||||||
|
ServerPort = 9000
|
||||||
|
Community = zxb
|
||||||
|
MOOSTimeWarp = 1
|
||||||
|
|
||||||
|
// Forest Lake
|
||||||
|
//这两个参数没有pMarineViewer就会闪退
|
||||||
|
LatOrigin = 43.825300
|
||||||
|
LongOrigin = -70.330400
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Antler configuration block
|
||||||
|
ProcessConfig = ANTLER
|
||||||
|
{
|
||||||
|
MSBetweenLaunches = 200
|
||||||
|
|
||||||
|
Run = MOOSDB @ NewConsole = false
|
||||||
|
//Run = pLogger @ NewConsole = false
|
||||||
|
Run = pMarineViewer @ NewConsole = false
|
||||||
|
Run = pRealm @ NewConsole = false
|
||||||
|
Run = pShare @ NewConsole = false
|
||||||
|
}
|
||||||
|
ProcessConfig = pShare
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
|
||||||
|
input = route = localhost:8085
|
||||||
|
output = src_name=APPCAST_REQ, route=10.25.0.230:8081
|
||||||
|
|
||||||
|
//输出有两个端口,8081和8082,选择用1或者2
|
||||||
|
//发送消息看以下格式
|
||||||
|
//output = src_name=Y, dest_name=B, route=host:port
|
||||||
|
|
||||||
|
output = src_name=uMission_action_cmd,route=10.25.0.230:8081
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pLogger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
AsyncLog = true
|
||||||
|
|
||||||
|
// For variables that are published in a bundle on their first post,
|
||||||
|
// explicitly declare their logging request
|
||||||
|
//Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
|
||||||
|
//Log = REPORT @ 0 NOSYNC
|
||||||
|
//Log = BHV_SETTINGS @ 0 NOSYNC
|
||||||
|
Log = OPREGION_RESET @ 0 NOSYNC
|
||||||
|
|
||||||
|
LogAuxSrc = true
|
||||||
|
WildCardLogging = true
|
||||||
|
WildCardOmitPattern = *_STATUS
|
||||||
|
WildCardOmitPattern = DB_VARSUMMARY
|
||||||
|
WildCardOmitPattern = DB_RWSUMMARY
|
||||||
|
WildCardExclusionLog = true
|
||||||
|
}
|
||||||
|
//------------------------------------------
|
||||||
|
// pMarineViewer config block
|
||||||
|
|
||||||
|
ProcessConfig = pMarineViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
tiff_file = forrest19.tif
|
||||||
|
//tiff_file = MIT_SP.tif
|
||||||
|
vehicles_name_mode = names+depth //+shortmode
|
||||||
|
|
||||||
|
|
||||||
|
set_pan_x = -90
|
||||||
|
set_pan_y = -280
|
||||||
|
zoom = 0.65
|
||||||
|
vehicle_shape_scale = 1.5
|
||||||
|
hash_delta = 50
|
||||||
|
hash_shade = 0.22
|
||||||
|
hash_viewable = true
|
||||||
|
|
||||||
|
trails_point_size = 1
|
||||||
|
|
||||||
|
//op_vertex = x=-83, y=-47, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=94.6, y=-62.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=58, y=20, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
|
||||||
|
// Appcast configuration
|
||||||
|
appcast_height = 75
|
||||||
|
appcast_width = 30
|
||||||
|
appcast_viewable = true
|
||||||
|
appcast_color_scheme = indigo
|
||||||
|
nodes_font_size = xlarge
|
||||||
|
procs_font_size = xlarge
|
||||||
|
appcast_font_size = large
|
||||||
|
|
||||||
|
// datum_viewable = true
|
||||||
|
// datum_size = 18
|
||||||
|
// gui_size = small
|
||||||
|
|
||||||
|
// left_context[survey-point] = DEPLOY=true
|
||||||
|
// left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
// left_context[survey-point] = RETURN=false
|
||||||
|
|
||||||
|
right_context[return] = DEPLOY=true
|
||||||
|
right_context[return] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
right_context[return] = RETURN=false
|
||||||
|
|
||||||
|
scope = RETURN
|
||||||
|
scope = WPT_STAT
|
||||||
|
scope = VIEW_SEGLIST
|
||||||
|
scope = VIEW_POINT
|
||||||
|
scope = VIEW_POLYGON
|
||||||
|
scope = MVIEWER_LCLICK
|
||||||
|
scope = MVIEWER_RCLICK
|
||||||
|
|
||||||
|
//button_one = START # START=true
|
||||||
|
button_one = START # uMission_action_cmd={"taskName":"east_waypt_survey","action":"start"}
|
||||||
|
//button_one = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
button_two = STOP # uMission_action_cmd={"taskName":"east_waypt_survey","action":"stop"}
|
||||||
|
//button_two = MOOS_MANUAL_OVERRIDE=true
|
||||||
|
button_three = FaultClear # ClearFalut = true
|
||||||
|
button_four = SendSecurityZone # SendSaftRules = true
|
||||||
|
|
||||||
|
|
||||||
|
action = MENU_KEY=deploy # DEPLOY = true # RETURN = false
|
||||||
|
action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
|
||||||
|
action = RETURN=true
|
||||||
|
action = UPDATES_RETURN=speed=1.4
|
||||||
|
cmd = label=DEPLOY, var=DEPLOY, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=MOOS_MANUAL_OVERRIDE, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=AVOID, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=RETURN, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=RETURN, var=RETURN, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=RETURN, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=PERMUTE, var=UTS_FORWARD, dval=0, receivers=shore
|
||||||
|
|
||||||
|
cmd = label=STATION, var=STATION_KEEP, sval=true, receivers=all:$(VNAMES), color=pink
|
||||||
|
|
||||||
|
cmd = label=LOITER-FAST, var=UP_LOITER, sval=speed=2.8, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-SLOW, var=UP_LOITER, sval=speed=1.4, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=LOITER-CLOCKWISE-TRUE, var=UP_LOITER, sval=clockwise=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-FALSE, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-BEST, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
}
|
||||||
324
launch/launch.moos
Normal file
324
launch/launch.moos
Normal file
@@ -0,0 +1,324 @@
|
|||||||
|
//======================================
|
||||||
|
//1. 在phare配置块里面添加需要的变量和调试端端口配置
|
||||||
|
//2. Our define process中加入自定义程序
|
||||||
|
//3. For test process 中加入配合调试的程序
|
||||||
|
|
||||||
|
ServerHost = localhost
|
||||||
|
ServerPort = 9000
|
||||||
|
Simulator = true
|
||||||
|
|
||||||
|
Community = pi
|
||||||
|
|
||||||
|
MOOSTimeWarp = 1
|
||||||
|
|
||||||
|
LatOrigin = 43.825300
|
||||||
|
LongOrigin = -70.330400
|
||||||
|
AltOrigin = 0
|
||||||
|
|
||||||
|
VehicleName = lauv-150
|
||||||
|
|
||||||
|
LogEnable = false
|
||||||
|
LogDir = /home/jhl/moos-ivp-pi/moos-ivp-pi-word/log/
|
||||||
|
AuvDataLog = auvData.mdat
|
||||||
|
MissionHistoryLog = missionHistory.txt
|
||||||
|
ClientCommandLog = clientCommand.txt
|
||||||
|
FaultLog = faultLog.txt
|
||||||
|
MotionControlLog = motionControl.txt
|
||||||
|
|
||||||
|
|
||||||
|
llaOriginPath = /home/jhl/moos-ivp-pi/moos-ivp-pi-word/setting/Origin.json
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Antler configuration block
|
||||||
|
ProcessConfig = ANTLER
|
||||||
|
{
|
||||||
|
MSBetweenLaunches = 200
|
||||||
|
//============MOOS process=========================
|
||||||
|
Run = MOOSDB @ NewConsole = false
|
||||||
|
Run = pHelmIvP @ NewConsole = false
|
||||||
|
Run = pNodeReporter @ NewConsole = false
|
||||||
|
Run = uProcessWatch @ NewConsole = false
|
||||||
|
Run = pRealm @ NewConsole = false
|
||||||
|
Run = pShare @ NewConsole = false
|
||||||
|
Run = pMarineViewer @ NewConsole = false
|
||||||
|
//===========Our define process====================
|
||||||
|
Run = pBoardSupportComm @ NewConsole = false
|
||||||
|
Run = pTaskManagement @ NewConsole = false
|
||||||
|
Run = pMotionControler @ NewConsole = false
|
||||||
|
Run = pSurfaceSupportComm @ NewConsole = false
|
||||||
|
Run = pDataManagement @ NewConsole = false
|
||||||
|
Run = pFaultHandle @ NewConsole = false
|
||||||
|
Run = pStateManagement @ NewConsole = false
|
||||||
|
//===============For test process===================
|
||||||
|
Run = pEmulator @ NewConsole = false
|
||||||
|
//Run = uSimMarine @ NewConsole = false
|
||||||
|
//Run = pMarinePID @ NewConsole = false
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pMarineViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
tiff_file = forrest19.tif
|
||||||
|
//tiff_file = MIT_SP.tif
|
||||||
|
vehicles_name_mode = names+depth //+shortmode
|
||||||
|
|
||||||
|
|
||||||
|
set_pan_x = -90
|
||||||
|
set_pan_y = -280
|
||||||
|
zoom = 0.65
|
||||||
|
vehicle_shape_scale = 1.5
|
||||||
|
hash_delta = 50
|
||||||
|
hash_shade = 0.22
|
||||||
|
hash_viewable = true
|
||||||
|
|
||||||
|
trails_point_size = 1
|
||||||
|
|
||||||
|
//op_vertex = x=-83, y=-47, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=94.6, y=-62.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=58, y=20, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
|
||||||
|
// Appcast configuration
|
||||||
|
appcast_height = 75
|
||||||
|
appcast_width = 30
|
||||||
|
appcast_viewable = true
|
||||||
|
appcast_color_scheme = indigo
|
||||||
|
nodes_font_size = xlarge
|
||||||
|
procs_font_size = xlarge
|
||||||
|
appcast_font_size = large
|
||||||
|
|
||||||
|
// datum_viewable = true
|
||||||
|
// datum_size = 18
|
||||||
|
// gui_size = small
|
||||||
|
|
||||||
|
// left_context[survey-point] = DEPLOY=true
|
||||||
|
// left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
// left_context[survey-point] = RETURN=false
|
||||||
|
|
||||||
|
right_context[return] = DEPLOY=true
|
||||||
|
right_context[return] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
right_context[return] = RETURN=false
|
||||||
|
|
||||||
|
scope = RETURN
|
||||||
|
scope = WPT_STAT
|
||||||
|
scope = VIEW_SEGLIST
|
||||||
|
scope = VIEW_POINT
|
||||||
|
scope = VIEW_POLYGON
|
||||||
|
scope = MVIEWER_LCLICK
|
||||||
|
scope = MVIEWER_RCLICK
|
||||||
|
|
||||||
|
//button_one = START # START=true
|
||||||
|
button_one = START # uMission_action_cmd={"taskName":"east_waypt_survey","action":"start"}
|
||||||
|
//button_one = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
button_two = STOP # uMission_action_cmd={"taskName":"east_waypt_survey","action":"stop"}
|
||||||
|
//button_two = MOOS_MANUAL_OVERRIDE=true
|
||||||
|
//button_three = FaultClear # ClearFalut = true
|
||||||
|
//button_four = SendSecurityZone # SendSaftRules = true
|
||||||
|
|
||||||
|
|
||||||
|
action = MENU_KEY=deploy # DEPLOY = true # RETURN = false
|
||||||
|
action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
|
||||||
|
action = RETURN=true
|
||||||
|
action = UPDATES_RETURN=speed=1.4
|
||||||
|
cmd = label=DEPLOY, var=DEPLOY, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=MOOS_MANUAL_OVERRIDE, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=AVOID, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=RETURN, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=RETURN, var=RETURN, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=RETURN, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=PERMUTE, var=UTS_FORWARD, dval=0, receivers=shore
|
||||||
|
|
||||||
|
cmd = label=STATION, var=STATION_KEEP, sval=true, receivers=all:$(VNAMES), color=pink
|
||||||
|
|
||||||
|
cmd = label=LOITER-FAST, var=UP_LOITER, sval=speed=2.8, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-SLOW, var=UP_LOITER, sval=speed=1.4, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=LOITER-CLOCKWISE-TRUE, var=UP_LOITER, sval=clockwise=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-FALSE, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-BEST, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pHelmIvP
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
behaviors = alpha.bhv
|
||||||
|
domain = course:0:359:360
|
||||||
|
domain = speed:0:10:101
|
||||||
|
domain = depth:0:100:101
|
||||||
|
|
||||||
|
park_on_allstop = false
|
||||||
|
//park_on_allstop = true
|
||||||
|
|
||||||
|
}
|
||||||
|
ProcessConfig = uProcessWatch
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
watch_all = true
|
||||||
|
nowatch = uPokeDB*
|
||||||
|
nowatch = uQueryDB*
|
||||||
|
nowatch = uXMS*
|
||||||
|
nowatch = uMAC*
|
||||||
|
nowatch = pShare*
|
||||||
|
nowatch = pRealm*
|
||||||
|
nowatch = pNodeReporter*
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pNodeReporter
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
|
||||||
|
platform_type = UUV
|
||||||
|
platform_color = red
|
||||||
|
platform_length = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ProcessConfig = pShare
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
//UUV 信息
|
||||||
|
output = src_name = NODE_REPORT*, route = 10.25.0.160:8085
|
||||||
|
output = src_name = NODE_REPORT*, route = 10.25.0.248:8085
|
||||||
|
output = src_name = NODE_REPORT*, route = 10.25.0.165:8085
|
||||||
|
//App 信息
|
||||||
|
output = src_name = APPCAST*, route = 10.25.0.160:8085
|
||||||
|
output = src_name = APPCAST*, route = 10.25.0.165:8085
|
||||||
|
output = src_name = APPCAST*, route = 10.25.0.248:8085
|
||||||
|
//路径点信息
|
||||||
|
output = src_name = VIEW*, route = 10.25.0.160:8085
|
||||||
|
output = src_name = VIEW*, route = 10.25.0.165:8085
|
||||||
|
output = src_name = VIEW*, route = 10.25.0.248:8085
|
||||||
|
//调试端输入端口
|
||||||
|
input = route = localhost:8081
|
||||||
|
input = route = localhost:8082
|
||||||
|
input = route = localhost:8083
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pTaskManagement
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
planConfigPath = /home/zjk/Desktop/project/moos-ivp-pi/setting/PlanConfigure.json
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pBoardSupportComm
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = uSimMarine
|
||||||
|
{
|
||||||
|
AppTick = 10
|
||||||
|
CommsTick = 10
|
||||||
|
|
||||||
|
START_X = 0
|
||||||
|
START_Y = 0
|
||||||
|
START_SPEED = 0
|
||||||
|
START_HEADING = 180
|
||||||
|
|
||||||
|
PREFIX = NAV
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pMarinePID
|
||||||
|
{
|
||||||
|
AppTick = 20
|
||||||
|
CommsTick = 20
|
||||||
|
|
||||||
|
VERBOSE = true
|
||||||
|
DEPTH_CONTROL = false
|
||||||
|
|
||||||
|
// Yaw PID controller
|
||||||
|
YAW_PID_KP = 0.5
|
||||||
|
YAW_PID_KD = 0.0
|
||||||
|
YAW_PID_KI = 0.0
|
||||||
|
YAW_PID_INTEGRAL_LIMIT = 0.07
|
||||||
|
|
||||||
|
// Speed PID controller
|
||||||
|
SPEED_PID_KP = 1.0
|
||||||
|
SPEED_PID_KD = 0.0
|
||||||
|
SPEED_PID_KI = 0.0
|
||||||
|
SPEED_PID_INTEGRAL_LIMIT = 0.07
|
||||||
|
|
||||||
|
//MAXIMUMS
|
||||||
|
MAXRUDDER = 100
|
||||||
|
MAXTHRUST = 100
|
||||||
|
|
||||||
|
// A non-zero SPEED_FACTOR overrides use of SPEED_PID
|
||||||
|
// Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR
|
||||||
|
SPEED_FACTOR = 20
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pMotionControler
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
tardy_nav_thresh = 2.0
|
||||||
|
tardy_helm_thresh = 2.0
|
||||||
|
|
||||||
|
cheak_stalensee = true
|
||||||
|
delta_freqency = 5
|
||||||
|
|
||||||
|
config_file = /home/jhl/moos-ivp-pi/moos-ivp-pi-word/setting/ControlParam.json
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pEmulator
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
matlab_host = 10.25.0.137
|
||||||
|
matlab_port = 8085
|
||||||
|
local_port = 8080
|
||||||
|
prefix = NAV
|
||||||
|
|
||||||
|
start_x = 10
|
||||||
|
start_y = 9
|
||||||
|
start_z = 1
|
||||||
|
start_heading = 30
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pDataManagement
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pLogger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
AsyncLog = true
|
||||||
|
FileTimeStamp = true
|
||||||
|
|
||||||
|
// For variables that are published in a bundle on their first post,
|
||||||
|
// explicitly declare their logging request
|
||||||
|
Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
|
||||||
|
Log = REPORT @ 0 NOSYNC
|
||||||
|
|
||||||
|
LogAuxSrc = true
|
||||||
|
WildCardLogging = true
|
||||||
|
WildCardOmitPattern = *_STATUS
|
||||||
|
WildCardOmitPattern = DB_VARSUMMARY
|
||||||
|
WildCardOmitPattern = DB_RWSUMMARY
|
||||||
|
WildCardExclusionLog = true
|
||||||
|
}
|
||||||
|
ProcessConfig = pFaultHandle
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
328
launch/launch_local.moos
Normal file
328
launch/launch_local.moos
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
//======================================
|
||||||
|
//1. 在phare配置块里面添加需要的变量和调试端端口配置
|
||||||
|
//2. Our define process中加入自定义程序
|
||||||
|
//3. For test process 中加入配合调试的程序
|
||||||
|
|
||||||
|
ServerHost = localhost
|
||||||
|
ServerPort = 9000
|
||||||
|
Simulator = true
|
||||||
|
|
||||||
|
Community = pi
|
||||||
|
|
||||||
|
MOOSTimeWarp = 1
|
||||||
|
|
||||||
|
LatOrigin = 43.825300
|
||||||
|
LongOrigin = -70.330400
|
||||||
|
AltOrigin = 0
|
||||||
|
|
||||||
|
VehicleName = lauv-150
|
||||||
|
|
||||||
|
LogEnable = true
|
||||||
|
//LogDir = /home/jhl/moos-ivp-pi/moos-ivp-pi-word/log/
|
||||||
|
LogDir = /home/ben/project/moos-ivp-pi/log/
|
||||||
|
AuvDataLog = auvData.mdat
|
||||||
|
MissionHistoryLog = missionHistory.txt
|
||||||
|
ClientCommandLog = clientCommand.txt
|
||||||
|
FaultLog = faultLog.txt
|
||||||
|
MotionControlLog = motionControl.txt
|
||||||
|
|
||||||
|
//llaOriginPath = /home/jhl/moos-ivp-pi/moos-ivp-pi-word/setting/Origin.json
|
||||||
|
llaOriginPath = /home/ben/project/moos-ivp-pi/setting/Origin.json
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Antler configuration block
|
||||||
|
ProcessConfig = ANTLER
|
||||||
|
{
|
||||||
|
MSBetweenLaunches = 200
|
||||||
|
//============MOOS process=========================
|
||||||
|
Run = MOOSDB @ NewConsole = false
|
||||||
|
Run = pHelmIvP @ NewConsole = false
|
||||||
|
Run = pNodeReporter @ NewConsole = false
|
||||||
|
Run = uProcessWatch @ NewConsole = false
|
||||||
|
Run = pRealm @ NewConsole = false
|
||||||
|
//Run = pShare @ NewConsole = false
|
||||||
|
Run = pMarineViewer @ NewConsole = false
|
||||||
|
//===========Our define process====================
|
||||||
|
Run = pBoardSupportComm @ NewConsole = false
|
||||||
|
Run = pTaskManagement @ NewConsole = false
|
||||||
|
//Run = pMotionControler @ NewConsole = false
|
||||||
|
Run = pSurfaceSupportComm @ NewConsole = false
|
||||||
|
Run = pDataManagement @ NewConsole = false
|
||||||
|
Run = pFaultHandle @ NewConsole = false
|
||||||
|
Run = pStateManagement @ NewConsole = false
|
||||||
|
//===============For test process===================
|
||||||
|
//Run = pEmulator @ NewConsole = false
|
||||||
|
Run = uSimMarine @ NewConsole = false
|
||||||
|
Run = pMarinePID @ NewConsole = false
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pMarineViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
tiff_file = forrest19.tif
|
||||||
|
//tiff_file = MIT_SP.tif
|
||||||
|
vehicles_name_mode = names+depth //+shortmode
|
||||||
|
|
||||||
|
|
||||||
|
set_pan_x = -90
|
||||||
|
set_pan_y = -280
|
||||||
|
zoom = 0.65
|
||||||
|
vehicle_shape_scale = 1.5
|
||||||
|
hash_delta = 50
|
||||||
|
hash_shade = 0.22
|
||||||
|
hash_viewable = true
|
||||||
|
|
||||||
|
trails_point_size = 1
|
||||||
|
|
||||||
|
//op_vertex = x=-83, y=-47, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=94.6, y=-62.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=58, y=20, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
|
||||||
|
// Appcast configuration
|
||||||
|
appcast_height = 75
|
||||||
|
appcast_width = 30
|
||||||
|
appcast_viewable = true
|
||||||
|
appcast_color_scheme = indigo
|
||||||
|
nodes_font_size = xlarge
|
||||||
|
procs_font_size = xlarge
|
||||||
|
appcast_font_size = large
|
||||||
|
|
||||||
|
// datum_viewable = true
|
||||||
|
// datum_size = 18
|
||||||
|
// gui_size = small
|
||||||
|
|
||||||
|
// left_context[survey-point] = DEPLOY=true
|
||||||
|
// left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
// left_context[survey-point] = RETURN=false
|
||||||
|
|
||||||
|
right_context[return] = DEPLOY=true
|
||||||
|
right_context[return] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
right_context[return] = RETURN=false
|
||||||
|
|
||||||
|
scope = RETURN
|
||||||
|
scope = WPT_STAT
|
||||||
|
scope = VIEW_SEGLIST
|
||||||
|
scope = VIEW_POINT
|
||||||
|
scope = VIEW_POLYGON
|
||||||
|
scope = MVIEWER_LCLICK
|
||||||
|
scope = MVIEWER_RCLICK
|
||||||
|
|
||||||
|
//button_one = START # START=true
|
||||||
|
button_one = START # uMission_action_cmd={"taskName":"east_waypt_survey","action":"start"}
|
||||||
|
//button_one = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
button_two = STOP # uMission_action_cmd={"taskName":"east_waypt_survey","action":"stop"}
|
||||||
|
//button_two = MOOS_MANUAL_OVERRIDE=true
|
||||||
|
//button_three = FaultClear # ClearFalut = true
|
||||||
|
//button_four = SendSecurityZone # SendSaftRules = true
|
||||||
|
|
||||||
|
|
||||||
|
action = MENU_KEY=deploy # DEPLOY = true # RETURN = false
|
||||||
|
action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
|
||||||
|
action = RETURN=true
|
||||||
|
action = UPDATES_RETURN=speed=1.4
|
||||||
|
cmd = label=DEPLOY, var=DEPLOY, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=MOOS_MANUAL_OVERRIDE, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=AVOID, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=RETURN, sval=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=DEPLOY, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=RETURN, var=RETURN, sval=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=RETURN, var=STATION_KEEP, sval=false, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=PERMUTE, var=UTS_FORWARD, dval=0, receivers=shore
|
||||||
|
|
||||||
|
cmd = label=STATION, var=STATION_KEEP, sval=true, receivers=all:$(VNAMES), color=pink
|
||||||
|
|
||||||
|
cmd = label=LOITER-FAST, var=UP_LOITER, sval=speed=2.8, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-SLOW, var=UP_LOITER, sval=speed=1.4, receivers=all:$(VNAMES)
|
||||||
|
|
||||||
|
cmd = label=LOITER-CLOCKWISE-TRUE, var=UP_LOITER, sval=clockwise=true, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-FALSE, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
cmd = label=LOITER-CLOCKWISE-BEST, var=UP_LOITER, sval=clockwise=false, receivers=all:$(VNAMES)
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pHelmIvP
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
behaviors = alpha.bhv
|
||||||
|
domain = course:0:359:360
|
||||||
|
domain = speed:0:10:101
|
||||||
|
domain = depth:0:100:101
|
||||||
|
|
||||||
|
park_on_allstop = false
|
||||||
|
//park_on_allstop = true
|
||||||
|
|
||||||
|
}
|
||||||
|
ProcessConfig = uProcessWatch
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
watch_all = true
|
||||||
|
nowatch = uPokeDB*
|
||||||
|
nowatch = uQueryDB*
|
||||||
|
nowatch = uXMS*
|
||||||
|
nowatch = uMAC*
|
||||||
|
nowatch = pShare*
|
||||||
|
nowatch = pRealm*
|
||||||
|
nowatch = pNodeReporter*
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pNodeReporter
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
|
||||||
|
platform_type = UUV
|
||||||
|
platform_color = red
|
||||||
|
platform_length = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ProcessConfig = pShare
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
//UUV 信息
|
||||||
|
output = src_name = NODE_REPORT*, route = 10.25.0.160:8085
|
||||||
|
output = src_name = NODE_REPORT*, route = 10.25.0.248:8085
|
||||||
|
output = src_name = NODE_REPORT*, route = 10.25.0.165:8085
|
||||||
|
//App 信息
|
||||||
|
output = src_name = APPCAST*, route = 10.25.0.160:8085
|
||||||
|
output = src_name = APPCAST*, route = 10.25.0.165:8085
|
||||||
|
output = src_name = APPCAST*, route = 10.25.0.248:8085
|
||||||
|
//路径点信息
|
||||||
|
output = src_name = VIEW*, route = 10.25.0.160:8085
|
||||||
|
output = src_name = VIEW*, route = 10.25.0.165:8085
|
||||||
|
output = src_name = VIEW*, route = 10.25.0.248:8085
|
||||||
|
//调试端输入端口
|
||||||
|
input = route = localhost:8081
|
||||||
|
input = route = localhost:8082
|
||||||
|
input = route = localhost:8083
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pTaskManagement
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
//planConfigPath = /home/zjk/Desktop/project/moos-ivp-pi/setting/PlanConfigure.json
|
||||||
|
planConfigPath = /home/ben/project/moos-ivp-pi/setting/PlanConfigure.json
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pBoardSupportComm
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = uSimMarine
|
||||||
|
{
|
||||||
|
AppTick = 10
|
||||||
|
CommsTick = 10
|
||||||
|
|
||||||
|
START_X = 0
|
||||||
|
START_Y = 0
|
||||||
|
START_SPEED = 0
|
||||||
|
START_HEADING = 180
|
||||||
|
|
||||||
|
PREFIX = NAV
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pMarinePID
|
||||||
|
{
|
||||||
|
AppTick = 20
|
||||||
|
CommsTick = 20
|
||||||
|
|
||||||
|
VERBOSE = true
|
||||||
|
DEPTH_CONTROL = false
|
||||||
|
|
||||||
|
// Yaw PID controller
|
||||||
|
YAW_PID_KP = 0.5
|
||||||
|
YAW_PID_KD = 0.0
|
||||||
|
YAW_PID_KI = 0.0
|
||||||
|
YAW_PID_INTEGRAL_LIMIT = 0.07
|
||||||
|
|
||||||
|
// Speed PID controller
|
||||||
|
SPEED_PID_KP = 1.0
|
||||||
|
SPEED_PID_KD = 0.0
|
||||||
|
SPEED_PID_KI = 0.0
|
||||||
|
SPEED_PID_INTEGRAL_LIMIT = 0.07
|
||||||
|
|
||||||
|
//MAXIMUMS
|
||||||
|
MAXRUDDER = 100
|
||||||
|
MAXTHRUST = 100
|
||||||
|
|
||||||
|
// A non-zero SPEED_FACTOR overrides use of SPEED_PID
|
||||||
|
// Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR
|
||||||
|
SPEED_FACTOR = 20
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pMotionControler
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
tardy_nav_thresh = 2.0
|
||||||
|
tardy_helm_thresh = 2.0
|
||||||
|
|
||||||
|
cheak_stalensee = true
|
||||||
|
delta_freqency = 5
|
||||||
|
|
||||||
|
//config_file = /home/jhl/moos-ivp-pi/moos-ivp-pi-word/setting/ControlParam.json
|
||||||
|
config_file = /home/ben/project/moos-ivp-pi/setting/ControlParam.json
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pEmulator
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
matlab_host = 10.25.0.137
|
||||||
|
matlab_port = 8085
|
||||||
|
local_port = 8080
|
||||||
|
prefix = NAV
|
||||||
|
|
||||||
|
start_x = 10
|
||||||
|
start_y = 9
|
||||||
|
start_z = 1
|
||||||
|
start_heading = 30
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pDataManagement
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pLogger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
AsyncLog = true
|
||||||
|
FileTimeStamp = true
|
||||||
|
|
||||||
|
// For variables that are published in a bundle on their first post,
|
||||||
|
// explicitly declare their logging request
|
||||||
|
Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
|
||||||
|
Log = REPORT @ 0 NOSYNC
|
||||||
|
|
||||||
|
LogAuxSrc = true
|
||||||
|
WildCardLogging = true
|
||||||
|
WildCardOmitPattern = *_STATUS
|
||||||
|
WildCardOmitPattern = DB_VARSUMMARY
|
||||||
|
WildCardOmitPattern = DB_RWSUMMARY
|
||||||
|
WildCardExclusionLog = true
|
||||||
|
}
|
||||||
|
ProcessConfig = pFaultHandle
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
62
log/lauv-150/2023-11-24/165341/auvData.mdat
Normal file
62
log/lauv-150/2023-11-24/165341/auvData.mdat
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
stamp,mode,refLon,refLat,refAlt,curLon,curLat,curAlt,north,east,depth,roll,pitch,yaw,insVX,insVY,insVZ,dvlVX,dvlVY,dvlVZ,height,thrust,light,load,dvl,iridium,batteryVol,batteryLev,batteryTemp
|
||||||
|
1700816027.452301,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816028.453864,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816029.455264,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816030.456581,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816031.457907,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816032.459370,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816033.461214,255,-90.330399,50.825298,0.000000,-70.330406,43.825291,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,221.265686,-0.015959,0.001138,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816034.463172,255,-90.330399,50.825298,0.000000,-70.330421,43.825283,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,256.499908,-0.013856,-0.015647,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816035.464781,255,-90.330399,50.825298,0.000000,-70.330452,43.825283,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,279.698303,0.005554,-0.023349,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816036.466592,255,-90.330399,50.825298,0.000000,-70.330482,43.825291,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,294.955994,-0.001521,0.025955,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816037.468631,255,-90.330399,50.825298,0.000000,-70.330513,43.825302,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,305.117188,-0.024714,-0.011832,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816038.470937,255,-90.330399,50.825298,0.000000,-70.330536,43.825317,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,311.726898,-0.027891,0.004797,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816039.472921,255,-90.330399,50.825298,0.000000,-70.330566,43.825333,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,316.019745,0.001756,-0.028847,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816040.475010,255,-90.330399,50.825298,0.000000,-70.330589,43.825356,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,319.103973,-0.000783,0.029190,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816041.477071,255,-90.330399,50.825298,0.000000,-70.330612,43.825375,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,321.166321,0.025067,-0.015554,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816042.479474,255,-90.330399,50.825298,0.000000,-70.330635,43.825394,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,322.507629,-0.011150,-0.027528,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816043.481484,255,-90.330399,50.825298,0.000000,-70.330658,43.825417,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,323.379303,-0.028673,-0.008119,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816044.483527,255,-90.330399,50.825298,0.000000,-70.330681,43.825436,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,323.946442,-0.028419,0.009295,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816045.485677,255,-90.330399,50.825298,0.000000,-70.330704,43.825459,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.315002,-0.022853,0.019281,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816046.487692,255,-90.330399,50.825298,0.000000,-70.330727,43.825481,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.554688,-0.017366,0.024340,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816047.489423,255,-90.330399,50.825298,0.000000,-70.330750,43.825500,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.710480,-0.013240,0.026920,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816048.491376,255,-90.330399,50.825298,0.000000,-70.330772,43.825523,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.811707,-0.010326,0.028167,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816049.493341,255,-90.330399,50.825298,0.000000,-70.330795,43.825546,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.877563,-0.008367,0.028810,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816050.495084,255,-90.330399,50.825298,0.000000,-70.330818,43.825569,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.920380,-0.007071,0.029155,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816051.496895,255,-90.330399,50.825298,0.000000,-70.330841,43.825588,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.948242,-0.006221,0.029348,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816052.499007,255,-90.330399,50.825298,0.000000,-70.330856,43.825611,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.966370,-0.005665,0.029460,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816053.500951,255,-90.330399,50.825298,0.000000,-70.330879,43.825634,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.978119,-0.005302,0.029528,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816054.502858,255,-90.330399,50.825298,0.000000,-70.330902,43.825657,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.985779,-0.005067,0.029569,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816055.504794,255,-90.330399,50.825298,0.000000,-70.330925,43.825676,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.990753,-0.004912,0.029595,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816056.506864,255,-90.330399,50.825298,0.000000,-70.330948,43.825699,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.993988,-0.004813,0.029611,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816057.508876,255,-90.330399,50.825298,0.000000,-70.330971,43.825722,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.996094,-0.004748,0.029622,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816058.510177,255,-90.330399,50.825298,0.000000,-70.330994,43.825745,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.997467,-0.004705,0.029629,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816059.511894,255,-90.330399,50.825298,0.000000,-70.331017,43.825764,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.998352,-0.004678,0.029633,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816060.513713,255,-90.330399,50.825298,0.000000,-70.331032,43.825787,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.998932,-0.004660,0.029636,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816061.515361,255,-90.330399,50.825298,0.000000,-70.331055,43.825809,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999298,-0.004648,0.029638,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816062.517724,255,-90.330399,50.825298,0.000000,-70.331078,43.825832,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999542,-0.004641,0.029639,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816063.519399,255,-90.330399,50.825298,0.000000,-70.331100,43.825851,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999695,-0.004636,0.029640,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816064.521321,255,-90.330399,50.825298,0.000000,-70.331123,43.825874,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999817,-0.004633,0.029640,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816065.523155,255,-90.330399,50.825298,0.000000,-70.331146,43.825897,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999878,-0.004630,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816066.525113,255,-90.330399,50.825298,0.000000,-70.331169,43.825920,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999908,-0.004629,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816067.527088,255,-90.330399,50.825298,0.000000,-70.331192,43.825939,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999939,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816068.528931,255,-90.330399,50.825298,0.000000,-70.331207,43.825962,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999969,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816069.530942,255,-90.330399,50.825298,0.000000,-70.331230,43.825985,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999969,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816070.533259,255,-90.330399,50.825298,0.000000,-70.331253,43.826008,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816071.535545,255,-90.330399,50.825298,0.000000,-70.331276,43.826027,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816072.537694,255,-90.330399,50.825298,0.000000,-70.331299,43.826050,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816073.539486,255,-90.330399,50.825298,0.000000,-70.331322,43.826073,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816074.541668,255,-90.330399,50.825298,0.000000,-70.331345,43.826096,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816075.543549,255,-90.330399,50.825298,0.000000,-70.331367,43.826115,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816076.545451,255,-90.330399,50.825298,0.000000,-70.331383,43.826138,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816077.546880,255,-90.330399,50.825298,0.000000,-70.331406,43.826157,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816078.548941,255,-90.330399,50.825298,0.000000,-70.331429,43.826180,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816079.550498,255,-90.330399,50.825298,0.000000,-70.331451,43.826202,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816080.552557,255,-90.330399,50.825298,0.000000,-70.331474,43.826225,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816081.554820,255,-90.330399,50.825298,0.000000,-70.331497,43.826244,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816082.556979,255,-90.330399,50.825298,0.000000,-70.331512,43.826267,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816083.559367,255,-90.330399,50.825298,0.000000,-70.331535,43.826290,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.193695,0.000103,0.029900,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816084.561927,255,-90.330399,50.825298,0.000000,-70.331558,43.826313,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.475800,0.008774,0.028584,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816085.564134,255,-90.330399,50.825298,0.000000,-70.331581,43.826332,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.659149,0.014102,0.026479,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816086.565876,255,-90.330399,50.825298,0.000000,-70.331604,43.826355,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.758423,0.016744,0.024288,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816087.567839,255,-90.330399,50.825298,0.000000,-70.331619,43.826389,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,352.651459,0.019075,0.039317,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
1
log/lauv-150/2023-11-24/165341/clientCommand.txt
Normal file
1
log/lauv-150/2023-11-24/165341/clientCommand.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
PlanControl:1700816031.985205,east_waypt_survey,start
|
||||||
1
log/lauv-150/2023-11-24/165341/faultLog.txt
Normal file
1
log/lauv-150/2023-11-24/165341/faultLog.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
stamp,level,type,id,first,source
|
||||||
451
log/lauv-150/2023-11-24/165341/missionHistory.txt
Normal file
451
log/lauv-150/2023-11-24/165341/missionHistory.txt
Normal file
@@ -0,0 +1,451 @@
|
|||||||
|
stamp,state,taskName,destName,errorCode
|
||||||
|
1700816032.208877,3,east_waypt_survey,,0
|
||||||
|
1700816032.209008,3,east_waypt_survey,,0
|
||||||
|
1700816032.459245,3,east_waypt_survey,station_1,0
|
||||||
|
1700816032.459485,3,east_waypt_survey,station_1,0
|
||||||
|
1700816032.709793,3,east_waypt_survey,station_1,0
|
||||||
|
1700816032.709916,3,east_waypt_survey,station_1,0
|
||||||
|
1700816032.960172,3,east_waypt_survey,station_1,0
|
||||||
|
1700816032.960243,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.210579,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.210741,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.461092,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.461268,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.711654,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.711850,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.962186,3,east_waypt_survey,station_1,0
|
||||||
|
1700816033.962254,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.212517,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.212695,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.463044,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.463241,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.754383,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.754540,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.963804,3,east_waypt_survey,station_1,0
|
||||||
|
1700816034.963877,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.214206,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.214365,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.464652,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.464841,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.715239,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.715382,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.965593,3,east_waypt_survey,station_1,0
|
||||||
|
1700816035.965625,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.215854,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.216009,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.466402,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.466688,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.717018,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.717189,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.967522,3,east_waypt_survey,station_1,0
|
||||||
|
1700816036.967596,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.217925,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.218168,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.468499,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.468715,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.719129,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.719314,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.969713,3,east_waypt_survey,station_1,0
|
||||||
|
1700816037.969809,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.220210,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.220398,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.470784,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.471023,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.721386,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.721547,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.971869,3,east_waypt_survey,station_1,0
|
||||||
|
1700816038.971938,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.222234,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.222428,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.472795,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.472981,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.723322,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.723522,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.973940,3,east_waypt_survey,station_1,0
|
||||||
|
1700816039.974023,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.224345,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.224512,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.474886,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.475065,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.725486,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.725653,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.975918,3,east_waypt_survey,station_1,0
|
||||||
|
1700816040.975992,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.226343,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.226548,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.476948,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.477126,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.727650,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.727854,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.978300,3,east_waypt_survey,station_1,0
|
||||||
|
1700816041.978374,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.228716,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.228943,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.479307,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.479555,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.729978,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.730143,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.980438,3,east_waypt_survey,station_1,0
|
||||||
|
1700816042.980515,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.230907,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.231108,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.481364,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.481544,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.731938,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.732125,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.982541,3,east_waypt_survey,station_1,0
|
||||||
|
1700816043.982620,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.232929,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.233097,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.483370,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.483591,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.733981,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.734152,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.984458,3,east_waypt_survey,station_1,0
|
||||||
|
1700816044.984537,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.234943,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.235157,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.485551,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.485731,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.736048,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.736220,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.986640,3,east_waypt_survey,station_1,0
|
||||||
|
1700816045.986722,3,east_waypt_survey,station_1,0
|
||||||
|
1700816046.237011,3,east_waypt_survey,station_1,0
|
||||||
|
1700816046.237198,3,east_waypt_survey,station_1,0
|
||||||
|
1700816046.487511,3,east_waypt_survey,station_1,0
|
||||||
|
1700816046.487786,3,east_waypt_survey,station_1,0
|
||||||
|
1700816046.738158,3,east_waypt_survey,station_1,0
|
||||||
|
1700816046.738411,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.054477,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.054549,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.238882,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.239170,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.489367,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.489444,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.739852,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.740061,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.990340,3,east_waypt_survey,station_1,0
|
||||||
|
1700816047.990433,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.240757,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.240978,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.491253,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.491563,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.741912,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.742069,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.992343,3,east_waypt_survey,station_1,0
|
||||||
|
1700816048.992425,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.242746,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.242989,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.493253,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.493425,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.743751,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.743908,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.994182,3,east_waypt_survey,station_1,0
|
||||||
|
1700816049.994249,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.244547,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.244707,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.494967,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.495234,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.745558,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.745706,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.995970,3,east_waypt_survey,station_1,0
|
||||||
|
1700816050.996041,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.246296,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.246457,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.496800,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.496984,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.747485,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.747684,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.998093,3,east_waypt_survey,station_1,0
|
||||||
|
1700816051.998172,3,east_waypt_survey,station_1,0
|
||||||
|
1700816052.248486,3,east_waypt_survey,station_1,0
|
||||||
|
1700816052.248648,3,east_waypt_survey,station_1,0
|
||||||
|
1700816052.498913,3,east_waypt_survey,station_1,0
|
||||||
|
1700816052.499089,3,east_waypt_survey,station_1,0
|
||||||
|
1700816052.749516,3,east_waypt_survey,station_1,0
|
||||||
|
1700816052.749737,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.000036,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.000094,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.250365,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.250569,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.500852,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.501036,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.751387,3,east_waypt_survey,station_1,0
|
||||||
|
1700816053.751649,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.001928,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.001993,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.252292,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.252497,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.502743,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.502990,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.753304,3,east_waypt_survey,station_1,0
|
||||||
|
1700816054.753525,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.003813,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.003984,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.254289,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.254440,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.504703,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.504925,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.755324,3,east_waypt_survey,station_1,0
|
||||||
|
1700816055.755552,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.005919,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.005997,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.256307,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.256495,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.506764,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.506959,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.757382,3,east_waypt_survey,station_1,0
|
||||||
|
1700816056.757587,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.007940,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.008013,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.258317,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.258483,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.508776,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.508963,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.759254,3,east_waypt_survey,station_1,0
|
||||||
|
1700816057.759323,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.009523,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.009551,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.259725,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.259837,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.510085,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.510260,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.760570,3,east_waypt_survey,station_1,0
|
||||||
|
1700816058.760716,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.010990,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.011060,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.261289,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.261392,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.511785,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.511984,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.762472,3,east_waypt_survey,station_1,0
|
||||||
|
1700816059.762658,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.012899,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.012937,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.263156,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.263229,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.513611,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.513801,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.764103,3,east_waypt_survey,station_1,0
|
||||||
|
1700816060.764267,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.014479,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.014516,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.264817,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.264998,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.515269,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.515450,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.769275,3,east_waypt_survey,station_1,0
|
||||||
|
1700816061.769454,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.016738,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.016827,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.267092,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.267242,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.517593,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.517864,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.768102,3,east_waypt_survey,station_1,0
|
||||||
|
1700816062.768196,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.018409,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.018473,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.268769,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.268964,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.519306,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.519526,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.769963,3,east_waypt_survey,station_1,0
|
||||||
|
1700816063.770164,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.020422,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.020491,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.270789,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.270964,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.521208,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.521436,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.771714,3,east_waypt_survey,station_1,0
|
||||||
|
1700816064.771889,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.022263,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.022339,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.272659,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.272835,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.523070,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.523252,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.773637,3,east_waypt_survey,station_1,0
|
||||||
|
1700816065.773834,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.024163,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.024268,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.274558,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.274759,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.525020,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.525197,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.775556,3,east_waypt_survey,station_1,0
|
||||||
|
1700816066.775723,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.026024,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.026094,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.276391,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.276593,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.526983,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.527183,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.777592,3,east_waypt_survey,station_1,0
|
||||||
|
1700816067.777725,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.027991,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.028067,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.278403,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.278567,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.528826,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.529028,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.779418,3,east_waypt_survey,station_1,0
|
||||||
|
1700816068.779642,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.029914,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.029989,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.280328,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.280494,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.530804,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.531105,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.781601,3,east_waypt_survey,station_1,0
|
||||||
|
1700816069.781778,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.032084,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.032158,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.282557,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.282786,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.533129,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.533378,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.783728,3,east_waypt_survey,station_1,0
|
||||||
|
1700816070.783942,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.034389,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.034498,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.284860,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.285056,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.535430,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.535629,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.786117,3,east_waypt_survey,station_1,0
|
||||||
|
1700816071.786292,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.036619,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.036699,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.287171,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.287379,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.537650,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.537727,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.787998,3,east_waypt_survey,station_1,0
|
||||||
|
1700816072.788181,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.038418,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.038465,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.288763,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.288948,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.539371,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.539574,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.790044,3,east_waypt_survey,station_1,0
|
||||||
|
1700816073.790238,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.040513,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.040586,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.291023,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.291200,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.541573,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.541748,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.792051,3,east_waypt_survey,station_1,0
|
||||||
|
1700816074.792227,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.042626,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.042698,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.292997,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.293180,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.543440,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.543635,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.794077,3,east_waypt_survey,station_1,0
|
||||||
|
1700816075.794245,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.044511,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.044574,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.294973,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.295133,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.545408,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.545478,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.795700,3,east_waypt_survey,station_1,0
|
||||||
|
1700816076.795807,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.046128,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.046194,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.296430,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.296524,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.546815,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.546952,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.797365,3,east_waypt_survey,station_1,0
|
||||||
|
1700816077.797547,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.047834,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.047913,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.298332,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.298519,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.548836,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.549071,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.799363,3,east_waypt_survey,station_1,0
|
||||||
|
1700816078.799483,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.049739,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.049805,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.300014,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.300100,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.550389,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.550616,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.800986,3,east_waypt_survey,station_1,0
|
||||||
|
1700816079.801166,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.051514,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.051594,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.301932,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.302114,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.552418,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.552715,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.803106,3,east_waypt_survey,station_1,0
|
||||||
|
1700816080.803303,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.053588,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.053657,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.304038,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.304277,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.554711,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.554910,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.805324,3,east_waypt_survey,station_1,0
|
||||||
|
1700816081.805528,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.055838,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.055917,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.306331,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.306531,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.556876,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.557070,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.807561,3,east_waypt_survey,station_1,0
|
||||||
|
1700816082.807743,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.058154,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.058260,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.308611,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.308806,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.559237,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.559519,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.810050,3,east_waypt_survey,station_1,0
|
||||||
|
1700816083.810269,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.060612,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.060716,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.311167,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.311391,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.561819,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.562016,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.812393,3,east_waypt_survey,station_1,0
|
||||||
|
1700816084.812579,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.063035,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.063119,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.313567,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.313751,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.564039,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.564216,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.814542,3,east_waypt_survey,station_1,0
|
||||||
|
1700816085.814643,3,east_waypt_survey,station_1,0
|
||||||
|
1700816086.064897,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.064967,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.315306,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.315453,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.565798,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.565946,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.816338,3,east_waypt_survey,station_2,0
|
||||||
|
1700816086.816560,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.066878,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.066960,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.317274,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.317479,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.567740,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.567928,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.818408,3,east_waypt_survey,station_2,0
|
||||||
|
1700816087.818599,3,east_waypt_survey,station_2,0
|
||||||
|
1700816088.069017,3,east_waypt_survey,station_2,0
|
||||||
|
1700816088.069118,3,east_waypt_survey,station_2,0
|
||||||
|
1700816088.319436,3,east_waypt_survey,station_2,0
|
||||||
|
1700816088.319644,3,east_waypt_survey,station_2,0
|
||||||
676
log/lauv-150/2023-11-24/165341/motionControl.txt
Normal file
676
log/lauv-150/2023-11-24/165341/motionControl.txt
Normal file
@@ -0,0 +1,676 @@
|
|||||||
|
stamp,desired_heading,desired_speed,desired_depth
|
||||||
|
1700816021.444746,0.000000,0.000000,0.000000
|
||||||
|
1700816021.444781,0.000000,0.000000,0.000000
|
||||||
|
1700816021.444789,0.000000,0.000000,0.000000
|
||||||
|
1700816021.444797,0.000000,0.000000,0.000000
|
||||||
|
1700816021.444805,0.000000,0.000000,0.000000
|
||||||
|
1700816021.444812,0.000000,0.000000,0.000000
|
||||||
|
1700816032.459279,0.000000,0.000000,10.000000
|
||||||
|
1700816032.459291,0.000000,3.000000,10.000000
|
||||||
|
1700816032.459300,321.000000,3.000000,10.000000
|
||||||
|
1700816032.709816,321.000000,3.000000,10.000000
|
||||||
|
1700816032.709824,321.000000,3.000000,10.000000
|
||||||
|
1700816032.709829,321.000000,3.000000,10.000000
|
||||||
|
1700816032.960202,321.000000,3.000000,10.000000
|
||||||
|
1700816032.960213,321.000000,3.000000,10.000000
|
||||||
|
1700816032.960222,322.000000,3.000000,10.000000
|
||||||
|
1700816033.210611,322.000000,3.000000,10.000000
|
||||||
|
1700816033.210622,322.000000,3.000000,10.000000
|
||||||
|
1700816033.210631,322.000000,3.000000,10.000000
|
||||||
|
1700816033.461126,322.000000,3.000000,10.000000
|
||||||
|
1700816033.461137,322.000000,3.000000,10.000000
|
||||||
|
1700816033.461145,322.000000,3.000000,10.000000
|
||||||
|
1700816033.711696,322.000000,3.000000,10.000000
|
||||||
|
1700816033.711714,322.000000,3.000000,10.000000
|
||||||
|
1700816033.711728,322.000000,3.000000,10.000000
|
||||||
|
1700816033.962214,322.000000,3.000000,10.000000
|
||||||
|
1700816033.962225,322.000000,3.000000,10.000000
|
||||||
|
1700816033.962233,322.000000,3.000000,10.000000
|
||||||
|
1700816034.212545,322.000000,3.000000,10.000000
|
||||||
|
1700816034.212556,322.000000,3.000000,10.000000
|
||||||
|
1700816034.212564,322.000000,3.000000,10.000000
|
||||||
|
1700816034.463077,322.000000,3.000000,10.000000
|
||||||
|
1700816034.463088,322.000000,3.000000,10.000000
|
||||||
|
1700816034.463099,323.000000,3.000000,10.000000
|
||||||
|
1700816034.754414,323.000000,3.000000,10.000000
|
||||||
|
1700816034.754425,323.000000,3.000000,10.000000
|
||||||
|
1700816034.754432,323.000000,3.000000,10.000000
|
||||||
|
1700816034.963834,323.000000,3.000000,10.000000
|
||||||
|
1700816034.963846,323.000000,3.000000,10.000000
|
||||||
|
1700816034.963855,323.000000,3.000000,10.000000
|
||||||
|
1700816035.214238,323.000000,3.000000,10.000000
|
||||||
|
1700816035.214248,323.000000,3.000000,10.000000
|
||||||
|
1700816035.214257,323.000000,3.000000,10.000000
|
||||||
|
1700816035.464690,323.000000,3.000000,10.000000
|
||||||
|
1700816035.464702,323.000000,3.000000,10.000000
|
||||||
|
1700816035.464711,323.000000,3.000000,10.000000
|
||||||
|
1700816035.715286,323.000000,3.000000,10.000000
|
||||||
|
1700816035.715290,323.000000,3.000000,10.000000
|
||||||
|
1700816035.715294,323.000000,3.000000,10.000000
|
||||||
|
1700816035.965608,323.000000,3.000000,10.000000
|
||||||
|
1700816035.965612,323.000000,3.000000,10.000000
|
||||||
|
1700816035.965616,324.000000,3.000000,10.000000
|
||||||
|
1700816036.215881,324.000000,3.000000,10.000000
|
||||||
|
1700816036.215892,324.000000,3.000000,10.000000
|
||||||
|
1700816036.215901,324.000000,3.000000,10.000000
|
||||||
|
1700816036.466451,324.000000,3.000000,10.000000
|
||||||
|
1700816036.466468,324.000000,3.000000,10.000000
|
||||||
|
1700816036.466481,324.000000,3.000000,10.000000
|
||||||
|
1700816036.717051,324.000000,3.000000,10.000000
|
||||||
|
1700816036.717063,324.000000,3.000000,10.000000
|
||||||
|
1700816036.717072,324.000000,3.000000,10.000000
|
||||||
|
1700816036.967553,324.000000,3.000000,10.000000
|
||||||
|
1700816036.967565,324.000000,3.000000,10.000000
|
||||||
|
1700816036.967574,324.000000,3.000000,10.000000
|
||||||
|
1700816037.217969,324.000000,3.000000,10.000000
|
||||||
|
1700816037.217989,324.000000,3.000000,10.000000
|
||||||
|
1700816037.218004,324.000000,3.000000,10.000000
|
||||||
|
1700816037.468538,324.000000,3.000000,10.000000
|
||||||
|
1700816037.468549,324.000000,3.000000,10.000000
|
||||||
|
1700816037.468559,324.000000,3.000000,10.000000
|
||||||
|
1700816037.719160,324.000000,3.000000,10.000000
|
||||||
|
1700816037.719170,324.000000,3.000000,10.000000
|
||||||
|
1700816037.719179,324.000000,3.000000,10.000000
|
||||||
|
1700816037.969751,324.000000,3.000000,10.000000
|
||||||
|
1700816037.969767,324.000000,3.000000,10.000000
|
||||||
|
1700816037.969779,324.000000,3.000000,10.000000
|
||||||
|
1700816038.220244,324.000000,3.000000,10.000000
|
||||||
|
1700816038.220255,324.000000,3.000000,10.000000
|
||||||
|
1700816038.220263,324.000000,3.000000,10.000000
|
||||||
|
1700816038.470819,324.000000,3.000000,10.000000
|
||||||
|
1700816038.470830,324.000000,3.000000,10.000000
|
||||||
|
1700816038.470838,324.000000,3.000000,10.000000
|
||||||
|
1700816038.721418,324.000000,3.000000,10.000000
|
||||||
|
1700816038.721428,324.000000,3.000000,10.000000
|
||||||
|
1700816038.721436,324.000000,3.000000,10.000000
|
||||||
|
1700816038.971899,324.000000,3.000000,10.000000
|
||||||
|
1700816038.971909,324.000000,3.000000,10.000000
|
||||||
|
1700816038.971917,324.000000,3.000000,10.000000
|
||||||
|
1700816039.222275,324.000000,3.000000,10.000000
|
||||||
|
1700816039.222287,324.000000,3.000000,10.000000
|
||||||
|
1700816039.222296,324.000000,3.000000,10.000000
|
||||||
|
1700816039.472829,324.000000,3.000000,10.000000
|
||||||
|
1700816039.472841,324.000000,3.000000,10.000000
|
||||||
|
1700816039.472850,325.000000,3.000000,10.000000
|
||||||
|
1700816039.723354,325.000000,3.000000,10.000000
|
||||||
|
1700816039.723364,325.000000,3.000000,10.000000
|
||||||
|
1700816039.723372,325.000000,3.000000,10.000000
|
||||||
|
1700816039.973979,325.000000,3.000000,10.000000
|
||||||
|
1700816039.973991,325.000000,3.000000,10.000000
|
||||||
|
1700816039.974000,325.000000,3.000000,10.000000
|
||||||
|
1700816040.224378,325.000000,3.000000,10.000000
|
||||||
|
1700816040.224390,325.000000,3.000000,10.000000
|
||||||
|
1700816040.224399,325.000000,3.000000,10.000000
|
||||||
|
1700816040.474922,325.000000,3.000000,10.000000
|
||||||
|
1700816040.474932,325.000000,3.000000,10.000000
|
||||||
|
1700816040.474941,325.000000,3.000000,10.000000
|
||||||
|
1700816040.725522,325.000000,3.000000,10.000000
|
||||||
|
1700816040.725533,325.000000,3.000000,10.000000
|
||||||
|
1700816040.725541,325.000000,3.000000,10.000000
|
||||||
|
1700816040.975952,325.000000,3.000000,10.000000
|
||||||
|
1700816040.975964,325.000000,3.000000,10.000000
|
||||||
|
1700816040.975972,325.000000,3.000000,10.000000
|
||||||
|
1700816041.226379,325.000000,3.000000,10.000000
|
||||||
|
1700816041.226390,325.000000,3.000000,10.000000
|
||||||
|
1700816041.226399,325.000000,3.000000,10.000000
|
||||||
|
1700816041.476987,325.000000,3.000000,10.000000
|
||||||
|
1700816041.476997,325.000000,3.000000,10.000000
|
||||||
|
1700816041.477006,325.000000,3.000000,10.000000
|
||||||
|
1700816041.727688,325.000000,3.000000,10.000000
|
||||||
|
1700816041.727699,325.000000,3.000000,10.000000
|
||||||
|
1700816041.727710,325.000000,3.000000,10.000000
|
||||||
|
1700816041.978334,325.000000,3.000000,10.000000
|
||||||
|
1700816041.978345,325.000000,3.000000,10.000000
|
||||||
|
1700816041.978353,325.000000,3.000000,10.000000
|
||||||
|
1700816042.228754,325.000000,3.000000,10.000000
|
||||||
|
1700816042.228771,325.000000,3.000000,10.000000
|
||||||
|
1700816042.228785,325.000000,3.000000,10.000000
|
||||||
|
1700816042.479341,325.000000,3.000000,10.000000
|
||||||
|
1700816042.479352,325.000000,3.000000,10.000000
|
||||||
|
1700816042.479361,325.000000,3.000000,10.000000
|
||||||
|
1700816042.730012,325.000000,3.000000,10.000000
|
||||||
|
1700816042.730023,325.000000,3.000000,10.000000
|
||||||
|
1700816042.730031,325.000000,3.000000,10.000000
|
||||||
|
1700816042.980473,325.000000,3.000000,10.000000
|
||||||
|
1700816042.980484,325.000000,3.000000,10.000000
|
||||||
|
1700816042.980493,325.000000,3.000000,10.000000
|
||||||
|
1700816043.230942,325.000000,3.000000,10.000000
|
||||||
|
1700816043.230954,325.000000,3.000000,10.000000
|
||||||
|
1700816043.230963,325.000000,3.000000,10.000000
|
||||||
|
1700816043.481395,325.000000,3.000000,10.000000
|
||||||
|
1700816043.481406,325.000000,3.000000,10.000000
|
||||||
|
1700816043.481416,325.000000,3.000000,10.000000
|
||||||
|
1700816043.731979,325.000000,3.000000,10.000000
|
||||||
|
1700816043.731991,325.000000,3.000000,10.000000
|
||||||
|
1700816043.732001,325.000000,3.000000,10.000000
|
||||||
|
1700816043.982577,325.000000,3.000000,10.000000
|
||||||
|
1700816043.982589,325.000000,3.000000,10.000000
|
||||||
|
1700816043.982598,325.000000,3.000000,10.000000
|
||||||
|
1700816044.232961,325.000000,3.000000,10.000000
|
||||||
|
1700816044.232973,325.000000,3.000000,10.000000
|
||||||
|
1700816044.232982,325.000000,3.000000,10.000000
|
||||||
|
1700816044.483407,325.000000,3.000000,10.000000
|
||||||
|
1700816044.483419,325.000000,3.000000,10.000000
|
||||||
|
1700816044.483428,325.000000,3.000000,10.000000
|
||||||
|
1700816044.734015,325.000000,3.000000,10.000000
|
||||||
|
1700816044.734026,325.000000,3.000000,10.000000
|
||||||
|
1700816044.734035,325.000000,3.000000,10.000000
|
||||||
|
1700816044.984496,325.000000,3.000000,10.000000
|
||||||
|
1700816044.984507,325.000000,3.000000,10.000000
|
||||||
|
1700816044.984516,325.000000,3.000000,10.000000
|
||||||
|
1700816045.234981,325.000000,3.000000,10.000000
|
||||||
|
1700816045.234992,325.000000,3.000000,10.000000
|
||||||
|
1700816045.235001,325.000000,3.000000,10.000000
|
||||||
|
1700816045.485591,325.000000,3.000000,10.000000
|
||||||
|
1700816045.485602,325.000000,3.000000,10.000000
|
||||||
|
1700816045.485611,325.000000,3.000000,10.000000
|
||||||
|
1700816045.736084,325.000000,3.000000,10.000000
|
||||||
|
1700816045.736096,325.000000,3.000000,10.000000
|
||||||
|
1700816045.736105,325.000000,3.000000,10.000000
|
||||||
|
1700816045.986680,325.000000,3.000000,10.000000
|
||||||
|
1700816045.986692,325.000000,3.000000,10.000000
|
||||||
|
1700816045.986700,325.000000,3.000000,10.000000
|
||||||
|
1700816046.237046,325.000000,3.000000,10.000000
|
||||||
|
1700816046.237058,325.000000,3.000000,10.000000
|
||||||
|
1700816046.237068,325.000000,3.000000,10.000000
|
||||||
|
1700816046.487552,325.000000,3.000000,10.000000
|
||||||
|
1700816046.487568,325.000000,3.000000,10.000000
|
||||||
|
1700816046.487583,325.000000,3.000000,10.000000
|
||||||
|
1700816046.738198,325.000000,3.000000,10.000000
|
||||||
|
1700816046.738214,325.000000,3.000000,10.000000
|
||||||
|
1700816046.738229,325.000000,3.000000,10.000000
|
||||||
|
1700816047.054509,325.000000,3.000000,10.000000
|
||||||
|
1700816047.054520,325.000000,3.000000,10.000000
|
||||||
|
1700816047.054529,325.000000,3.000000,10.000000
|
||||||
|
1700816047.238931,325.000000,3.000000,10.000000
|
||||||
|
1700816047.238947,325.000000,3.000000,10.000000
|
||||||
|
1700816047.238959,325.000000,3.000000,10.000000
|
||||||
|
1700816047.489383,325.000000,3.000000,10.000000
|
||||||
|
1700816047.489391,325.000000,3.000000,10.000000
|
||||||
|
1700816047.489395,325.000000,3.000000,10.000000
|
||||||
|
1700816047.739886,325.000000,3.000000,10.000000
|
||||||
|
1700816047.739897,325.000000,3.000000,10.000000
|
||||||
|
1700816047.739906,325.000000,3.000000,10.000000
|
||||||
|
1700816047.990371,325.000000,3.000000,10.000000
|
||||||
|
1700816047.990386,325.000000,3.000000,10.000000
|
||||||
|
1700816047.990399,325.000000,3.000000,10.000000
|
||||||
|
1700816048.240792,325.000000,3.000000,10.000000
|
||||||
|
1700816048.240807,325.000000,3.000000,10.000000
|
||||||
|
1700816048.240821,325.000000,3.000000,10.000000
|
||||||
|
1700816048.491485,325.000000,3.000000,10.000000
|
||||||
|
1700816048.491507,325.000000,3.000000,10.000000
|
||||||
|
1700816048.491523,325.000000,3.000000,10.000000
|
||||||
|
1700816048.741943,325.000000,3.000000,10.000000
|
||||||
|
1700816048.741954,325.000000,3.000000,10.000000
|
||||||
|
1700816048.741962,325.000000,3.000000,10.000000
|
||||||
|
1700816048.992371,325.000000,3.000000,10.000000
|
||||||
|
1700816048.992382,325.000000,3.000000,10.000000
|
||||||
|
1700816048.992395,325.000000,3.000000,10.000000
|
||||||
|
1700816049.242791,325.000000,3.000000,10.000000
|
||||||
|
1700816049.242808,325.000000,3.000000,10.000000
|
||||||
|
1700816049.242821,325.000000,3.000000,10.000000
|
||||||
|
1700816049.493388,325.000000,3.000000,10.000000
|
||||||
|
1700816049.493397,325.000000,3.000000,10.000000
|
||||||
|
1700816049.493405,325.000000,3.000000,10.000000
|
||||||
|
1700816049.743781,325.000000,3.000000,10.000000
|
||||||
|
1700816049.743792,325.000000,3.000000,10.000000
|
||||||
|
1700816049.743800,325.000000,3.000000,10.000000
|
||||||
|
1700816049.994209,325.000000,3.000000,10.000000
|
||||||
|
1700816049.994220,325.000000,3.000000,10.000000
|
||||||
|
1700816049.994229,325.000000,3.000000,10.000000
|
||||||
|
1700816050.244578,325.000000,3.000000,10.000000
|
||||||
|
1700816050.244588,325.000000,3.000000,10.000000
|
||||||
|
1700816050.244597,325.000000,3.000000,10.000000
|
||||||
|
1700816050.495164,325.000000,3.000000,10.000000
|
||||||
|
1700816050.495180,325.000000,3.000000,10.000000
|
||||||
|
1700816050.495196,325.000000,3.000000,10.000000
|
||||||
|
1700816050.745586,325.000000,3.000000,10.000000
|
||||||
|
1700816050.745597,325.000000,3.000000,10.000000
|
||||||
|
1700816050.745606,325.000000,3.000000,10.000000
|
||||||
|
1700816050.995997,325.000000,3.000000,10.000000
|
||||||
|
1700816050.996009,325.000000,3.000000,10.000000
|
||||||
|
1700816050.996019,325.000000,3.000000,10.000000
|
||||||
|
1700816051.246328,325.000000,3.000000,10.000000
|
||||||
|
1700816051.246338,325.000000,3.000000,10.000000
|
||||||
|
1700816051.246347,325.000000,3.000000,10.000000
|
||||||
|
1700816051.496943,325.000000,3.000000,10.000000
|
||||||
|
1700816051.496953,325.000000,3.000000,10.000000
|
||||||
|
1700816051.496962,325.000000,3.000000,10.000000
|
||||||
|
1700816051.747521,325.000000,3.000000,10.000000
|
||||||
|
1700816051.747532,325.000000,3.000000,10.000000
|
||||||
|
1700816051.747541,325.000000,3.000000,10.000000
|
||||||
|
1700816051.998130,325.000000,3.000000,10.000000
|
||||||
|
1700816051.998141,325.000000,3.000000,10.000000
|
||||||
|
1700816051.998150,325.000000,3.000000,10.000000
|
||||||
|
1700816052.248522,325.000000,3.000000,10.000000
|
||||||
|
1700816052.248532,325.000000,3.000000,10.000000
|
||||||
|
1700816052.248541,325.000000,3.000000,10.000000
|
||||||
|
1700816052.499053,325.000000,3.000000,10.000000
|
||||||
|
1700816052.499062,325.000000,3.000000,10.000000
|
||||||
|
1700816052.499070,325.000000,3.000000,10.000000
|
||||||
|
1700816052.749564,325.000000,3.000000,10.000000
|
||||||
|
1700816052.749580,325.000000,3.000000,10.000000
|
||||||
|
1700816052.749592,325.000000,3.000000,10.000000
|
||||||
|
1700816053.000062,325.000000,3.000000,10.000000
|
||||||
|
1700816053.000071,325.000000,3.000000,10.000000
|
||||||
|
1700816053.000078,325.000000,3.000000,10.000000
|
||||||
|
1700816053.250410,325.000000,3.000000,10.000000
|
||||||
|
1700816053.250420,325.000000,3.000000,10.000000
|
||||||
|
1700816053.250428,325.000000,3.000000,10.000000
|
||||||
|
1700816053.500998,325.000000,3.000000,10.000000
|
||||||
|
1700816053.501008,325.000000,3.000000,10.000000
|
||||||
|
1700816053.501016,325.000000,3.000000,10.000000
|
||||||
|
1700816053.751424,325.000000,3.000000,10.000000
|
||||||
|
1700816053.751444,325.000000,3.000000,10.000000
|
||||||
|
1700816053.751453,325.000000,3.000000,10.000000
|
||||||
|
1700816054.001954,325.000000,3.000000,10.000000
|
||||||
|
1700816054.001965,325.000000,3.000000,10.000000
|
||||||
|
1700816054.001973,325.000000,3.000000,10.000000
|
||||||
|
1700816054.252330,325.000000,3.000000,10.000000
|
||||||
|
1700816054.252342,325.000000,3.000000,10.000000
|
||||||
|
1700816054.252351,325.000000,3.000000,10.000000
|
||||||
|
1700816054.502925,325.000000,3.000000,10.000000
|
||||||
|
1700816054.502941,325.000000,3.000000,10.000000
|
||||||
|
1700816054.502956,325.000000,3.000000,10.000000
|
||||||
|
1700816054.753346,325.000000,3.000000,10.000000
|
||||||
|
1700816054.753361,325.000000,3.000000,10.000000
|
||||||
|
1700816054.753374,325.000000,3.000000,10.000000
|
||||||
|
1700816055.003856,325.000000,3.000000,10.000000
|
||||||
|
1700816055.003931,325.000000,3.000000,10.000000
|
||||||
|
1700816055.003947,325.000000,3.000000,10.000000
|
||||||
|
1700816055.254319,325.000000,3.000000,10.000000
|
||||||
|
1700816055.254331,325.000000,3.000000,10.000000
|
||||||
|
1700816055.254339,325.000000,3.000000,10.000000
|
||||||
|
1700816055.504859,325.000000,3.000000,10.000000
|
||||||
|
1700816055.504875,325.000000,3.000000,10.000000
|
||||||
|
1700816055.504890,325.000000,3.000000,10.000000
|
||||||
|
1700816055.755360,325.000000,3.000000,10.000000
|
||||||
|
1700816055.755370,325.000000,3.000000,10.000000
|
||||||
|
1700816055.755387,325.000000,3.000000,10.000000
|
||||||
|
1700816056.005954,325.000000,3.000000,10.000000
|
||||||
|
1700816056.005966,325.000000,3.000000,10.000000
|
||||||
|
1700816056.005975,325.000000,3.000000,10.000000
|
||||||
|
1700816056.256343,325.000000,3.000000,10.000000
|
||||||
|
1700816056.256353,325.000000,3.000000,10.000000
|
||||||
|
1700816056.256361,325.000000,3.000000,10.000000
|
||||||
|
1700816056.506913,325.000000,3.000000,10.000000
|
||||||
|
1700816056.506923,325.000000,3.000000,10.000000
|
||||||
|
1700816056.506931,325.000000,3.000000,10.000000
|
||||||
|
1700816056.757424,325.000000,3.000000,10.000000
|
||||||
|
1700816056.757436,325.000000,3.000000,10.000000
|
||||||
|
1700816056.757446,325.000000,3.000000,10.000000
|
||||||
|
1700816057.007974,325.000000,3.000000,10.000000
|
||||||
|
1700816057.007985,325.000000,3.000000,10.000000
|
||||||
|
1700816057.007993,325.000000,3.000000,10.000000
|
||||||
|
1700816057.258352,325.000000,3.000000,10.000000
|
||||||
|
1700816057.258363,325.000000,3.000000,10.000000
|
||||||
|
1700816057.258371,325.000000,3.000000,10.000000
|
||||||
|
1700816057.508925,325.000000,3.000000,10.000000
|
||||||
|
1700816057.508935,325.000000,3.000000,10.000000
|
||||||
|
1700816057.508943,325.000000,3.000000,10.000000
|
||||||
|
1700816057.759269,325.000000,3.000000,10.000000
|
||||||
|
1700816057.759273,325.000000,3.000000,10.000000
|
||||||
|
1700816057.759275,325.000000,3.000000,10.000000
|
||||||
|
1700816058.009537,325.000000,3.000000,10.000000
|
||||||
|
1700816058.009541,325.000000,3.000000,10.000000
|
||||||
|
1700816058.009544,325.000000,3.000000,10.000000
|
||||||
|
1700816058.259747,325.000000,3.000000,10.000000
|
||||||
|
1700816058.259752,325.000000,3.000000,10.000000
|
||||||
|
1700816058.259755,325.000000,3.000000,10.000000
|
||||||
|
1700816058.510224,325.000000,3.000000,10.000000
|
||||||
|
1700816058.510234,325.000000,3.000000,10.000000
|
||||||
|
1700816058.510241,325.000000,3.000000,10.000000
|
||||||
|
1700816058.760601,325.000000,3.000000,10.000000
|
||||||
|
1700816058.760611,325.000000,3.000000,10.000000
|
||||||
|
1700816058.760619,325.000000,3.000000,10.000000
|
||||||
|
1700816059.011020,325.000000,3.000000,10.000000
|
||||||
|
1700816059.011031,325.000000,3.000000,10.000000
|
||||||
|
1700816059.011040,325.000000,3.000000,10.000000
|
||||||
|
1700816059.261311,325.000000,3.000000,10.000000
|
||||||
|
1700816059.261316,325.000000,3.000000,10.000000
|
||||||
|
1700816059.261319,325.000000,3.000000,10.000000
|
||||||
|
1700816059.511945,325.000000,3.000000,10.000000
|
||||||
|
1700816059.511955,325.000000,3.000000,10.000000
|
||||||
|
1700816059.511963,325.000000,3.000000,10.000000
|
||||||
|
1700816059.762508,325.000000,3.000000,10.000000
|
||||||
|
1700816059.762518,325.000000,3.000000,10.000000
|
||||||
|
1700816059.762527,325.000000,3.000000,10.000000
|
||||||
|
1700816060.012919,325.000000,3.000000,10.000000
|
||||||
|
1700816060.012924,325.000000,3.000000,10.000000
|
||||||
|
1700816060.012928,325.000000,3.000000,10.000000
|
||||||
|
1700816060.263175,325.000000,3.000000,10.000000
|
||||||
|
1700816060.263179,325.000000,3.000000,10.000000
|
||||||
|
1700816060.263182,325.000000,3.000000,10.000000
|
||||||
|
1700816060.513762,325.000000,3.000000,10.000000
|
||||||
|
1700816060.513772,325.000000,3.000000,10.000000
|
||||||
|
1700816060.513780,325.000000,3.000000,10.000000
|
||||||
|
1700816060.764138,325.000000,3.000000,10.000000
|
||||||
|
1700816060.764148,325.000000,3.000000,10.000000
|
||||||
|
1700816060.764158,325.000000,3.000000,10.000000
|
||||||
|
1700816061.014497,325.000000,3.000000,10.000000
|
||||||
|
1700816061.014502,325.000000,3.000000,10.000000
|
||||||
|
1700816061.014506,325.000000,3.000000,10.000000
|
||||||
|
1700816061.264854,325.000000,3.000000,10.000000
|
||||||
|
1700816061.264866,325.000000,3.000000,10.000000
|
||||||
|
1700816061.264875,325.000000,3.000000,10.000000
|
||||||
|
1700816061.515412,325.000000,3.000000,10.000000
|
||||||
|
1700816061.515421,325.000000,3.000000,10.000000
|
||||||
|
1700816061.515430,325.000000,3.000000,10.000000
|
||||||
|
1700816061.769312,325.000000,3.000000,10.000000
|
||||||
|
1700816061.769323,325.000000,3.000000,10.000000
|
||||||
|
1700816061.769333,325.000000,3.000000,10.000000
|
||||||
|
1700816062.016774,325.000000,3.000000,10.000000
|
||||||
|
1700816062.016785,325.000000,3.000000,10.000000
|
||||||
|
1700816062.016805,325.000000,3.000000,10.000000
|
||||||
|
1700816062.267121,325.000000,3.000000,10.000000
|
||||||
|
1700816062.267131,325.000000,3.000000,10.000000
|
||||||
|
1700816062.267138,325.000000,3.000000,10.000000
|
||||||
|
1700816062.517793,325.000000,3.000000,10.000000
|
||||||
|
1700816062.517811,325.000000,3.000000,10.000000
|
||||||
|
1700816062.517827,325.000000,3.000000,10.000000
|
||||||
|
1700816062.768133,325.000000,3.000000,10.000000
|
||||||
|
1700816062.768138,325.000000,3.000000,10.000000
|
||||||
|
1700816062.768142,325.000000,3.000000,10.000000
|
||||||
|
1700816063.018435,325.000000,3.000000,10.000000
|
||||||
|
1700816063.018445,325.000000,3.000000,10.000000
|
||||||
|
1700816063.018453,325.000000,3.000000,10.000000
|
||||||
|
1700816063.268807,325.000000,3.000000,10.000000
|
||||||
|
1700816063.268822,325.000000,3.000000,10.000000
|
||||||
|
1700816063.268835,325.000000,3.000000,10.000000
|
||||||
|
1700816063.519471,325.000000,3.000000,10.000000
|
||||||
|
1700816063.519489,325.000000,3.000000,10.000000
|
||||||
|
1700816063.519500,325.000000,3.000000,10.000000
|
||||||
|
1700816063.769996,325.000000,3.000000,10.000000
|
||||||
|
1700816063.770007,325.000000,3.000000,10.000000
|
||||||
|
1700816063.770016,325.000000,3.000000,10.000000
|
||||||
|
1700816064.020453,325.000000,3.000000,10.000000
|
||||||
|
1700816064.020464,325.000000,3.000000,10.000000
|
||||||
|
1700816064.020471,325.000000,3.000000,10.000000
|
||||||
|
1700816064.270827,325.000000,3.000000,10.000000
|
||||||
|
1700816064.270839,325.000000,3.000000,10.000000
|
||||||
|
1700816064.270848,325.000000,3.000000,10.000000
|
||||||
|
1700816064.521371,325.000000,3.000000,10.000000
|
||||||
|
1700816064.521383,325.000000,3.000000,10.000000
|
||||||
|
1700816064.521401,325.000000,3.000000,10.000000
|
||||||
|
1700816064.771743,325.000000,3.000000,10.000000
|
||||||
|
1700816064.771754,325.000000,3.000000,10.000000
|
||||||
|
1700816064.771762,325.000000,3.000000,10.000000
|
||||||
|
1700816065.022295,325.000000,3.000000,10.000000
|
||||||
|
1700816065.022306,325.000000,3.000000,10.000000
|
||||||
|
1700816065.022314,325.000000,3.000000,10.000000
|
||||||
|
1700816065.272688,325.000000,3.000000,10.000000
|
||||||
|
1700816065.272698,325.000000,3.000000,10.000000
|
||||||
|
1700816065.272706,325.000000,3.000000,10.000000
|
||||||
|
1700816065.523202,325.000000,3.000000,10.000000
|
||||||
|
1700816065.523211,325.000000,3.000000,10.000000
|
||||||
|
1700816065.523219,325.000000,3.000000,10.000000
|
||||||
|
1700816065.773670,325.000000,3.000000,10.000000
|
||||||
|
1700816065.773682,325.000000,3.000000,10.000000
|
||||||
|
1700816065.773691,325.000000,3.000000,10.000000
|
||||||
|
1700816066.024199,325.000000,3.000000,10.000000
|
||||||
|
1700816066.024218,325.000000,3.000000,10.000000
|
||||||
|
1700816066.024233,325.000000,3.000000,10.000000
|
||||||
|
1700816066.274590,325.000000,3.000000,10.000000
|
||||||
|
1700816066.274601,325.000000,3.000000,10.000000
|
||||||
|
1700816066.274609,325.000000,3.000000,10.000000
|
||||||
|
1700816066.525160,325.000000,3.000000,10.000000
|
||||||
|
1700816066.525170,325.000000,3.000000,10.000000
|
||||||
|
1700816066.525178,325.000000,3.000000,10.000000
|
||||||
|
1700816066.775592,325.000000,3.000000,10.000000
|
||||||
|
1700816066.775603,325.000000,3.000000,10.000000
|
||||||
|
1700816066.775611,325.000000,3.000000,10.000000
|
||||||
|
1700816067.026055,325.000000,3.000000,10.000000
|
||||||
|
1700816067.026065,325.000000,3.000000,10.000000
|
||||||
|
1700816067.026073,325.000000,3.000000,10.000000
|
||||||
|
1700816067.276427,325.000000,3.000000,10.000000
|
||||||
|
1700816067.276439,325.000000,3.000000,10.000000
|
||||||
|
1700816067.276448,325.000000,3.000000,10.000000
|
||||||
|
1700816067.527138,325.000000,3.000000,10.000000
|
||||||
|
1700816067.527147,325.000000,3.000000,10.000000
|
||||||
|
1700816067.527156,325.000000,3.000000,10.000000
|
||||||
|
1700816067.777615,325.000000,3.000000,10.000000
|
||||||
|
1700816067.777622,325.000000,3.000000,10.000000
|
||||||
|
1700816067.777629,325.000000,3.000000,10.000000
|
||||||
|
1700816068.028024,325.000000,3.000000,10.000000
|
||||||
|
1700816068.028036,325.000000,3.000000,10.000000
|
||||||
|
1700816068.028044,325.000000,3.000000,10.000000
|
||||||
|
1700816068.278438,325.000000,3.000000,10.000000
|
||||||
|
1700816068.278449,325.000000,3.000000,10.000000
|
||||||
|
1700816068.278457,325.000000,3.000000,10.000000
|
||||||
|
1700816068.528976,325.000000,3.000000,10.000000
|
||||||
|
1700816068.528985,325.000000,3.000000,10.000000
|
||||||
|
1700816068.528997,325.000000,3.000000,10.000000
|
||||||
|
1700816068.779475,325.000000,3.000000,10.000000
|
||||||
|
1700816068.779494,325.000000,3.000000,10.000000
|
||||||
|
1700816068.779508,325.000000,3.000000,10.000000
|
||||||
|
1700816069.029946,325.000000,3.000000,10.000000
|
||||||
|
1700816069.029958,325.000000,3.000000,10.000000
|
||||||
|
1700816069.029967,325.000000,3.000000,10.000000
|
||||||
|
1700816069.280365,325.000000,3.000000,10.000000
|
||||||
|
1700816069.280376,325.000000,3.000000,10.000000
|
||||||
|
1700816069.280384,325.000000,3.000000,10.000000
|
||||||
|
1700816069.531021,325.000000,3.000000,10.000000
|
||||||
|
1700816069.531046,325.000000,3.000000,10.000000
|
||||||
|
1700816069.531061,325.000000,3.000000,10.000000
|
||||||
|
1700816069.781636,325.000000,3.000000,10.000000
|
||||||
|
1700816069.781647,325.000000,3.000000,10.000000
|
||||||
|
1700816069.781655,325.000000,3.000000,10.000000
|
||||||
|
1700816070.032118,325.000000,3.000000,10.000000
|
||||||
|
1700816070.032129,325.000000,3.000000,10.000000
|
||||||
|
1700816070.032137,325.000000,3.000000,10.000000
|
||||||
|
1700816070.282598,325.000000,3.000000,10.000000
|
||||||
|
1700816070.282608,325.000000,3.000000,10.000000
|
||||||
|
1700816070.282625,325.000000,3.000000,10.000000
|
||||||
|
1700816070.533321,325.000000,3.000000,10.000000
|
||||||
|
1700816070.533335,325.000000,3.000000,10.000000
|
||||||
|
1700816070.533346,325.000000,3.000000,10.000000
|
||||||
|
1700816070.783767,325.000000,3.000000,10.000000
|
||||||
|
1700816070.783783,325.000000,3.000000,10.000000
|
||||||
|
1700816070.783796,325.000000,3.000000,10.000000
|
||||||
|
1700816071.034435,325.000000,3.000000,10.000000
|
||||||
|
1700816071.034451,325.000000,3.000000,10.000000
|
||||||
|
1700816071.034465,325.000000,3.000000,10.000000
|
||||||
|
1700816071.284898,325.000000,3.000000,10.000000
|
||||||
|
1700816071.284912,325.000000,3.000000,10.000000
|
||||||
|
1700816071.284925,325.000000,3.000000,10.000000
|
||||||
|
1700816071.535593,325.000000,3.000000,10.000000
|
||||||
|
1700816071.535602,325.000000,3.000000,10.000000
|
||||||
|
1700816071.535610,325.000000,3.000000,10.000000
|
||||||
|
1700816071.786158,325.000000,3.000000,10.000000
|
||||||
|
1700816071.786169,325.000000,3.000000,10.000000
|
||||||
|
1700816071.786178,325.000000,3.000000,10.000000
|
||||||
|
1700816072.036656,325.000000,3.000000,10.000000
|
||||||
|
1700816072.036668,325.000000,3.000000,10.000000
|
||||||
|
1700816072.036677,325.000000,3.000000,10.000000
|
||||||
|
1700816072.287214,325.000000,3.000000,10.000000
|
||||||
|
1700816072.287226,325.000000,3.000000,10.000000
|
||||||
|
1700816072.287235,325.000000,3.000000,10.000000
|
||||||
|
1700816072.537712,325.000000,3.000000,10.000000
|
||||||
|
1700816072.537716,325.000000,3.000000,10.000000
|
||||||
|
1700816072.537719,325.000000,3.000000,10.000000
|
||||||
|
1700816072.788030,325.000000,3.000000,10.000000
|
||||||
|
1700816072.788040,325.000000,3.000000,10.000000
|
||||||
|
1700816072.788048,325.000000,3.000000,10.000000
|
||||||
|
1700816073.038438,325.000000,3.000000,10.000000
|
||||||
|
1700816073.038445,325.000000,3.000000,10.000000
|
||||||
|
1700816073.038451,325.000000,3.000000,10.000000
|
||||||
|
1700816073.288801,325.000000,3.000000,10.000000
|
||||||
|
1700816073.288813,325.000000,3.000000,10.000000
|
||||||
|
1700816073.288822,325.000000,3.000000,10.000000
|
||||||
|
1700816073.539535,325.000000,3.000000,10.000000
|
||||||
|
1700816073.539545,325.000000,3.000000,10.000000
|
||||||
|
1700816073.539554,325.000000,3.000000,10.000000
|
||||||
|
1700816073.790084,325.000000,3.000000,10.000000
|
||||||
|
1700816073.790095,325.000000,3.000000,10.000000
|
||||||
|
1700816073.790103,325.000000,3.000000,10.000000
|
||||||
|
1700816074.040544,325.000000,3.000000,10.000000
|
||||||
|
1700816074.040555,325.000000,3.000000,10.000000
|
||||||
|
1700816074.040564,325.000000,3.000000,10.000000
|
||||||
|
1700816074.291062,325.000000,3.000000,10.000000
|
||||||
|
1700816074.291073,325.000000,3.000000,10.000000
|
||||||
|
1700816074.291082,325.000000,3.000000,10.000000
|
||||||
|
1700816074.541712,325.000000,3.000000,10.000000
|
||||||
|
1700816074.541721,325.000000,3.000000,10.000000
|
||||||
|
1700816074.541729,325.000000,3.000000,10.000000
|
||||||
|
1700816074.792087,325.000000,3.000000,10.000000
|
||||||
|
1700816074.792099,325.000000,3.000000,10.000000
|
||||||
|
1700816074.792108,325.000000,3.000000,10.000000
|
||||||
|
1700816075.042659,325.000000,3.000000,10.000000
|
||||||
|
1700816075.042669,325.000000,3.000000,10.000000
|
||||||
|
1700816075.042678,325.000000,3.000000,10.000000
|
||||||
|
1700816075.293030,325.000000,3.000000,10.000000
|
||||||
|
1700816075.293041,325.000000,3.000000,10.000000
|
||||||
|
1700816075.293049,325.000000,3.000000,10.000000
|
||||||
|
1700816075.543599,325.000000,3.000000,10.000000
|
||||||
|
1700816075.543608,325.000000,3.000000,10.000000
|
||||||
|
1700816075.543616,325.000000,3.000000,10.000000
|
||||||
|
1700816075.794116,325.000000,3.000000,10.000000
|
||||||
|
1700816075.794127,325.000000,3.000000,10.000000
|
||||||
|
1700816075.794135,325.000000,3.000000,10.000000
|
||||||
|
1700816076.044537,325.000000,3.000000,10.000000
|
||||||
|
1700816076.044547,325.000000,3.000000,10.000000
|
||||||
|
1700816076.044555,325.000000,3.000000,10.000000
|
||||||
|
1700816076.295007,325.000000,3.000000,10.000000
|
||||||
|
1700816076.295017,325.000000,3.000000,10.000000
|
||||||
|
1700816076.295025,325.000000,3.000000,10.000000
|
||||||
|
1700816076.545466,325.000000,3.000000,10.000000
|
||||||
|
1700816076.545469,325.000000,3.000000,10.000000
|
||||||
|
1700816076.545471,325.000000,3.000000,10.000000
|
||||||
|
1700816076.795725,325.000000,3.000000,10.000000
|
||||||
|
1700816076.795731,325.000000,3.000000,10.000000
|
||||||
|
1700816076.795736,325.000000,3.000000,10.000000
|
||||||
|
1700816077.046155,325.000000,3.000000,10.000000
|
||||||
|
1700816077.046166,325.000000,3.000000,10.000000
|
||||||
|
1700816077.046175,325.000000,3.000000,10.000000
|
||||||
|
1700816077.296450,325.000000,3.000000,10.000000
|
||||||
|
1700816077.296455,325.000000,3.000000,10.000000
|
||||||
|
1700816077.296460,325.000000,3.000000,10.000000
|
||||||
|
1700816077.546914,325.000000,3.000000,10.000000
|
||||||
|
1700816077.546922,325.000000,3.000000,10.000000
|
||||||
|
1700816077.546929,325.000000,3.000000,10.000000
|
||||||
|
1700816077.797399,325.000000,3.000000,10.000000
|
||||||
|
1700816077.797409,325.000000,3.000000,10.000000
|
||||||
|
1700816077.797417,325.000000,3.000000,10.000000
|
||||||
|
1700816078.047868,325.000000,3.000000,10.000000
|
||||||
|
1700816078.047881,325.000000,3.000000,10.000000
|
||||||
|
1700816078.047890,325.000000,3.000000,10.000000
|
||||||
|
1700816078.298367,325.000000,3.000000,10.000000
|
||||||
|
1700816078.298377,325.000000,3.000000,10.000000
|
||||||
|
1700816078.298386,325.000000,3.000000,10.000000
|
||||||
|
1700816078.549007,325.000000,3.000000,10.000000
|
||||||
|
1700816078.549023,325.000000,3.000000,10.000000
|
||||||
|
1700816078.549034,325.000000,3.000000,10.000000
|
||||||
|
1700816078.799382,325.000000,3.000000,10.000000
|
||||||
|
1700816078.799385,325.000000,3.000000,10.000000
|
||||||
|
1700816078.799388,325.000000,3.000000,10.000000
|
||||||
|
1700816079.049766,325.000000,3.000000,10.000000
|
||||||
|
1700816079.049777,325.000000,3.000000,10.000000
|
||||||
|
1700816079.049785,325.000000,3.000000,10.000000
|
||||||
|
1700816079.300029,325.000000,3.000000,10.000000
|
||||||
|
1700816079.300033,325.000000,3.000000,10.000000
|
||||||
|
1700816079.300036,325.000000,3.000000,10.000000
|
||||||
|
1700816079.550552,325.000000,3.000000,10.000000
|
||||||
|
1700816079.550568,325.000000,3.000000,10.000000
|
||||||
|
1700816079.550582,325.000000,3.000000,10.000000
|
||||||
|
1700816079.801020,325.000000,3.000000,10.000000
|
||||||
|
1700816079.801032,325.000000,3.000000,10.000000
|
||||||
|
1700816079.801041,325.000000,3.000000,10.000000
|
||||||
|
1700816080.051550,325.000000,3.000000,10.000000
|
||||||
|
1700816080.051562,325.000000,3.000000,10.000000
|
||||||
|
1700816080.051572,325.000000,3.000000,10.000000
|
||||||
|
1700816080.301965,325.000000,3.000000,10.000000
|
||||||
|
1700816080.301981,325.000000,3.000000,10.000000
|
||||||
|
1700816080.301994,325.000000,3.000000,10.000000
|
||||||
|
1700816080.552642,325.000000,3.000000,10.000000
|
||||||
|
1700816080.552660,325.000000,3.000000,10.000000
|
||||||
|
1700816080.552677,325.000000,3.000000,10.000000
|
||||||
|
1700816080.803137,325.000000,3.000000,10.000000
|
||||||
|
1700816080.803148,325.000000,3.000000,10.000000
|
||||||
|
1700816080.803158,325.000000,3.000000,10.000000
|
||||||
|
1700816081.053615,325.000000,3.000000,10.000000
|
||||||
|
1700816081.053628,325.000000,3.000000,10.000000
|
||||||
|
1700816081.053637,325.000000,3.000000,10.000000
|
||||||
|
1700816081.304075,325.000000,3.000000,10.000000
|
||||||
|
1700816081.304092,325.000000,3.000000,10.000000
|
||||||
|
1700816081.304106,325.000000,3.000000,10.000000
|
||||||
|
1700816081.554872,325.000000,3.000000,10.000000
|
||||||
|
1700816081.554881,325.000000,3.000000,10.000000
|
||||||
|
1700816081.554890,325.000000,3.000000,10.000000
|
||||||
|
1700816081.805366,325.000000,3.000000,10.000000
|
||||||
|
1700816081.805377,325.000000,3.000000,10.000000
|
||||||
|
1700816081.805386,325.000000,3.000000,10.000000
|
||||||
|
1700816082.055875,325.000000,3.000000,10.000000
|
||||||
|
1700816082.055886,325.000000,3.000000,10.000000
|
||||||
|
1700816082.055895,325.000000,3.000000,10.000000
|
||||||
|
1700816082.306369,325.000000,3.000000,10.000000
|
||||||
|
1700816082.306381,325.000000,3.000000,10.000000
|
||||||
|
1700816082.306390,325.000000,3.000000,10.000000
|
||||||
|
1700816082.557029,325.000000,3.000000,10.000000
|
||||||
|
1700816082.557040,325.000000,3.000000,10.000000
|
||||||
|
1700816082.557048,325.000000,3.000000,10.000000
|
||||||
|
1700816082.807602,325.000000,3.000000,10.000000
|
||||||
|
1700816082.807614,325.000000,3.000000,10.000000
|
||||||
|
1700816082.807623,326.000000,3.000000,10.000000
|
||||||
|
1700816083.058199,326.000000,3.000000,10.000000
|
||||||
|
1700816083.058215,326.000000,3.000000,10.000000
|
||||||
|
1700816083.058228,326.000000,3.000000,10.000000
|
||||||
|
1700816083.308648,326.000000,3.000000,10.000000
|
||||||
|
1700816083.308664,326.000000,3.000000,10.000000
|
||||||
|
1700816083.308676,326.000000,3.000000,10.000000
|
||||||
|
1700816083.559426,326.000000,3.000000,10.000000
|
||||||
|
1700816083.559447,326.000000,3.000000,10.000000
|
||||||
|
1700816083.559478,326.000000,3.000000,10.000000
|
||||||
|
1700816083.810092,326.000000,3.000000,10.000000
|
||||||
|
1700816083.810107,326.000000,3.000000,10.000000
|
||||||
|
1700816083.810119,326.000000,3.000000,10.000000
|
||||||
|
1700816084.060652,326.000000,3.000000,10.000000
|
||||||
|
1700816084.060668,326.000000,3.000000,10.000000
|
||||||
|
1700816084.060682,326.000000,3.000000,10.000000
|
||||||
|
1700816084.311210,326.000000,3.000000,10.000000
|
||||||
|
1700816084.311225,326.000000,3.000000,10.000000
|
||||||
|
1700816084.311237,326.000000,3.000000,10.000000
|
||||||
|
1700816084.561977,326.000000,3.000000,10.000000
|
||||||
|
1700816084.561986,326.000000,3.000000,10.000000
|
||||||
|
1700816084.561995,326.000000,3.000000,10.000000
|
||||||
|
1700816084.812434,326.000000,3.000000,10.000000
|
||||||
|
1700816084.812446,326.000000,3.000000,10.000000
|
||||||
|
1700816084.812455,326.000000,3.000000,10.000000
|
||||||
|
1700816085.063076,326.000000,3.000000,10.000000
|
||||||
|
1700816085.063087,326.000000,3.000000,10.000000
|
||||||
|
1700816085.063096,326.000000,3.000000,10.000000
|
||||||
|
1700816085.313616,326.000000,3.000000,10.000000
|
||||||
|
1700816085.313627,326.000000,3.000000,10.000000
|
||||||
|
1700816085.313636,326.000000,3.000000,10.000000
|
||||||
|
1700816085.564179,326.000000,3.000000,10.000000
|
||||||
|
1700816085.564188,326.000000,3.000000,10.000000
|
||||||
|
1700816085.564196,326.000000,3.000000,10.000000
|
||||||
|
1700816086.064928,326.000000,3.000000,0.000000
|
||||||
|
1700816086.064938,326.000000,0.000000,0.000000
|
||||||
|
1700816086.064947,0.000000,0.000000,0.000000
|
||||||
|
1700816086.315334,0.000000,0.000000,8.000000
|
||||||
|
1700816086.315341,0.000000,5.000000,8.000000
|
||||||
|
1700816086.315348,17.000000,5.000000,8.000000
|
||||||
|
1700816086.565913,17.000000,5.000000,8.000000
|
||||||
|
1700816086.565920,17.000000,5.000000,8.000000
|
||||||
|
1700816086.565925,18.000000,5.000000,8.000000
|
||||||
|
1700816086.816377,18.000000,5.000000,8.000000
|
||||||
|
1700816086.816388,18.000000,5.000000,8.000000
|
||||||
|
1700816086.816397,18.000000,5.000000,8.000000
|
||||||
|
1700816087.066920,18.000000,5.000000,8.000000
|
||||||
|
1700816087.066930,18.000000,5.000000,8.000000
|
||||||
|
1700816087.066938,18.000000,5.000000,8.000000
|
||||||
|
1700816087.317311,18.000000,5.000000,8.000000
|
||||||
|
1700816087.317322,18.000000,5.000000,8.000000
|
||||||
|
1700816087.317331,19.000000,5.000000,8.000000
|
||||||
|
1700816087.567888,19.000000,5.000000,8.000000
|
||||||
|
1700816087.567897,19.000000,5.000000,8.000000
|
||||||
|
1700816087.567905,19.000000,5.000000,8.000000
|
||||||
|
1700816087.818444,19.000000,5.000000,8.000000
|
||||||
|
1700816087.818454,19.000000,5.000000,8.000000
|
||||||
|
1700816087.818462,19.000000,5.000000,8.000000
|
||||||
|
1700816088.069058,19.000000,5.000000,8.000000
|
||||||
|
1700816088.069073,19.000000,5.000000,8.000000
|
||||||
|
1700816088.069086,20.000000,5.000000,8.000000
|
||||||
|
1700816088.319483,20.000000,5.000000,8.000000
|
||||||
|
1700816088.319499,20.000000,5.000000,8.000000
|
||||||
|
1700816088.319512,20.000000,5.000000,8.000000
|
||||||
146
log/lauv-150/2023-11-24/165544/auvData.mdat
Normal file
146
log/lauv-150/2023-11-24/165544/auvData.mdat
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
stamp,mode,refLon,refLat,refAlt,curLon,curLat,curAlt,north,east,depth,roll,pitch,yaw,insVX,insVY,insVZ,dvlVX,dvlVY,dvlVZ,height,thrust,light,load,dvl,iridium,batteryVol,batteryLev,batteryTemp
|
||||||
|
1700816146.379559,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816147.380766,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816148.382141,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816149.383717,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816150.385157,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816151.386511,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,180.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816152.388023,255,-90.330399,50.825298,0.000000,-70.330399,43.825298,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,191.636749,-0.007748,0.005322,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816153.389874,255,-90.330399,50.825298,0.000000,-70.330414,43.825287,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,237.135208,0.010877,-0.014592,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816154.391686,255,-90.330399,50.825298,0.000000,-70.330437,43.825283,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.909088,0.018906,-0.011635,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816155.393302,255,-90.330399,50.825298,0.000000,-70.330467,43.825283,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,286.521332,-0.014174,-0.020472,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816156.395069,255,-90.330399,50.825298,0.000000,-70.330498,43.825294,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,299.539276,-0.026598,0.000335,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816157.396561,255,-90.330399,50.825298,0.000000,-70.330521,43.825306,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,308.094788,0.024663,0.012829,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816158.398296,255,-90.330399,50.825298,0.000000,-70.330551,43.825325,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,313.657440,0.016498,0.023362,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816159.400539,255,-90.330399,50.825298,0.000000,-70.330574,43.825340,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,317.356567,-0.027871,-0.008013,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816160.402489,255,-90.330399,50.825298,0.000000,-70.330597,43.825363,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,320.030548,0.023669,0.017271,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816161.404379,255,-90.330399,50.825298,0.000000,-70.330627,43.825382,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,321.768616,0.011160,-0.027416,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816162.406533,255,-90.330399,50.825298,0.000000,-70.330650,43.825401,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,322.899353,-0.021177,-0.020823,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816163.408771,255,-90.330399,50.825298,0.000000,-70.330666,43.825424,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,323.634125,-0.029799,-0.000296,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816164.410375,255,-90.330399,50.825298,0.000000,-70.330688,43.825447,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.111877,-0.026398,0.014041,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816165.412499,255,-90.330399,50.825298,0.000000,-70.330711,43.825466,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.422455,-0.020550,0.021718,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816166.414718,255,-90.330399,50.825298,0.000000,-70.330734,43.825489,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.624481,-0.015548,0.025540,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816167.416968,255,-90.330399,50.825298,0.000000,-70.330757,43.825512,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.755768,-0.011953,0.027516,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816168.419068,255,-90.330399,50.825298,0.000000,-70.330780,43.825531,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.841217,-0.009454,0.028471,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816169.420871,255,-90.330399,50.825298,0.000000,-70.330803,43.825554,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.896729,-0.007789,0.028971,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816170.422729,255,-90.330399,50.825298,0.000000,-70.330826,43.825577,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.932831,-0.006691,0.029244,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816171.424751,255,-90.330399,50.825298,0.000000,-70.330849,43.825600,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.956329,-0.005973,0.029399,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816172.426938,255,-90.330399,50.825298,0.000000,-70.330872,43.825619,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.971588,-0.005504,0.029491,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816173.429263,255,-90.330399,50.825298,0.000000,-70.330887,43.825642,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.981537,-0.005197,0.029546,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816174.431332,255,-90.330399,50.825298,0.000000,-70.330910,43.825665,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.988007,-0.004998,0.029581,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816175.433512,255,-90.330399,50.825298,0.000000,-70.330933,43.825687,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.992188,-0.004868,0.029602,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816176.435635,255,-90.330399,50.825298,0.000000,-70.330956,43.825706,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.994934,-0.004784,0.029616,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816177.437691,255,-90.330399,50.825298,0.000000,-70.330978,43.825729,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.996704,-0.004729,0.029625,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816178.439825,255,-90.330399,50.825298,0.000000,-70.331001,43.825752,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.997864,-0.004693,0.029631,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816179.442120,255,-90.330399,50.825298,0.000000,-70.331024,43.825775,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.998596,-0.004670,0.029634,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816180.444414,255,-90.330399,50.825298,0.000000,-70.331047,43.825794,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999084,-0.004655,0.029637,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816181.446815,255,-90.330399,50.825298,0.000000,-70.331062,43.825817,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999420,-0.004645,0.029638,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816182.448892,255,-90.330399,50.825298,0.000000,-70.331085,43.825840,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999603,-0.004638,0.029639,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816183.451203,255,-90.330399,50.825298,0.000000,-70.331108,43.825863,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999756,-0.004635,0.029640,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816184.453498,255,-90.330399,50.825298,0.000000,-70.331131,43.825882,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999847,-0.004632,0.029640,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816185.455850,255,-90.330399,50.825298,0.000000,-70.331154,43.825905,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999908,-0.004630,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816186.458013,255,-90.330399,50.825298,0.000000,-70.331177,43.825928,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999939,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816187.459989,255,-90.330399,50.825298,0.000000,-70.331200,43.825951,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999969,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816188.461813,255,-90.330399,50.825298,0.000000,-70.331223,43.825970,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999969,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816189.464064,255,-90.330399,50.825298,0.000000,-70.331238,43.825993,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,324.999969,-0.004628,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816190.466256,255,-90.330399,50.825298,0.000000,-70.331261,43.826015,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816191.468462,255,-90.330399,50.825298,0.000000,-70.331284,43.826038,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816192.470446,255,-90.330399,50.825298,0.000000,-70.331306,43.826057,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816193.472662,255,-90.330399,50.825298,0.000000,-70.331329,43.826080,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816194.475011,255,-90.330399,50.825298,0.000000,-70.331352,43.826103,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816195.477210,255,-90.330399,50.825298,0.000000,-70.331375,43.826126,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816196.479518,255,-90.330399,50.825298,0.000000,-70.331398,43.826145,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816197.481640,255,-90.330399,50.825298,0.000000,-70.331421,43.826168,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816198.483315,255,-90.330399,50.825298,0.000000,-70.331436,43.826191,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816199.485810,255,-90.330399,50.825298,0.000000,-70.331459,43.826214,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816200.487822,255,-90.330399,50.825298,0.000000,-70.331482,43.826233,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816201.489977,255,-90.330399,50.825298,0.000000,-70.331505,43.826256,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816202.492038,255,-90.330399,50.825298,0.000000,-70.331528,43.826279,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.000000,-0.004627,0.029641,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816203.494153,255,-90.330399,50.825298,0.000000,-70.331551,43.826302,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.349670,0.004948,0.029488,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816204.496086,255,-90.330399,50.825298,0.000000,-70.331566,43.826321,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.558594,0.011210,0.027719,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816205.498088,255,-90.330399,50.825298,0.000000,-70.331589,43.826344,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,325.712952,0.015565,0.025646,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816206.500261,255,-90.330399,50.825298,0.000000,-70.331612,43.826366,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,338.778748,-0.037468,-0.013718,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816207.502429,255,-90.330399,50.825298,0.000000,-70.331619,43.826405,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,359.321014,0.043001,0.013598,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816208.504813,255,-90.330399,50.825298,0.000000,-70.331619,43.826447,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,9.855519,-0.044786,-0.015827,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816209.507195,255,-90.330399,50.825298,0.000000,-70.331604,43.826488,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,15.100991,-0.027319,-0.040436,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816210.510344,255,-90.330399,50.825298,0.000000,-70.331589,43.826534,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,18.116117,0.028582,0.040169,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816211.262184,255,-90.330399,50.825298,0.000000,-70.331566,43.826576,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,19.607180,0.039486,-0.030182,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816212.514434,255,-90.330399,50.825298,0.000000,-70.331551,43.826618,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.327560,0.007138,-0.049286,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816213.266216,255,-90.330399,50.825298,0.000000,-70.331528,43.826660,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.675314,-0.011400,-0.048580,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816214.268370,255,-90.330399,50.825298,0.000000,-70.331505,43.826702,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.843258,-0.019977,-0.045836,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816215.270633,255,-90.330399,50.825298,0.000000,-70.331482,43.826744,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.924313,-0.023895,-0.043921,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816216.272506,255,-90.330399,50.825298,0.000000,-70.331467,43.826786,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.963461,-0.025721,-0.042877,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816217.274633,255,-90.330399,50.825298,0.000000,-70.331444,43.826832,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.982359,-0.026588,-0.042345,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816218.276625,255,-90.330399,50.825298,0.000000,-70.331421,43.826874,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.991488,-0.027002,-0.042082,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816219.278508,255,-90.330399,50.825298,0.000000,-70.331398,43.826916,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,20.995890,-0.027201,-0.041953,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816220.280847,255,-90.330399,50.825298,0.000000,-70.331375,43.826958,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,21.352226,-0.038470,-0.031625,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816221.282843,255,-90.330399,50.825298,0.000000,-70.331360,43.827000,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,21.687271,-0.047248,-0.016051,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816222.285018,255,-90.330399,50.825298,0.000000,-70.331337,43.827042,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,21.849096,-0.049412,-0.007646,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816223.287042,255,-90.330399,50.825298,0.000000,-70.331314,43.827084,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,21.921659,-0.049580,-0.003451,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816224.289129,255,-90.330399,50.825298,0.000000,-70.331314,43.827126,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,328.747070,0.046277,-0.009290,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816225.291208,255,-90.330399,50.825298,0.000000,-70.331360,43.827152,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,298.013458,0.008081,0.043963,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816226.293120,255,-90.330399,50.825298,0.000000,-70.331413,43.827164,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,282.519775,0.029626,-0.035711,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816227.295298,255,-90.330399,50.825298,0.000000,-70.331474,43.827171,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,274.656647,0.016246,0.045273,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816228.297452,255,-90.330399,50.825298,0.000000,-70.331535,43.827171,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,270.696198,0.034219,-0.035211,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816229.299723,255,-90.330399,50.825298,0.000000,-70.331596,43.827171,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,268.784668,0.015283,0.047187,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816230.301925,255,-90.330399,50.825298,0.000000,-70.331657,43.827168,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,267.861359,-0.031296,0.038738,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816231.303820,255,-90.330399,50.825298,0.000000,-70.331718,43.827168,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,267.415955,-0.045725,0.019980,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816232.305952,255,-90.330399,50.825298,0.000000,-70.331779,43.827164,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,267.200806,-0.049186,0.008985,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816233.308402,255,-90.330399,50.825298,0.000000,-70.331841,43.827160,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,267.026886,-0.049782,0.003436,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816234.310382,255,-90.330399,50.825298,0.000000,-70.331902,43.827156,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.495575,-0.043739,-0.024020,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816235.312443,255,-90.330399,50.825298,0.000000,-70.331970,43.827152,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.239319,-0.035545,-0.035022,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816236.314332,255,-90.330399,50.825298,0.000000,-70.332031,43.827148,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.115540,-0.030645,-0.039508,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816237.316636,255,-90.330399,50.825298,0.000000,-70.332092,43.827145,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.055786,-0.028043,-0.041396,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816238.318591,255,-90.330399,50.825298,0.000000,-70.332153,43.827141,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.026917,-0.026745,-0.042246,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816239.320670,255,-90.330399,50.825298,0.000000,-70.332214,43.827137,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.013000,-0.026109,-0.042642,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816240.322817,255,-90.330399,50.825298,0.000000,-70.332275,43.827133,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.006287,-0.025800,-0.042830,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816241.324869,255,-90.330399,50.825298,0.000000,-70.332336,43.827129,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.003021,-0.025650,-0.042919,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816242.327157,255,-90.330399,50.825298,0.000000,-70.332405,43.827126,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.001465,-0.025578,-0.042962,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816243.329233,255,-90.330399,50.825298,0.000000,-70.332466,43.827122,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.354553,-0.037124,-0.033194,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816244.331389,255,-90.330399,50.825298,0.000000,-70.332527,43.827118,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.688477,-0.046514,-0.018069,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816245.333556,255,-90.330399,50.825298,0.000000,-70.332588,43.827114,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.849609,-0.049032,-0.009791,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816246.335453,255,-90.330399,50.825298,0.000000,-70.332649,43.827114,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.927399,-0.049678,-0.005661,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816247.337603,255,-90.330399,50.825298,0.000000,-70.332710,43.827110,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,266.964935,-0.049867,-0.003650,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816248.339673,255,-90.330399,50.825298,0.000000,-70.332771,43.827099,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,236.361160,-0.014579,-0.045418,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816249.341508,255,-90.330399,50.825298,0.000000,-70.332809,43.827068,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,206.080246,0.027037,-0.036222,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816250.343442,255,-90.330399,50.825298,0.000000,-70.332825,43.827026,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,190.420380,-0.046246,-0.002234,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816251.345330,255,-90.330399,50.825298,0.000000,-70.332825,43.826984,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,182.311417,0.035903,-0.031859,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816252.347299,255,-90.330399,50.825298,0.000000,-70.332825,43.826942,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,178.012894,-0.035728,-0.033534,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816253.349212,255,-90.330399,50.825298,0.000000,-70.332825,43.826897,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,175.802505,0.049223,-0.004175,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816254.351134,255,-90.330399,50.825298,0.000000,-70.332817,43.826851,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,174.353424,0.004833,0.049464,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816255.353149,255,-90.330399,50.825298,0.000000,-70.332809,43.826809,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,173.653656,-0.030352,0.039482,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816256.355156,255,-90.330399,50.825298,0.000000,-70.332802,43.826763,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,173.315475,-0.042494,0.026158,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816257.357146,255,-90.330399,50.825298,0.000000,-70.332794,43.826717,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,173.152359,-0.046502,0.018372,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816258.359157,255,-90.330399,50.825298,0.000000,-70.332787,43.826675,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,173.073563,-0.047890,0.014371,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816259.361182,255,-90.330399,50.825298,0.000000,-70.332771,43.826630,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,173.035522,-0.048438,0.012400,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816260.363160,255,-90.330399,50.825298,0.000000,-70.332764,43.826584,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,173.017151,-0.048674,0.011440,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816261.365346,255,-90.330399,50.825298,0.000000,-70.332756,43.826538,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.938156,-0.048683,0.010954,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816262.367217,255,-90.330399,50.825298,0.000000,-70.332748,43.826500,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.487244,-0.048176,-0.013002,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816263.368813,255,-90.330399,50.825298,0.000000,-70.332741,43.826454,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.043871,-0.021144,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816264.370028,255,-90.330399,50.825298,0.000000,-70.332733,43.826412,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.041619,-0.020058,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816265.371300,255,-90.330399,50.825298,0.000000,-70.332726,43.826374,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.039276,-0.018930,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816266.372554,255,-90.330399,50.825298,0.000000,-70.332718,43.826336,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.037024,-0.017844,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816267.373705,255,-90.330399,50.825298,0.000000,-70.332710,43.826302,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.034772,-0.016759,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816268.374904,255,-90.330399,50.825298,0.000000,-70.332703,43.826267,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.032520,-0.015673,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816269.376326,255,-90.330399,50.825298,0.000000,-70.332695,43.826237,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.030268,-0.014588,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816270.377598,255,-90.330399,50.825298,0.000000,-70.332687,43.826206,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.028016,-0.013503,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816271.378829,255,-90.330399,50.825298,0.000000,-70.332680,43.826180,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.025764,-0.012417,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816272.379941,255,-90.330399,50.825298,0.000000,-70.332680,43.826157,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.023512,-0.011332,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816273.380877,255,-90.330399,50.825298,0.000000,-70.332672,43.826134,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.021260,-0.010246,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816274.381993,255,-90.330399,50.825298,0.000000,-70.332672,43.826115,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.019008,-0.009161,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816275.383164,255,-90.330399,50.825298,0.000000,-70.332664,43.826096,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.016756,-0.008075,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816276.384483,255,-90.330399,50.825298,0.000000,-70.332664,43.826080,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.014503,-0.006990,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816277.385855,255,-90.330399,50.825298,0.000000,-70.332657,43.826069,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.012251,-0.005905,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816278.387292,255,-90.330399,50.825298,0.000000,-70.332657,43.826057,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.009909,-0.004776,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816279.388882,255,-90.330399,50.825298,0.000000,-70.332657,43.826050,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.007657,-0.003690,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816280.390024,255,-90.330399,50.825298,0.000000,-70.332657,43.826042,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.005405,-0.002605,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816281.391234,255,-90.330399,50.825298,0.000000,-70.332657,43.826038,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.003153,-0.001520,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816282.392479,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,-0.000901,-0.000434,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816283.393728,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816284.394837,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816285.395908,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816286.397535,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816287.398744,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816288.399953,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816289.401189,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
|
1700816290.402203,255,-90.330399,50.825298,0.000000,-70.332649,43.826035,0.000000,49463.585938,6378031.000000,0.000000,0.000000,0.000000,172.338486,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,255,0,255,15,60,25.000000
|
||||||
1
log/lauv-150/2023-11-24/165544/clientCommand.txt
Normal file
1
log/lauv-150/2023-11-24/165544/clientCommand.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
PlanControl:1700816151.420578,east_waypt_survey,start
|
||||||
1
log/lauv-150/2023-11-24/165544/faultLog.txt
Normal file
1
log/lauv-150/2023-11-24/165544/faultLog.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
stamp,level,type,id,first,source
|
||||||
889
log/lauv-150/2023-11-24/165544/missionHistory.txt
Normal file
889
log/lauv-150/2023-11-24/165544/missionHistory.txt
Normal file
@@ -0,0 +1,889 @@
|
|||||||
|
stamp,state,taskName,destName,errorCode
|
||||||
|
1700816151.636889,3,east_waypt_survey,,0
|
||||||
|
1700816151.637013,3,east_waypt_survey,,0
|
||||||
|
1700816151.887230,3,east_waypt_survey,station_1,0
|
||||||
|
1700816151.887305,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.137587,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.137741,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.388094,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.388143,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.638431,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.638606,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.888885,3,east_waypt_survey,station_1,0
|
||||||
|
1700816152.888964,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.139320,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.139503,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.389962,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.390013,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.640319,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.640502,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.890820,3,east_waypt_survey,station_1,0
|
||||||
|
1700816153.890900,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.141196,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.141344,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.391752,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.391790,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.642092,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.642248,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.892563,3,east_waypt_survey,station_1,0
|
||||||
|
1700816154.892644,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.142900,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.142973,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.393383,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.393429,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.643767,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.643933,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.894197,3,east_waypt_survey,station_1,0
|
||||||
|
1700816155.894270,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.144547,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.144738,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.395147,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.395193,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.645481,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.645690,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.895898,3,east_waypt_survey,station_1,0
|
||||||
|
1700816156.895958,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.146191,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.146265,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.396637,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.396683,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.646972,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.647130,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.897366,3,east_waypt_survey,station_1,0
|
||||||
|
1700816157.897398,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.147755,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.147939,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.398383,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.398433,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.648876,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.649093,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.899497,3,east_waypt_survey,station_1,0
|
||||||
|
1700816158.899582,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.150058,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.150231,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.400614,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.400660,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.650992,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.651184,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.901570,3,east_waypt_survey,station_1,0
|
||||||
|
1700816159.901644,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.151908,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.152072,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.402565,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.402608,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.652958,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.653132,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.903373,3,east_waypt_survey,station_1,0
|
||||||
|
1700816160.903488,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.153892,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.154056,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.404460,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.404507,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.654748,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.654844,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.905202,3,east_waypt_survey,station_1,0
|
||||||
|
1700816161.905284,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.155824,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.156101,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.406618,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.406668,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.657089,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.657253,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.907642,3,east_waypt_survey,station_1,0
|
||||||
|
1700816162.907723,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.158146,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.158353,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.408895,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.408979,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.659206,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.659293,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.909508,3,east_waypt_survey,station_1,0
|
||||||
|
1700816163.909553,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.159803,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.159953,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.410454,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.410499,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.660832,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.661007,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.911403,3,east_waypt_survey,station_1,0
|
||||||
|
1700816164.911525,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.161930,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.162137,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.412587,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.412640,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.663114,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.663362,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.913647,3,east_waypt_survey,station_1,0
|
||||||
|
1700816165.913750,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.164061,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.164281,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.414804,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.414870,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.665261,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.665480,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.915784,3,east_waypt_survey,station_1,0
|
||||||
|
1700816166.915881,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.166319,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.166625,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.417047,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.417093,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.667395,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.667640,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.918048,3,east_waypt_survey,station_1,0
|
||||||
|
1700816167.918133,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.168441,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.168606,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.419149,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.419207,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.669613,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.669817,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.920096,3,east_waypt_survey,station_1,0
|
||||||
|
1700816168.920166,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.170424,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.170549,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.420924,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.420946,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.671263,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.671435,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.921715,3,east_waypt_survey,station_1,0
|
||||||
|
1700816169.921764,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.172053,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.172273,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.422816,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.422866,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.673221,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.673445,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.923743,3,east_waypt_survey,station_1,0
|
||||||
|
1700816170.923820,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.174182,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.174410,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.424826,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.424873,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.675220,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.675409,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.925819,3,east_waypt_survey,station_1,0
|
||||||
|
1700816171.925945,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.176349,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.176520,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.427017,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.427064,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.677489,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.677685,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.928080,3,east_waypt_survey,station_1,0
|
||||||
|
1700816172.928181,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.178650,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.178836,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.429352,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.429403,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.679824,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.680043,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.930341,3,east_waypt_survey,station_1,0
|
||||||
|
1700816173.930422,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.180783,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.180966,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.431415,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.431491,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.681898,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.682102,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.932451,3,east_waypt_survey,station_1,0
|
||||||
|
1700816174.932526,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.182878,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.183066,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.433637,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.433732,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.684107,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.684314,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.934627,3,east_waypt_survey,station_1,0
|
||||||
|
1700816175.934742,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.185073,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.185256,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.435720,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.435772,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.686148,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.686395,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.936679,3,east_waypt_survey,station_1,0
|
||||||
|
1700816176.936762,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.187112,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.187281,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.437817,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.437907,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.688327,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.688572,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.938860,3,east_waypt_survey,station_1,0
|
||||||
|
1700816177.938932,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.189248,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.189446,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.439911,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.439962,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.690451,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.690627,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.941016,3,east_waypt_survey,station_1,0
|
||||||
|
1700816178.941098,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.191474,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.191676,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.442198,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.442246,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.692630,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.692813,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.943235,3,east_waypt_survey,station_1,0
|
||||||
|
1700816179.943323,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.193744,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.193922,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.444503,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.444554,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.695028,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.695228,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.945673,3,east_waypt_survey,station_1,0
|
||||||
|
1700816180.945757,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.196136,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.196308,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.446905,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.446955,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.697298,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.697479,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.947801,3,east_waypt_survey,station_1,0
|
||||||
|
1700816181.947881,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.198327,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.198511,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.448978,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.449028,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.699510,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.699730,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.950145,3,east_waypt_survey,station_1,0
|
||||||
|
1700816182.950262,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.200666,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.200848,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.451292,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.451382,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.701726,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.701968,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.952265,3,east_waypt_survey,station_1,0
|
||||||
|
1700816183.952354,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.202823,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.203028,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.453582,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.453632,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.703996,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.704273,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.954684,3,east_waypt_survey,station_1,0
|
||||||
|
1700816184.954780,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.205185,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.205377,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.455933,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.455988,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.706465,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.706644,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.956919,3,east_waypt_survey,station_1,0
|
||||||
|
1700816185.956993,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.207312,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.207534,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.458093,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.458139,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.708484,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.708657,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.959014,3,east_waypt_survey,station_1,0
|
||||||
|
1700816186.959093,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.209479,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.209665,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.460064,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.460110,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.710346,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.710518,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.960785,3,east_waypt_survey,station_1,0
|
||||||
|
1700816187.960861,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.211291,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.211483,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.461893,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.461944,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.712259,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.712488,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.962779,3,east_waypt_survey,station_1,0
|
||||||
|
1700816188.962863,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.213242,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.213503,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.464155,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.464248,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.714637,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.714835,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.965241,3,east_waypt_survey,station_1,0
|
||||||
|
1700816189.965347,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.215648,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.215841,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.466347,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.466434,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.716769,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.716988,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.967314,3,east_waypt_survey,station_1,0
|
||||||
|
1700816190.967397,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.217830,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.218102,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.468546,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.468606,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.718930,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.719146,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.969454,3,east_waypt_survey,station_1,0
|
||||||
|
1700816191.969546,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.219856,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.220038,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.470579,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.470669,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.721080,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.721297,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.971683,3,east_waypt_survey,station_1,0
|
||||||
|
1700816192.971787,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.222134,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.222310,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.472746,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.472797,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.723217,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.723498,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.973858,3,east_waypt_survey,station_1,0
|
||||||
|
1700816193.973960,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.224314,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.224492,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.475093,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.475157,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.725582,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.725800,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.976124,3,east_waypt_survey,station_1,0
|
||||||
|
1700816194.976207,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.226674,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.226854,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.477306,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.477396,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.727873,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.728099,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.978529,3,east_waypt_survey,station_1,0
|
||||||
|
1700816195.978631,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.228926,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.229131,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.479614,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.479694,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.730146,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.730352,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.980591,3,east_waypt_survey,station_1,0
|
||||||
|
1700816196.980657,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.230970,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.231198,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.481724,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.481774,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.732094,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.732284,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.982472,3,east_waypt_survey,station_1,0
|
||||||
|
1700816197.982512,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.232803,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.232990,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.483401,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.483497,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.734054,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.734263,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.984664,3,east_waypt_survey,station_1,0
|
||||||
|
1700816198.984747,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.235173,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.235377,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.485937,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.486022,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.736382,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.736625,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.986891,3,east_waypt_survey,station_1,0
|
||||||
|
1700816199.986990,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.237326,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.237492,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.487907,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.487957,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.738416,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.738638,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.988919,3,east_waypt_survey,station_1,0
|
||||||
|
1700816200.989023,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.239389,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.239613,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.490094,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.490155,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.740514,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.740747,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.991051,3,east_waypt_survey,station_1,0
|
||||||
|
1700816201.991151,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.241469,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.241698,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.492118,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.492164,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.742541,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.742726,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.992998,3,east_waypt_survey,station_1,0
|
||||||
|
1700816202.993103,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.243598,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.243838,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.494229,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.494275,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.744577,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.744785,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.995200,3,east_waypt_survey,station_1,0
|
||||||
|
1700816203.995285,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.245591,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.245769,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.496168,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.496217,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.746646,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.746814,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.997085,3,east_waypt_survey,station_1,0
|
||||||
|
1700816204.997159,3,east_waypt_survey,station_1,0
|
||||||
|
1700816205.247624,3,east_waypt_survey,station_1,0
|
||||||
|
1700816205.247784,3,east_waypt_survey,station_1,0
|
||||||
|
1700816205.498176,3,east_waypt_survey,station_2,0
|
||||||
|
1700816205.498264,3,east_waypt_survey,station_2,0
|
||||||
|
1700816205.748588,3,east_waypt_survey,station_2,0
|
||||||
|
1700816205.748792,3,east_waypt_survey,station_2,0
|
||||||
|
1700816205.999093,3,east_waypt_survey,station_2,0
|
||||||
|
1700816205.999204,3,east_waypt_survey,station_2,0
|
||||||
|
1700816206.249636,3,east_waypt_survey,station_2,0
|
||||||
|
1700816206.249919,3,east_waypt_survey,station_2,0
|
||||||
|
1700816206.500339,3,east_waypt_survey,station_2,0
|
||||||
|
1700816206.500385,3,east_waypt_survey,station_2,0
|
||||||
|
1700816206.750770,3,east_waypt_survey,station_2,0
|
||||||
|
1700816206.751020,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.001310,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.001406,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.251759,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.251980,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.502521,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.502597,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.753042,3,east_waypt_survey,station_2,0
|
||||||
|
1700816207.753253,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.003582,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.003689,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.254130,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.254381,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.504937,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.505015,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.755498,3,east_waypt_survey,station_2,0
|
||||||
|
1700816208.755718,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.006097,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.006199,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.256571,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.256772,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.507279,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.507329,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.757773,3,east_waypt_survey,station_2,0
|
||||||
|
1700816209.757994,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.008292,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.008397,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.259767,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.260007,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.510436,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.510486,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.760841,3,east_waypt_survey,station_2,0
|
||||||
|
1700816210.761025,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.011443,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.011558,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.261864,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.262110,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.512533,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.512610,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.763012,3,east_waypt_survey,station_2,0
|
||||||
|
1700816211.763177,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.013480,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.013564,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.263851,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.264042,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.514515,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.514575,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.764933,3,east_waypt_survey,station_2,0
|
||||||
|
1700816212.765110,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.015537,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.015616,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.265930,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.266128,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.516584,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.516685,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.767124,3,east_waypt_survey,station_2,0
|
||||||
|
1700816213.767311,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.017682,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.017784,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.268097,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.268287,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.518791,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.518888,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.769337,3,east_waypt_survey,station_2,0
|
||||||
|
1700816214.769553,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.019860,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.019962,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.270318,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.270538,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.520971,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.521066,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.771392,3,east_waypt_survey,station_2,0
|
||||||
|
1700816215.771638,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.022015,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.022119,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.272369,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.272471,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.522949,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.523061,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.773540,3,east_waypt_survey,station_2,0
|
||||||
|
1700816216.773643,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.024087,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.024203,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.274526,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.274603,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.524936,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.525035,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.775502,3,east_waypt_survey,station_2,0
|
||||||
|
1700816217.775715,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.026143,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.026219,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.276519,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.276591,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.526917,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.526989,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.777368,3,east_waypt_survey,station_2,0
|
||||||
|
1700816218.777441,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.027797,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.027874,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.278207,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.278293,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.528844,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.528916,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.779289,3,east_waypt_survey,station_2,0
|
||||||
|
1700816219.779405,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.122432,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.122514,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.280743,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.280782,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.531260,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.531332,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.781651,3,east_waypt_survey,station_2,0
|
||||||
|
1700816220.781734,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.032182,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.032270,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.282595,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.282664,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.533264,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.533351,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.783764,3,east_waypt_survey,station_2,0
|
||||||
|
1700816221.783839,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.034303,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.034381,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.284708,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.284802,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.535438,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.535551,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.785951,3,east_waypt_survey,station_2,0
|
||||||
|
1700816222.786011,3,east_waypt_survey,station_2,0
|
||||||
|
1700816223.036365,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.036443,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.286769,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.286958,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.537462,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.537551,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.787861,3,east_waypt_survey,station_3,0
|
||||||
|
1700816223.788066,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.038429,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.038527,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.288876,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.289062,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.539499,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.539573,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.789953,3,east_waypt_survey,station_3,0
|
||||||
|
1700816224.790032,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.040475,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.040556,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.290927,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.291006,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.541551,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.541578,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.791872,3,east_waypt_survey,station_3,0
|
||||||
|
1700816225.791951,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.042505,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.042588,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.292881,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.292948,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.543640,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.543721,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.794184,3,east_waypt_survey,station_3,0
|
||||||
|
1700816226.794263,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.044693,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.044774,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.295196,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.295229,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.545728,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.545806,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.796172,3,east_waypt_survey,station_3,0
|
||||||
|
1700816227.796252,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.046773,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.046852,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.297185,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.297265,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.547835,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.547916,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.798350,3,east_waypt_survey,station_3,0
|
||||||
|
1700816228.798430,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.048877,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.048963,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.299413,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.299507,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.550221,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.550297,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.800598,3,east_waypt_survey,station_3,0
|
||||||
|
1700816229.800675,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.051184,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.051263,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.301679,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.301748,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.552375,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.552453,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.802887,3,east_waypt_survey,station_3,0
|
||||||
|
1700816230.802969,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.053374,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.053474,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.303716,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.303744,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.554180,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.554289,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.804603,3,east_waypt_survey,station_3,0
|
||||||
|
1700816231.804679,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.055194,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.055277,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.305675,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.305761,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.556373,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.556454,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.806902,3,east_waypt_survey,station_3,0
|
||||||
|
1700816232.807015,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.057628,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.057733,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.308090,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.308173,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.558785,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.558894,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.809229,3,east_waypt_survey,station_3,0
|
||||||
|
1700816233.809313,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.059633,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.059703,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.310114,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.310186,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.560748,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.560829,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.811283,3,east_waypt_survey,station_3,0
|
||||||
|
1700816234.811364,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.061775,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.061847,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.312193,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.312267,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.562763,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.562811,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.813193,3,east_waypt_survey,station_3,0
|
||||||
|
1700816235.813293,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.063750,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.063854,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.314154,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.314249,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.564837,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.564926,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.815396,3,east_waypt_survey,station_3,0
|
||||||
|
1700816236.815524,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.065962,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.066069,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.316450,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.316545,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.567123,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.567209,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.817495,3,east_waypt_survey,station_3,0
|
||||||
|
1700816237.817596,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.067978,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.068087,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.318403,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.318504,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.569034,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.569131,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.819472,3,east_waypt_survey,station_3,0
|
||||||
|
1700816238.819578,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.069994,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.070093,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.320476,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.320579,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.571137,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.571237,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.821633,3,east_waypt_survey,station_3,0
|
||||||
|
1700816239.821748,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.072180,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.072253,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.322671,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.322746,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.573276,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.573344,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.823784,3,east_waypt_survey,station_3,0
|
||||||
|
1700816240.823863,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.074340,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.074416,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.324745,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.324927,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.575486,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.575568,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.826024,3,east_waypt_survey,station_3,0
|
||||||
|
1700816241.826109,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.076511,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.076589,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.327036,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.327211,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.577769,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.577849,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.828158,3,east_waypt_survey,station_3,0
|
||||||
|
1700816242.828229,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.078719,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.078796,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.329121,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.329285,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.579829,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.579908,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.830328,3,east_waypt_survey,station_3,0
|
||||||
|
1700816243.830408,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.080811,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.080889,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.331222,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.331499,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.582028,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.582107,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.832437,3,east_waypt_survey,station_3,0
|
||||||
|
1700816244.832514,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.082939,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.083024,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.333438,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.333611,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.584035,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.584123,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.834518,3,east_waypt_survey,station_3,0
|
||||||
|
1700816245.834600,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.084982,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.085055,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.335341,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.335544,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.586082,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.586177,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.836506,3,east_waypt_survey,station_3,0
|
||||||
|
1700816246.836581,3,east_waypt_survey,station_3,0
|
||||||
|
1700816247.087039,3,east_waypt_survey,station_3,0
|
||||||
|
1700816247.087103,3,east_waypt_survey,station_3,0
|
||||||
|
1700816247.337454,3,east_waypt_survey,station_4,0
|
||||||
|
1700816247.337666,3,east_waypt_survey,station_4,0
|
||||||
|
1700816247.588161,3,east_waypt_survey,station_4,0
|
||||||
|
1700816247.588280,3,east_waypt_survey,station_4,0
|
||||||
|
1700816247.838605,3,east_waypt_survey,station_4,0
|
||||||
|
1700816247.838708,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.089131,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.089214,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.339547,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.339734,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.590209,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.590284,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.840559,3,east_waypt_survey,station_4,0
|
||||||
|
1700816248.840637,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.090980,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.091060,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.341401,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.341560,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.591921,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.592031,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.842438,3,east_waypt_survey,station_4,0
|
||||||
|
1700816249.842514,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.092923,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.092991,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.343301,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.343526,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.593945,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.594050,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.844348,3,east_waypt_survey,station_4,0
|
||||||
|
1700816250.844420,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.094774,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.094867,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.345197,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.345393,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.595807,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.595915,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.846251,3,east_waypt_survey,station_4,0
|
||||||
|
1700816251.846359,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.096761,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.096830,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.347169,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.347373,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.597859,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.597931,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.848240,3,east_waypt_survey,station_4,0
|
||||||
|
1700816252.848322,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.098848,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.098922,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.349157,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.349230,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.599580,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.599680,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.850124,3,east_waypt_survey,station_4,0
|
||||||
|
1700816253.850241,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.100632,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.100702,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.351007,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.351206,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.601660,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.601760,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.852043,3,east_waypt_survey,station_4,0
|
||||||
|
1700816254.852146,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.102526,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.102632,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.353000,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.353220,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.603669,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.603764,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.854031,3,east_waypt_survey,station_4,0
|
||||||
|
1700816255.854128,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.104605,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.104707,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.355012,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.355226,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.605764,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.605841,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.856136,3,east_waypt_survey,station_4,0
|
||||||
|
1700816256.856218,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.106614,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.106693,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.357033,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.357247,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.607695,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.607778,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.858160,3,east_waypt_survey,station_4,0
|
||||||
|
1700816257.858255,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.108640,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.108714,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.359026,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.359247,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.609727,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.609793,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.860089,3,east_waypt_survey,station_4,0
|
||||||
|
1700816258.860180,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.110558,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.110655,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.361016,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.361258,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.611719,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.611789,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.862053,3,east_waypt_survey,station_4,0
|
||||||
|
1700816259.862149,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.112519,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.112607,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.363007,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.363231,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.613792,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.613886,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.864209,3,east_waypt_survey,station_4,0
|
||||||
|
1700816260.864310,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.114706,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.114811,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.365203,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.365408,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.615700,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.615743,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.866130,3,east_waypt_survey,station_4,0
|
||||||
|
1700816261.866232,3,east_waypt_survey,station_4,0
|
||||||
|
1700816262.116685,3,east_waypt_survey,station_4,0
|
||||||
|
1700816262.116789,3,east_waypt_survey,station_4,0
|
||||||
|
1700816262.367120,3,east_waypt_survey,station_4,0
|
||||||
|
1700816262.367281,3,east_waypt_survey,station_4,0
|
||||||
|
1700816262.617658,3,east_waypt_survey,,0
|
||||||
|
1700816262.617752,3,east_waypt_survey,,0
|
||||||
1327
log/lauv-150/2023-11-24/165544/motionControl.txt
Normal file
1327
log/lauv-150/2023-11-24/165544/motionControl.txt
Normal file
File diff suppressed because it is too large
Load Diff
93
missions/s1_alpha/alpha.bhv
Normal file
93
missions/s1_alpha/alpha.bhv
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
//-------- FILE: alpha.bhv -------------
|
||||||
|
|
||||||
|
initialize DEPLOY = false
|
||||||
|
initialize RETURN = false
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
Behavior = BHV_Waypoint
|
||||||
|
{
|
||||||
|
name = waypt_survey
|
||||||
|
pwt = 100
|
||||||
|
condition = RETURN = false
|
||||||
|
condition = DEPLOY = true
|
||||||
|
endflag = RETURN = true
|
||||||
|
|
||||||
|
configflag = CRUISE_SPD = $[SPEED]
|
||||||
|
//configflag = OSPOS = $[OSX],$[OSY]
|
||||||
|
|
||||||
|
activeflag = INFO=$[OWNSHIP]
|
||||||
|
activeflag = INFO=$[BHVNAME]
|
||||||
|
activeflag = INFO=$[BHVTYPE]
|
||||||
|
|
||||||
|
cycleflag = CINFO=$[OSX],$[OSY]
|
||||||
|
|
||||||
|
wptflag = PREV=$(PX),$(PY)
|
||||||
|
wptflag = NEXT=$(NX),$(NY)
|
||||||
|
wptflag = TEST=$(X),$(Y)
|
||||||
|
wptflag = OSPOS=$(OSX),$(OSY)
|
||||||
|
wptflag_on_start = true
|
||||||
|
|
||||||
|
updates = WPT_UPDATE
|
||||||
|
perpetual = true
|
||||||
|
|
||||||
|
speed_alt = 1.2
|
||||||
|
use_alt_speed = true
|
||||||
|
lead = 8
|
||||||
|
lead_damper = 1
|
||||||
|
lead_to_start = true
|
||||||
|
speed = 12 // meters per second
|
||||||
|
capture_line = true
|
||||||
|
capture_radius = 5.0
|
||||||
|
slip_radius = 15.0
|
||||||
|
efficiency_measure = all
|
||||||
|
|
||||||
|
// points = pts={107.5,-53.5:112,-43.8:112,-46.1:111.7,-49.3:108.3,-52.7:107.7,-53.3}
|
||||||
|
polygon = 60,-40 : 60,-160 : 150,-160 : 180,-100 : 150,-40
|
||||||
|
|
||||||
|
order = normal
|
||||||
|
//repeat = 100000
|
||||||
|
repeat = 3
|
||||||
|
|
||||||
|
visual_hints = nextpt_color=yellow
|
||||||
|
visual_hints = nextpt_vertex_size=8
|
||||||
|
visual_hints = nextpt_lcolor=gray70
|
||||||
|
visual_hints = vertex_color=dodger_blue, edge_color=white
|
||||||
|
visual_hints = vertex_size=5, edge_size=1
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
Behavior=BHV_Waypoint
|
||||||
|
{
|
||||||
|
name = waypt_return
|
||||||
|
pwt = 100
|
||||||
|
condition = RETURN = true
|
||||||
|
condition = DEPLOY = true
|
||||||
|
perpetual = true
|
||||||
|
updates = RETURN_UPDATE
|
||||||
|
endflag = RETURN = false
|
||||||
|
endflag = DEPLOY = false
|
||||||
|
endflag = MISSION = complete
|
||||||
|
|
||||||
|
speed = 2.0
|
||||||
|
capture_radius = 2.0
|
||||||
|
slip_radius = 8.0
|
||||||
|
points = 0,-20
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------
|
||||||
|
Behavior=BHV_ConstantSpeed
|
||||||
|
{
|
||||||
|
name = const_speed
|
||||||
|
pwt = 200
|
||||||
|
condition = SPD=true
|
||||||
|
condition = DEPLOY = true
|
||||||
|
perpetual = true
|
||||||
|
updates = SPEED_UPDATE
|
||||||
|
endflag = SPD = false
|
||||||
|
|
||||||
|
speed = 0.5
|
||||||
|
duration = 10
|
||||||
|
duration_reset = CONST_SPD_RESET=true
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
218
missions/s1_alpha/alpha.moos
Normal file
218
missions/s1_alpha/alpha.moos
Normal file
@@ -0,0 +1,218 @@
|
|||||||
|
//-------------------------------------------------
|
||||||
|
// NAME: M. Benjamin, MIT CSAIL
|
||||||
|
// FILE: alpha.moos
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
ServerHost = localhost
|
||||||
|
ServerPort = 9000
|
||||||
|
Community = alpha
|
||||||
|
MOOSTimeWarp = 1
|
||||||
|
|
||||||
|
// Forest Lake
|
||||||
|
LatOrigin = 43.825300
|
||||||
|
LongOrigin = -70.330400
|
||||||
|
|
||||||
|
// MIT Sailing Pavilion (use this one)
|
||||||
|
// LatOrigin = 42.358456
|
||||||
|
// LongOrigin = -71.087589
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Antler configuration block
|
||||||
|
ProcessConfig = ANTLER
|
||||||
|
{
|
||||||
|
MSBetweenLaunches = 200
|
||||||
|
|
||||||
|
Run = MOOSDB @ NewConsole = false
|
||||||
|
Run = pLogger @ NewConsole = false
|
||||||
|
Run = uSimMarineV22 @ NewConsole = false
|
||||||
|
Run = pMarinePIDV22 @ NewConsole = false
|
||||||
|
Run = pHelmIvP @ NewConsole = false
|
||||||
|
Run = pMarineViewer @ NewConsole = false
|
||||||
|
Run = uProcessWatch @ NewConsole = false
|
||||||
|
Run = pNodeReporter @ NewConsole = false
|
||||||
|
Run = pRealm @ NewConsole = false
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pLogger config block
|
||||||
|
|
||||||
|
ProcessConfig = pLogger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
AsyncLog = true
|
||||||
|
|
||||||
|
// For variables that are published in a bundle on their first post,
|
||||||
|
// explicitly declare their logging request
|
||||||
|
Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
|
||||||
|
Log = REPORT @ 0 NOSYNC
|
||||||
|
Log = BHV_SETTINGS @ 0 NOSYNC
|
||||||
|
|
||||||
|
LogAuxSrc = true
|
||||||
|
WildCardLogging = true
|
||||||
|
WildCardOmitPattern = *_STATUS
|
||||||
|
WildCardOmitPattern = DB_VARSUMMARY
|
||||||
|
WildCardOmitPattern = DB_RWSUMMARY
|
||||||
|
WildCardExclusionLog = true
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// uProcessWatch config block
|
||||||
|
|
||||||
|
ProcessConfig = uProcessWatch
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
watch_all = true
|
||||||
|
nowatch = uPokeDB*
|
||||||
|
nowatch = uQueryDB*
|
||||||
|
nowatch = uXMS*
|
||||||
|
nowatch = uMAC*
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// uSimMarineV22 config block
|
||||||
|
|
||||||
|
ProcessConfig = uSimMarineV22
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
start_pos = x=0, y=-20, heading=180, speed=0
|
||||||
|
|
||||||
|
prefix = NAV
|
||||||
|
|
||||||
|
turn_rate = 40
|
||||||
|
thrust_map = 0:0, 20:1, 40:2, 60:3, 80:4, 100:5
|
||||||
|
//thrust_reflect = true
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pHelmIvP config block
|
||||||
|
|
||||||
|
ProcessConfig = pHelmIvP
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
behaviors = alpha.bhv
|
||||||
|
domain = course:0:359:360
|
||||||
|
domain = speed:0:4:41
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pMarinePID config block
|
||||||
|
|
||||||
|
ProcessConfig = pMarinePIDV22
|
||||||
|
{
|
||||||
|
AppTick = 20
|
||||||
|
CommsTick = 20
|
||||||
|
|
||||||
|
verbose = true
|
||||||
|
depth_control = false
|
||||||
|
|
||||||
|
// SIM_INSTABILITY = 20
|
||||||
|
|
||||||
|
// Yaw PID controller
|
||||||
|
yaw_pid_kp = 1.2
|
||||||
|
yaw_pid_kd = 0.0
|
||||||
|
yaw_pid_ki = 0.3
|
||||||
|
yaw_pid_integral_limit = 0.07
|
||||||
|
|
||||||
|
// Speed PID controller
|
||||||
|
speed_pid_kp = 1.0
|
||||||
|
speed_pid_kd = 0.0
|
||||||
|
speed_pid_ki = 0.0
|
||||||
|
speed_pid_integral_limit = 0.07
|
||||||
|
|
||||||
|
//MAXIMUMS
|
||||||
|
maxrudder = 100
|
||||||
|
maxthrust = 100
|
||||||
|
|
||||||
|
// A non-zero SPEED_FACTOR overrides use of SPEED_PID
|
||||||
|
// Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR
|
||||||
|
speed_factor = 20
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pMarineViewer config block
|
||||||
|
|
||||||
|
ProcessConfig = pMarineViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
tiff_file = forrest19.tif
|
||||||
|
//tiff_file = MIT_SP.tif
|
||||||
|
|
||||||
|
set_pan_x = -90
|
||||||
|
set_pan_y = -280
|
||||||
|
zoom = 0.65
|
||||||
|
vehicle_shape_scale = 1.5
|
||||||
|
hash_delta = 50
|
||||||
|
hash_shade = 0.22
|
||||||
|
hash_viewable = true
|
||||||
|
|
||||||
|
trails_point_size = 1
|
||||||
|
|
||||||
|
//op_vertex = x=-83, y=-47, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=94.6, y=-62.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=58, y=20, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
|
||||||
|
// Appcast configuration
|
||||||
|
appcast_height = 75
|
||||||
|
appcast_width = 30
|
||||||
|
appcast_viewable = true
|
||||||
|
appcast_color_scheme = indigo
|
||||||
|
nodes_font_size = xlarge
|
||||||
|
procs_font_size = xlarge
|
||||||
|
appcast_font_size = large
|
||||||
|
|
||||||
|
// datum_viewable = true
|
||||||
|
// datum_size = 18
|
||||||
|
// gui_size = small
|
||||||
|
|
||||||
|
// left_context[survey-point] = DEPLOY=true
|
||||||
|
// left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
// left_context[survey-point] = RETURN=false
|
||||||
|
|
||||||
|
right_context[return] = DEPLOY=true
|
||||||
|
right_context[return] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
right_context[return] = RETURN=false
|
||||||
|
|
||||||
|
scope = RETURN
|
||||||
|
scope = WPT_STAT
|
||||||
|
scope = VIEW_SEGLIST
|
||||||
|
scope = VIEW_POINT
|
||||||
|
scope = VIEW_POLYGON
|
||||||
|
scope = MVIEWER_LCLICK
|
||||||
|
scope = MVIEWER_RCLICK
|
||||||
|
|
||||||
|
button_one = DEPLOY # DEPLOY=true
|
||||||
|
button_one = MOOS_MANUAL_OVERRIDE=false # RETURN=false
|
||||||
|
button_two = RETURN # RETURN=true
|
||||||
|
button_three = SLOWER # WPT_UPDATE=speed=1.5
|
||||||
|
button_four = FASTER # WPT_UPDATE=speed=3.5
|
||||||
|
|
||||||
|
action = MENU_KEY=deploy # DEPLOY = true # RETURN = false
|
||||||
|
action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
|
||||||
|
action = RETURN=true
|
||||||
|
action = UPDATES_RETURN=speed=1.4
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pNodeReporter config block
|
||||||
|
|
||||||
|
ProcessConfig = pNodeReporter
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
|
||||||
|
platform_type = kayak
|
||||||
|
platform_color = yellow
|
||||||
|
platform_length = 4
|
||||||
|
}
|
||||||
|
|
||||||
37
missions/s1_alpha/clean.sh
Executable file
37
missions/s1_alpha/clean.sh
Executable file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#--------------------------------------------------------------
|
||||||
|
# Script: clean.sh
|
||||||
|
# Author: Michael Benjamin
|
||||||
|
# Date: June 2020
|
||||||
|
#----------------------------------------------------------
|
||||||
|
# Part 1: Declare global var defaults
|
||||||
|
#----------------------------------------------------------
|
||||||
|
VERBOSE=""
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
# Part 2: Check for and handle command-line arguments
|
||||||
|
#-------------------------------------------------------
|
||||||
|
for ARGI; do
|
||||||
|
if [ "${ARGI}" = "--help" -o "${ARGI}" = "-h" ] ; then
|
||||||
|
echo "clean.sh [SWITCHES] "
|
||||||
|
echo " --verbose "
|
||||||
|
echo " --help, -h "
|
||||||
|
exit 0;
|
||||||
|
elif [ "${ARGI}" = "--verbose" -o "${ARGI}" = "-v" ] ; then
|
||||||
|
VERBOSE="-v"
|
||||||
|
else
|
||||||
|
echo "clean.sh: Bad Arg:" $ARGI
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
# Part 2: Do the cleaning!
|
||||||
|
#-------------------------------------------------------
|
||||||
|
if [ "${VERBOSE}" = "-v" ]; then
|
||||||
|
echo "Cleaning: $PWD"
|
||||||
|
fi
|
||||||
|
rm -rf $VERBOSE MOOSLog_* XLOG_* LOG_*
|
||||||
|
rm -f $VERBOSE *~ *.moos++
|
||||||
|
rm -f $VERBOSE targ_*
|
||||||
|
rm -f $VERBOSE .LastOpenedMOOSLogDirectory
|
||||||
39
missions/s1_alpha/launch.sh
Executable file
39
missions/s1_alpha/launch.sh
Executable file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
#----------------------------------------------------------
|
||||||
|
# Script: launch.sh
|
||||||
|
# Author: Michael Benjamin
|
||||||
|
# LastEd: May 20th 2019
|
||||||
|
#----------------------------------------------------------
|
||||||
|
# Part 1: Set Exit actions and declare global var defaults
|
||||||
|
#----------------------------------------------------------
|
||||||
|
TIME_WARP=1
|
||||||
|
COMMUNITY="alpha"
|
||||||
|
GUI="yes"
|
||||||
|
|
||||||
|
#----------------------------------------------------------
|
||||||
|
# Part 2: Check for and handle command-line arguments
|
||||||
|
#----------------------------------------------------------
|
||||||
|
for ARGI; do
|
||||||
|
if [ "${ARGI}" = "--help" -o "${ARGI}" = "-h" ] ; then
|
||||||
|
echo "launch.sh [SWITCHES] [time_warp] "
|
||||||
|
echo " --help, -h Show this help message "
|
||||||
|
exit 0;
|
||||||
|
elif [ "${ARGI}" = "--nogui" ] ; then
|
||||||
|
GUI="no"
|
||||||
|
elif [ "${ARGI//[^0-9]/}" = "$ARGI" -a "$TIME_WARP" = 1 ]; then
|
||||||
|
TIME_WARP=$ARGI
|
||||||
|
else
|
||||||
|
echo "launch.sh Bad arg:" $ARGI " Exiting with code: 1"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#----------------------------------------------------------
|
||||||
|
# Part 3: Launch the processes
|
||||||
|
#----------------------------------------------------------
|
||||||
|
echo "Launching $COMMUNITY MOOS Community with WARP:" $TIME_WARP
|
||||||
|
pAntler $COMMUNITY.moos --MOOSTimeWarp=$TIME_WARP >& /dev/null &
|
||||||
|
|
||||||
|
uMAC -t $COMMUNITY.moos
|
||||||
|
kill -- -$$
|
||||||
5
scripts/README
Normal file
5
scripts/README
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
This directory may contain developer utility scripts.
|
||||||
|
|
||||||
|
The MyGenMOOSApp script is similar to that found in the moos-ivp/trunk/scripts/
|
||||||
|
directory. Users are encouraged to tailor this one to their own needs.
|
||||||
|
|
||||||
43
setting/ControlParam.json
Normal file
43
setting/ControlParam.json
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"speed" :
|
||||||
|
{
|
||||||
|
"Kp" : 10.0,
|
||||||
|
"Ki" : 5.0,
|
||||||
|
"Kd" : 0.0,
|
||||||
|
"LimitDelta" : 50,
|
||||||
|
"MaxOut" : 100,
|
||||||
|
"MinOut" : 0
|
||||||
|
},
|
||||||
|
"heading" :
|
||||||
|
{
|
||||||
|
"Kp" : 0.8,
|
||||||
|
"Ki" : 0.05,
|
||||||
|
"Kd" : 2.2,
|
||||||
|
"LimitDelta" : 5,
|
||||||
|
"MaxOut" : 30,
|
||||||
|
"MinOut" : -30
|
||||||
|
},
|
||||||
|
"depth" :
|
||||||
|
{
|
||||||
|
"Kp" : 10.0,
|
||||||
|
"Ki" : 0.3,
|
||||||
|
"Kd" : 2.0,
|
||||||
|
"LimitDelta" : 5,
|
||||||
|
"MaxOut" : 10,
|
||||||
|
"MinOut" : -10
|
||||||
|
},
|
||||||
|
"pitch" :
|
||||||
|
{
|
||||||
|
"Kp" : 0.6,
|
||||||
|
"Ki" : 0.03,
|
||||||
|
"Kd" : 1.5,
|
||||||
|
"LimitDelta" : 5,
|
||||||
|
"MaxOut" : 30,
|
||||||
|
"MinOut" : -30
|
||||||
|
},
|
||||||
|
"const_thrust" : 0,
|
||||||
|
"dead_zone" : 10,
|
||||||
|
"speedCol" : true,
|
||||||
|
"depthCol" : true,
|
||||||
|
"HeadingCol" : true
|
||||||
|
}
|
||||||
6
setting/Origin.json
Normal file
6
setting/Origin.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"AltOrigin" : 0,
|
||||||
|
"LatOrigin" : 50.825298309326172,
|
||||||
|
"LongOrigin" : -90.330398559570312,
|
||||||
|
"TaskName" : "east_waypt_survey"
|
||||||
|
}
|
||||||
199
setting/PlanConfigure.json
Normal file
199
setting/PlanConfigure.json
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
{
|
||||||
|
"east_waypt_survey" :
|
||||||
|
{
|
||||||
|
"boardStamp" : 1699945816.369447,
|
||||||
|
"clientStamp" : 1699945815.876014,
|
||||||
|
"closedLoop" : true,
|
||||||
|
"constSpeed" : -1.0,
|
||||||
|
"duration" : -1.0,
|
||||||
|
"maxDepth" : -1.0,
|
||||||
|
"minDepth" : -1.0,
|
||||||
|
"origin" :
|
||||||
|
{
|
||||||
|
"altitude" : 0.0,
|
||||||
|
"lat" : 50.825299999999999,
|
||||||
|
"lon" : -90.330399999999997
|
||||||
|
},
|
||||||
|
"perpetual" : false,
|
||||||
|
"points" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"depth" : 10.0,
|
||||||
|
"east" : 121.51780491942635,
|
||||||
|
"lat" : 43.824428558349609,
|
||||||
|
"lon" : -70.328887939453125,
|
||||||
|
"name" : "station_1",
|
||||||
|
"north" : -96.635898081838207,
|
||||||
|
"speed" : 3.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 8.0,
|
||||||
|
"east" : 201.91511278899367,
|
||||||
|
"lat" : 43.824676513671875,
|
||||||
|
"lon" : -70.327888488769531,
|
||||||
|
"name" : "station_2",
|
||||||
|
"north" : -69.083922179977435,
|
||||||
|
"speed" : 5.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 6.0,
|
||||||
|
"east" : 203.75986507534614,
|
||||||
|
"lat" : 43.823623657226562,
|
||||||
|
"lon" : -70.327865600585938,
|
||||||
|
"name" : "station_3",
|
||||||
|
"north" : -186.06549181810368,
|
||||||
|
"speed" : 7.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 4.0,
|
||||||
|
"east" : 131.33919016412341,
|
||||||
|
"lat" : 43.823623657226562,
|
||||||
|
"lon" : -70.328765869140625,
|
||||||
|
"name" : "station_4",
|
||||||
|
"north" : -186.06731482554795,
|
||||||
|
"speed" : 9.0,
|
||||||
|
"type" : "point"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"priority" : 10,
|
||||||
|
"repeat" : 1,
|
||||||
|
"sourceAddress" : "10.25.0.160",
|
||||||
|
"sourceName" : "CCU Neptus 0_163",
|
||||||
|
"taskId" : "1",
|
||||||
|
"taskName" : "east_waypt_survey"
|
||||||
|
},
|
||||||
|
"plan1_toMoos" :
|
||||||
|
{
|
||||||
|
"boardStamp" : 1699602762.2845099,
|
||||||
|
"clientStamp" : 1699602762.7520001,
|
||||||
|
"closedLoop" : false,
|
||||||
|
"duration" : -1.0,
|
||||||
|
"maxDepth" : -1.0,
|
||||||
|
"minDepth" : -1.0,
|
||||||
|
"origin" :
|
||||||
|
{
|
||||||
|
"altitude" : 0.0,
|
||||||
|
"lat" : 50.825299999999999,
|
||||||
|
"lon" : -90.330399999999997
|
||||||
|
},
|
||||||
|
"perpetual" : false,
|
||||||
|
"points" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"depth" : 2.0,
|
||||||
|
"east" : 117.83291847226671,
|
||||||
|
"lat" : 43.825713999999998,
|
||||||
|
"lon" : -70.32893,
|
||||||
|
"name" : "Goto1",
|
||||||
|
"north" : 46.200319317940647,
|
||||||
|
"speed" : 2.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 2.0,
|
||||||
|
"east" : -17.18366087421261,
|
||||||
|
"lat" : 43.826782000000001,
|
||||||
|
"lon" : -70.330609999999993,
|
||||||
|
"name" : "Goto2",
|
||||||
|
"north" : 164.87635389378988,
|
||||||
|
"speed" : 2.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 2.0,
|
||||||
|
"east" : -241.19025325837993,
|
||||||
|
"lat" : 43.825465999999999,
|
||||||
|
"lon" : -70.333399999999997,
|
||||||
|
"name" : "Goto3",
|
||||||
|
"north" : 18.653618776002617,
|
||||||
|
"speed" : 2.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 2.0,
|
||||||
|
"east" : -203.76118848802312,
|
||||||
|
"lat" : 43.823234999999997,
|
||||||
|
"lon" : -70.332930000000005,
|
||||||
|
"name" : "Goto4",
|
||||||
|
"north" : -229.29782627916489,
|
||||||
|
"speed" : 2.0,
|
||||||
|
"type" : "point"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"priority" : 10,
|
||||||
|
"repeat" : 1,
|
||||||
|
"sourceAddress" : "10.25.0.163",
|
||||||
|
"sourceName" : "CCU JHL 0_163",
|
||||||
|
"taskId" : "0,106,3,-96,8,-103,13,6,9,32,50,-13,47,-71,61,1",
|
||||||
|
"taskName" : "plan1_toMoos"
|
||||||
|
},
|
||||||
|
"west_waypt_survey" :
|
||||||
|
{
|
||||||
|
"boardStamp" : 1698135268.3958621,
|
||||||
|
"clientStamp" : 1698135268.2057669,
|
||||||
|
"closedLoop" : true,
|
||||||
|
"constSpeed" : -1.0,
|
||||||
|
"duration" : -1.0,
|
||||||
|
"maxDepth" : -1.0,
|
||||||
|
"minDepth" : -1.0,
|
||||||
|
"origin" :
|
||||||
|
{
|
||||||
|
"altitude" : 0.0,
|
||||||
|
"lat" : 43.825298309326172,
|
||||||
|
"lon" : -70.330398559570312
|
||||||
|
},
|
||||||
|
"perpetual" : true,
|
||||||
|
"points" :
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"depth" : 9.0,
|
||||||
|
"east" : -91.445572043530944,
|
||||||
|
"lat" : 43.824195861816406,
|
||||||
|
"lon" : -70.331535339355469,
|
||||||
|
"name" : "station_1",
|
||||||
|
"north" : -122.49101460421512,
|
||||||
|
"speed" : 4.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 7.0,
|
||||||
|
"east" : 5.5235485468483718,
|
||||||
|
"lat" : 43.824298858642578,
|
||||||
|
"lon" : -70.330329895019531,
|
||||||
|
"name" : "station_2",
|
||||||
|
"north" : -111.04778559533926,
|
||||||
|
"speed" : 6.0,
|
||||||
|
"type" : "point"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 5.0,
|
||||||
|
"east" : 4.2961493948725868,
|
||||||
|
"lat" : 43.823516845703125,
|
||||||
|
"lon" : -70.330345153808594,
|
||||||
|
"name" : "station_3",
|
||||||
|
"north" : -197.93630920628678,
|
||||||
|
"speed" : 8.0,
|
||||||
|
"type" : "track"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"depth" : 3.0,
|
||||||
|
"east" : -81.013520711457318,
|
||||||
|
"lat" : 43.823207855224609,
|
||||||
|
"lon" : -70.331405639648438,
|
||||||
|
"name" : "station_4",
|
||||||
|
"north" : -232.26737690334403,
|
||||||
|
"speed" : 10.0,
|
||||||
|
"type" : "track"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"priority" : 10,
|
||||||
|
"repeat" : -1,
|
||||||
|
"sourceAddress" : "10.25.0.160",
|
||||||
|
"sourceName" : "CCU Neptus 0_163",
|
||||||
|
"taskId" : "2",
|
||||||
|
"taskName" : "west_waypt_survey"
|
||||||
|
}
|
||||||
|
}
|
||||||
31
src/CMakeLists.txt
Normal file
31
src/CMakeLists.txt
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
##############################################################################
|
||||||
|
# FILE: moos-ivp-extend/src/CMakeLists.txt
|
||||||
|
# DATE: 2010/09/07
|
||||||
|
# 2020/05/09 minor mods
|
||||||
|
# DESCRIPTION: CMakeLists.txt file for the moos-ivp-extend source directory
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
#============================================================================
|
||||||
|
# Add the libraries in the current directory to the include path
|
||||||
|
#============================================================================
|
||||||
|
FILE(GLOB LOCAL_LIBRARY_DIRS ./lib_*)
|
||||||
|
INCLUDE_DIRECTORIES(${LOCAL_LIBRARY_DIRS}/* ${LOCAL_LIBRARY_DIRS}/DUNE/)
|
||||||
|
|
||||||
|
#============================================================================
|
||||||
|
# List the subdirectories to build...
|
||||||
|
#============================================================================
|
||||||
|
ADD_SUBDIRECTORY(pBoardSupportComm)
|
||||||
|
ADD_SUBDIRECTORY(pSurfaceSupportComm)
|
||||||
|
ADD_SUBDIRECTORY(pClientViewer)
|
||||||
|
ADD_SUBDIRECTORY(pDataManagement)
|
||||||
|
ADD_SUBDIRECTORY(pTaskManagement)
|
||||||
|
ADD_SUBDIRECTORY(pTaskSend)
|
||||||
|
ADD_SUBDIRECTORY(pMotionControler)
|
||||||
|
ADD_SUBDIRECTORY(pEmulator)
|
||||||
|
ADD_SUBDIRECTORY(pFaultHandle)
|
||||||
|
ADD_SUBDIRECTORY(pStateManagement)
|
||||||
|
##############################################################################
|
||||||
|
# END of CMakeLists.txt
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
892
src/pBoardSupportComm/BoardSupportComm.cpp
Normal file
892
src/pBoardSupportComm/BoardSupportComm.cpp
Normal file
@@ -0,0 +1,892 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: BoardSupportComm.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <iterator>
|
||||||
|
#include "BoardSupportComm.h"
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
|
||||||
|
#define TCP_RECEIVE_PORT 8001
|
||||||
|
#define TCP_SERVER_ADDRESS "127.0.0.1"
|
||||||
|
|
||||||
|
#define MOOS_AUV_SIM
|
||||||
|
// #define MATLAB_AUV_SIM
|
||||||
|
// #ifdef TRUE_AUV
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
BoardSupportComm::BoardSupportComm()
|
||||||
|
{
|
||||||
|
estimatedState.currentLon = 0;
|
||||||
|
estimatedState.currentLat = 0;
|
||||||
|
estimatedState.currentAltitude = 0;
|
||||||
|
estimatedState.referenceLon = 0;
|
||||||
|
estimatedState.referenceLat = 0;
|
||||||
|
estimatedState.referenceAltitude = 0;
|
||||||
|
estimatedState.offsetNorth = 0;
|
||||||
|
estimatedState.offsetEast = 0;
|
||||||
|
estimatedState.offsetDown = 0;
|
||||||
|
estimatedState.roll = 0;
|
||||||
|
estimatedState.pitch = 0;
|
||||||
|
estimatedState.yaw = 0;
|
||||||
|
estimatedState.linearVelocityNorth = 0;
|
||||||
|
estimatedState.linearVelocityEast = 0;
|
||||||
|
estimatedState.linearVelocityDown = 0;
|
||||||
|
estimatedState.height = 0;
|
||||||
|
estimatedState.depth = 0;
|
||||||
|
|
||||||
|
embeddedInfo.header = 0xEBA1;
|
||||||
|
embeddedInfo.count = 0;
|
||||||
|
embeddedInfo.size = 0;
|
||||||
|
embeddedInfo.drive_mode = 0xFF;
|
||||||
|
embeddedInfo.height = 0;
|
||||||
|
embeddedInfo.depth = 0;
|
||||||
|
embeddedInfo.yaw = 0;
|
||||||
|
embeddedInfo.pitch = 0;
|
||||||
|
embeddedInfo.roll = 0;
|
||||||
|
embeddedInfo.ins_vx = 0;
|
||||||
|
embeddedInfo.ins_vy = 0;
|
||||||
|
embeddedInfo.ins_vz = 0;
|
||||||
|
embeddedInfo.lon = 0;
|
||||||
|
embeddedInfo.lat = 0;
|
||||||
|
embeddedInfo.alt = 0;
|
||||||
|
embeddedInfo.dvl_vx = 0;
|
||||||
|
embeddedInfo.dvl_vy = 0;
|
||||||
|
embeddedInfo.dvl_vz = 0;
|
||||||
|
embeddedInfo.rpm = 0;
|
||||||
|
embeddedInfo.light_enable = 0;
|
||||||
|
embeddedInfo.battery_voltage = 0;
|
||||||
|
embeddedInfo.battery_level = 0;
|
||||||
|
embeddedInfo.battery_temp = 0;
|
||||||
|
embeddedInfo.fault_leakSensor = 0;
|
||||||
|
embeddedInfo.fault_battery = 0;
|
||||||
|
embeddedInfo.fault_emergencyBattery = 0;
|
||||||
|
embeddedInfo.fault_thrust = 0;
|
||||||
|
embeddedInfo.iridium = 0xFF;
|
||||||
|
embeddedInfo.throwing_load = 0xFF;
|
||||||
|
embeddedInfo.dvl_status = 0;
|
||||||
|
embeddedInfo.footer = 0xEE1A;
|
||||||
|
|
||||||
|
executeCommand.header = 0xEBA2; //1:[0,1]
|
||||||
|
executeCommand.count = 16; //2:[2,3]
|
||||||
|
executeCommand.size = 21; //3:[4]
|
||||||
|
executeCommand.drive_mode = 0xFF; //4:[5]
|
||||||
|
executeCommand.thrust = 0; //5:[6]
|
||||||
|
executeCommand.yaw = 0; //6:[7,8]
|
||||||
|
executeCommand.depth = 0; //7:[9,10]
|
||||||
|
executeCommand.helm_top_angle = 0; //8:[11]
|
||||||
|
executeCommand.helm_bottom_angle = 0; //9:[12]
|
||||||
|
executeCommand.helm_left_angle = 0; //10:[13]
|
||||||
|
executeCommand.helm_right_angle = 0; //11:[14]
|
||||||
|
executeCommand.light_enable = 0; //12:[15]
|
||||||
|
executeCommand.dvl_enable = 0; //13:[16]
|
||||||
|
executeCommand.throwing_load_enable = 0; //14:[17]
|
||||||
|
executeCommand.crc = 0; //15:[18]
|
||||||
|
executeCommand.footer = 0xEE2A; //16:[19,20]
|
||||||
|
executeCommand.manual_mode = false;
|
||||||
|
|
||||||
|
tcpSockFD = -1;
|
||||||
|
tcpConnectRet = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Destructor
|
||||||
|
|
||||||
|
BoardSupportComm::~BoardSupportComm()
|
||||||
|
{
|
||||||
|
// delete tcpReceiveBuffer;
|
||||||
|
close(tcpSockFD);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnNewMail
|
||||||
|
|
||||||
|
bool BoardSupportComm::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||||
|
{
|
||||||
|
// AppCastingMOOSApp::OnNewMail(NewMail);
|
||||||
|
MOOSMSG_LIST::iterator p;
|
||||||
|
|
||||||
|
for(p=NewMail.begin(); p!=NewMail.end(); p++)
|
||||||
|
{
|
||||||
|
CMOOSMsg &msg = *p;
|
||||||
|
string key = msg.GetKey();
|
||||||
|
string comm = msg.GetCommunity();
|
||||||
|
double dval = msg.GetDouble();
|
||||||
|
string sval = msg.GetString();
|
||||||
|
string msrc = msg.GetSource();
|
||||||
|
double mtime = msg.GetTime();
|
||||||
|
bool mdbl = msg.IsDouble();
|
||||||
|
bool mstr = msg.IsString();
|
||||||
|
|
||||||
|
#ifdef MOOS_AUV_SIM
|
||||||
|
if(key == "NAV_X")
|
||||||
|
{
|
||||||
|
//E->N
|
||||||
|
estimatedState.offsetEast = msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "NAV_Y")
|
||||||
|
{
|
||||||
|
//N->E
|
||||||
|
estimatedState.offsetNorth = msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "NAV_Z")
|
||||||
|
{
|
||||||
|
//U->D
|
||||||
|
estimatedState.offsetDown = -msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "NAV_YAW")
|
||||||
|
{
|
||||||
|
double yawTemp = msg.GetDouble();
|
||||||
|
if (std::abs(yawTemp) <= M_PI)
|
||||||
|
{
|
||||||
|
if (yawTemp <= 0)
|
||||||
|
{
|
||||||
|
estimatedState.yaw = -yawTemp * 180 / M_PI;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
estimatedState.yaw = (2 * M_PI - yawTemp) * 180 / M_PI;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(key == "NAV_PITCH")
|
||||||
|
{
|
||||||
|
estimatedState.pitch = msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "NAV_LAT")
|
||||||
|
{
|
||||||
|
estimatedState.currentLat = msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "NAV_LONG")
|
||||||
|
{
|
||||||
|
estimatedState.currentLon = msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "NAV_SPEED")
|
||||||
|
{
|
||||||
|
estimatedState.linearVelocityNorth = msg.GetDouble() * cos(estimatedState.yaw);
|
||||||
|
estimatedState.linearVelocityEast = -msg.GetDouble() * sin(estimatedState.yaw);
|
||||||
|
estimatedState.linearVelocityDown = 0;
|
||||||
|
}
|
||||||
|
if(key == "NAV_DEPTH")
|
||||||
|
{
|
||||||
|
estimatedState.depth = msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "Fault_LeakSensor")
|
||||||
|
{
|
||||||
|
embeddedInfo.fault_leakSensor = (uint32_t)msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "Fault_Battery")
|
||||||
|
{
|
||||||
|
embeddedInfo.fault_battery = (uint8_t)msg.GetDouble();
|
||||||
|
}
|
||||||
|
if(key == "Fault_EmergencyBattery")
|
||||||
|
{
|
||||||
|
embeddedInfo.fault_emergencyBattery = (uint8_t)(msg.GetDouble());
|
||||||
|
}
|
||||||
|
if(key == "Fault_Thrust")
|
||||||
|
{
|
||||||
|
embeddedInfo.fault_thrust = (uint8_t)(msg.GetDouble());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
if(key == "uManual_enable_cmd")
|
||||||
|
{
|
||||||
|
if (msg.GetDouble() == 1.0)
|
||||||
|
{
|
||||||
|
executeCommand.drive_mode = 0x02;
|
||||||
|
executeCommand.manual_mode = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
executeCommand.drive_mode = 0xFF;
|
||||||
|
executeCommand.manual_mode = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(key == "uManual_drive_cmd")
|
||||||
|
{
|
||||||
|
if (executeCommand.manual_mode)
|
||||||
|
{
|
||||||
|
std::string err;
|
||||||
|
Json::Value recvCommand;
|
||||||
|
std::istringstream iss(msg.GetString());
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
bool parsingResult = Json::parseFromStream(builder, iss, &recvCommand, &err);
|
||||||
|
if (!parsingResult)
|
||||||
|
{
|
||||||
|
std::cerr << "Failed to parse JSON string." << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
int thrust = recvCommand["Thrust"].asInt();
|
||||||
|
if ((thrust < -100) or (thrust > 100))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
executeCommand.thrust = convertIntToUchar(recvCommand["Thrust"].asInt(), -100, 100);
|
||||||
|
float heading = recvCommand["Heading"].asFloat();
|
||||||
|
if ((heading >= 0) && (heading <= 180))
|
||||||
|
{
|
||||||
|
executeCommand.yaw = heading * 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((heading < 0) && (heading >= -180))
|
||||||
|
{
|
||||||
|
executeCommand.yaw = (360 + heading) * 10;
|
||||||
|
}
|
||||||
|
if ((heading > 180) or (heading < -180))
|
||||||
|
{
|
||||||
|
executeCommand.yaw = 180 * 10;
|
||||||
|
}
|
||||||
|
executeCommand.depth = 0;
|
||||||
|
executeCommand.helm_top_angle = 0;
|
||||||
|
executeCommand.helm_bottom_angle = 0;
|
||||||
|
executeCommand.helm_left_angle = 0;
|
||||||
|
executeCommand.helm_right_angle = 0;
|
||||||
|
int serializeResult = serializeMessage(tcpSendBuffer);
|
||||||
|
if ((serializeResult == 0) && (tcpSockFD != -1))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
write(tcpSockFD, tcpSendBuffer, executeCommand.size);
|
||||||
|
}
|
||||||
|
catch(const std::exception& e)
|
||||||
|
{
|
||||||
|
std::cerr << e.what() << '\n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(key == "uMotion_control_cmd")
|
||||||
|
{
|
||||||
|
if (executeCommand.manual_mode)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::string err;
|
||||||
|
Json::Value recvCommand;
|
||||||
|
std::istringstream iss(msg.GetString());
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
bool parsingResult = Json::parseFromStream(builder, iss, &recvCommand, &err);
|
||||||
|
if (!parsingResult)
|
||||||
|
{
|
||||||
|
std::cerr << "Failed to parse JSON string." << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
executeCommand.thrust = convertIntToUchar(recvCommand["thrust"].asInt(), -100, 100);
|
||||||
|
executeCommand.helm_top_angle = convertIntToUchar(recvCommand["rudder"].asInt(), -30, 30);
|
||||||
|
executeCommand.helm_bottom_angle = convertIntToUchar(recvCommand["rudder"].asInt(), -30, 30);
|
||||||
|
executeCommand.helm_left_angle = convertIntToUchar(recvCommand["elevator"].asInt(), -30, 30);
|
||||||
|
executeCommand.helm_right_angle = convertIntToUchar(recvCommand["elevator"].asInt(), -30, 30);
|
||||||
|
|
||||||
|
int serializeResult = serializeMessage(tcpSendBuffer);
|
||||||
|
// std::cout << "serializeResult: " << serializeResult << std::endl;
|
||||||
|
// printf("header: %u, %u\n", tcpSendBuffer[0], tcpSendBuffer[1]);
|
||||||
|
// printf("count: %u\n", tcpSendBuffer[2], tcpSendBuffer[3]);
|
||||||
|
// printf("size: %u\n", tcpSendBuffer[4]);
|
||||||
|
// printf("drive_mode: %u\n", tcpSendBuffer[5]);
|
||||||
|
// printf("thrust: %u\n", tcpSendBuffer[6]);
|
||||||
|
// printf("yaw: %u, %u\n", tcpSendBuffer[7], tcpSendBuffer[8]);
|
||||||
|
// printf("depth: %u, %u\n", tcpSendBuffer[9], tcpSendBuffer[10]);
|
||||||
|
// printf("helm_top_angle: %u\n", tcpSendBuffer[11]);
|
||||||
|
// printf("helm_bottom_angle: %u\n", tcpSendBuffer[12]);
|
||||||
|
// printf("helm_left_angle: %u\n", tcpSendBuffer[13]);
|
||||||
|
// printf("helm_right_angle: %u\n", tcpSendBuffer[14]);
|
||||||
|
// printf("light_enable: %u\n", tcpSendBuffer[15]);
|
||||||
|
// printf("dvl_enable: %u\n", tcpSendBuffer[16]);
|
||||||
|
// printf("throwing_load_enable: %u\n", tcpSendBuffer[17]);
|
||||||
|
// printf("crc: %u\n", tcpSendBuffer[18]);
|
||||||
|
// printf("footer: %u, %u\n", tcpSendBuffer[19], tcpSendBuffer[20]);
|
||||||
|
if ((serializeResult == 0) && (tcpSockFD != -1))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
write(tcpSockFD, tcpSendBuffer, executeCommand.size);
|
||||||
|
}
|
||||||
|
catch(const std::exception& e)
|
||||||
|
{
|
||||||
|
std::cerr << e.what() << '\n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(key == "uMission_origin_cmd")
|
||||||
|
{
|
||||||
|
std::string err;
|
||||||
|
Json::Value recvCommand;
|
||||||
|
std::istringstream iss(msg.GetString());
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
bool parsingResult = Json::parseFromStream(builder, iss, &recvCommand, &err);
|
||||||
|
if (!parsingResult)
|
||||||
|
{
|
||||||
|
std::cerr << "Failed to parse JSON string." << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
estimatedState.referenceAltitude = recvCommand["alt"].asFloat();
|
||||||
|
estimatedState.referenceLat = recvCommand["lat"].asFloat();
|
||||||
|
estimatedState.referenceLon = recvCommand["lon"].asFloat();
|
||||||
|
|
||||||
|
struct stat info;
|
||||||
|
if (stat(llaOriginPath.c_str(), &info) == 0)
|
||||||
|
{
|
||||||
|
std::ifstream ifs;
|
||||||
|
ifs.open(llaOriginPath, std::ios::in);
|
||||||
|
|
||||||
|
Json::Reader reader;
|
||||||
|
Json::Value originJsonValue;
|
||||||
|
reader.parse(ifs, originJsonValue);
|
||||||
|
ifs.close();
|
||||||
|
|
||||||
|
originJsonValue["LongOrigin"] = recvCommand["lon"].asFloat();
|
||||||
|
originJsonValue["LatOrigin"] = recvCommand["lat"].asFloat();
|
||||||
|
originJsonValue["AltOrigin"] = recvCommand["alt"].asFloat();
|
||||||
|
originJsonValue["TaskName"] = recvCommand["task"].asString();
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::ofstream ofs;
|
||||||
|
ofs.open(llaOriginPath, std::ios::out);
|
||||||
|
ofs << Json::writeString(builder, originJsonValue) << std::endl;
|
||||||
|
ofs.close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Json::Value originJsonValue;
|
||||||
|
originJsonValue["LongOrigin"] = recvCommand["lon"].asFloat();
|
||||||
|
originJsonValue["LatOrigin"] = recvCommand["lat"].asFloat();
|
||||||
|
originJsonValue["AltOrigin"] = recvCommand["alt"].asFloat();
|
||||||
|
originJsonValue["TaskName"] = recvCommand["task"].asString();
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::ofstream ofs;
|
||||||
|
ofs.open(llaOriginPath, std::ios::out);
|
||||||
|
ofs << Json::writeString(builder, originJsonValue) << std::endl;
|
||||||
|
ofs.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t BoardSupportComm::convertIntToUchar(int src, int min, int max)
|
||||||
|
{
|
||||||
|
uint8_t dst;
|
||||||
|
if (src < 0)
|
||||||
|
{
|
||||||
|
if (src < min)
|
||||||
|
{
|
||||||
|
dst = std::abs(min) + 0B10000000;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dst = std::abs(src) + 0B10000000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (src > max)
|
||||||
|
{
|
||||||
|
dst = std::abs(max);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dst = std::abs(src);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BoardSupportComm::OnConnectToServer()
|
||||||
|
{
|
||||||
|
RegisterVariables();
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string BoardSupportComm::convertEmbeddedFormat(Json::Value &embeddedState)
|
||||||
|
{
|
||||||
|
#ifdef MOOS_AUV_SIM
|
||||||
|
embeddedState["driveMode"] = 0xFF;
|
||||||
|
embeddedState["height"] = 0;
|
||||||
|
embeddedState["depth"] = 0;
|
||||||
|
embeddedState["yaw"] = estimatedState.yaw;
|
||||||
|
embeddedState["pitch"] = 0;
|
||||||
|
embeddedState["roll"] = 0;
|
||||||
|
embeddedState["insVX"] = estimatedState.linearVelocityNorth * 0.01;
|
||||||
|
embeddedState["insVY"] = estimatedState.linearVelocityEast * 0.01;
|
||||||
|
embeddedState["insVZ"] = estimatedState.linearVelocityDown * 0.01;
|
||||||
|
embeddedState["currentLon"] = estimatedState.currentLon;
|
||||||
|
embeddedState["currentLat"] = estimatedState.currentLat;
|
||||||
|
embeddedState["currentAltitude"] = 0;
|
||||||
|
embeddedState["dvlVX"] = 0;
|
||||||
|
embeddedState["dvlVY"] = 0;
|
||||||
|
embeddedState["dvlVZ"] = 0;
|
||||||
|
embeddedState["rpm"] = 0;
|
||||||
|
embeddedState["lightEnable"] = 0;
|
||||||
|
embeddedState["batteryVoltage"] = 15;
|
||||||
|
embeddedState["batteryLevel"] = 60;
|
||||||
|
embeddedState["batteryTemp"] = 25;
|
||||||
|
// embeddedState["faultLeakSensor"] = 0;
|
||||||
|
// embeddedState["faultBattery"] = 0;
|
||||||
|
// embeddedState["faultEmergencyBattery"] = 0;
|
||||||
|
// embeddedState["faultThrust"] = 0;
|
||||||
|
embeddedState["faultLeakSensor"] = embeddedInfo.fault_leakSensor;
|
||||||
|
embeddedState["faultBattery"] = embeddedInfo.fault_battery;
|
||||||
|
embeddedState["faultEmergencyBattery"] = embeddedInfo.fault_emergencyBattery;
|
||||||
|
embeddedState["faultThrust"] = embeddedInfo.fault_thrust;
|
||||||
|
|
||||||
|
embeddedState["iridium"] = 0xFF;
|
||||||
|
embeddedState["throwingLoadEnable"] = 0xFF;
|
||||||
|
embeddedState["dvlStatus"] = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MATLAB_AUV_SIM
|
||||||
|
embeddedState["driveMode"] = embeddedInfo.drive_mode;
|
||||||
|
embeddedState["height"] = embeddedInfo.height * 0.01;
|
||||||
|
embeddedState["depth"] = embeddedInfo.depth * 0.01;
|
||||||
|
embeddedState["roll"] = embeddedInfo.roll * 0.01 * M_PI / 180; //N->N
|
||||||
|
embeddedState["pitch"] = embeddedInfo.pitch * 0.01 * M_PI / 180; //E->E
|
||||||
|
embeddedState["yaw"] = embeddedInfo.yaw * 0.01 * M_PI / 180; //D->D
|
||||||
|
embeddedState["insVX"] = embeddedInfo.ins_vx * 0.01; //N->N
|
||||||
|
embeddedState["insVY"] = embeddedInfo.ins_vy * 0.01; //E->E
|
||||||
|
embeddedState["insVZ"] = embeddedInfo.ins_vz * 0.01; //D->D
|
||||||
|
embeddedState["currentLon"] = embeddedInfo.lon * 0.000001;
|
||||||
|
embeddedState["currentLat"] = embeddedInfo.lat * 0.000001;
|
||||||
|
embeddedState["currentAltitude"] = embeddedInfo.alt * 0.01;
|
||||||
|
embeddedState["dvlVX"] = embeddedInfo.dvl_vx * 0.01; //N->N
|
||||||
|
embeddedState["dvlVY"] = embeddedInfo.dvl_vy * 0.01; //E->E
|
||||||
|
embeddedState["dvlVZ"] = embeddedInfo.dvl_vz * 0.01; //D->D
|
||||||
|
embeddedState["rpm"] = embeddedInfo.rpm;
|
||||||
|
embeddedState["lightEnable"] = embeddedInfo.light_enable;
|
||||||
|
embeddedState["batteryVoltage"] = embeddedInfo.battery_voltage;
|
||||||
|
embeddedState["batteryLevel"] = embeddedInfo.battery_level;
|
||||||
|
embeddedState["batteryTemp"] = embeddedInfo.battery_temp * 0.1;
|
||||||
|
embeddedState["faultLeakSensor"] = embeddedInfo.fault_leakSensor;
|
||||||
|
embeddedState["faultBattery"] = embeddedInfo.fault_battery;
|
||||||
|
embeddedState["faultEmergencyBattery"] = embeddedInfo.fault_emergencyBattery;
|
||||||
|
embeddedState["faultThrust"] = embeddedInfo.fault_thrust;
|
||||||
|
embeddedState["iridium"] = embeddedInfo.iridium;
|
||||||
|
embeddedState["throwingLoadEnable"] = embeddedInfo.throwing_load;
|
||||||
|
embeddedState["dvlStatus"] = embeddedInfo.dvl_status;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TRUE_AUV
|
||||||
|
embeddedState["driveMode"] = embeddedInfo.drive_mode;
|
||||||
|
embeddedState["height"] = embeddedInfo.height * 0.01;
|
||||||
|
embeddedState["depth"] = embeddedInfo.depth * 0.01;
|
||||||
|
embeddedState["roll"] = embeddedInfo.pitch * 0.01 * M_PI / 180; //E->N
|
||||||
|
embeddedState["pitch"] = embeddedInfo.roll * 0.01 * M_PI / 180; //N->E
|
||||||
|
embeddedState["yaw"] = embeddedInfo.yaw * 0.01 * M_PI / 180; //D->D
|
||||||
|
embeddedState["insVX"] = embeddedInfo.ins_vy * 0.01; //E->N
|
||||||
|
embeddedState["insVY"] = embeddedInfo.ins_vx * 0.01; //N->E
|
||||||
|
embeddedState["insVZ"] = -embeddedInfo.ins_vz * 0.01; //U->D
|
||||||
|
embeddedState["currentLon"] = embeddedInfo.lon * 0.000001;
|
||||||
|
embeddedState["currentLat"] = embeddedInfo.lat * 0.000001;
|
||||||
|
embeddedState["currentAltitude"] = embeddedInfo.alt * 0.01;
|
||||||
|
embeddedState["dvlVX"] = embeddedInfo.dvl_vy * 0.01; //E->N
|
||||||
|
embeddedState["dvlVY"] = embeddedInfo.dvl_vx * 0.01; //N->E
|
||||||
|
embeddedState["dvlVZ"] = -embeddedInfo.dvl_vz * 0.01; //U->D
|
||||||
|
embeddedState["rpm"] = embeddedInfo.rpm;
|
||||||
|
embeddedState["lightEnable"] = embeddedInfo.light_enable;
|
||||||
|
embeddedState["batteryVoltage"] = embeddedInfo.battery_voltage;
|
||||||
|
embeddedState["batteryLevel"] = embeddedInfo.battery_level;
|
||||||
|
embeddedState["batteryTemp"] = embeddedInfo.battery_temp * 0.1;
|
||||||
|
embeddedState["faultLeakSensor"] = embeddedInfo.fault_leakSensor;
|
||||||
|
embeddedState["faultBattery"] = embeddedInfo.fault_battery;
|
||||||
|
embeddedState["faultEmergencyBattery"] = embeddedInfo.fault_emergencyBattery;
|
||||||
|
embeddedState["faultThrust"] = embeddedInfo.fault_thrust;
|
||||||
|
embeddedState["iridium"] = embeddedInfo.iridium;
|
||||||
|
embeddedState["throwingLoadEnable"] = embeddedInfo.throwing_load;
|
||||||
|
embeddedState["dvlStatus"] = embeddedInfo.dvl_status;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
double currentLon = embeddedInfo.lon * 0.000001;
|
||||||
|
double currentLat = embeddedInfo.lat * 0.000001;
|
||||||
|
double currentAlt = embeddedInfo.alt * 0.01;
|
||||||
|
std::vector<double> reference = {estimatedState.referenceLon, estimatedState.referenceLat, estimatedState.referenceAltitude};
|
||||||
|
std::vector<double> current = {currentLon, currentLat, currentAlt};
|
||||||
|
std::vector<double> ned = {0, 0, 0};
|
||||||
|
ConvertLLAToNED(reference, current, ned);
|
||||||
|
embeddedState["north"] = ned.at(0);
|
||||||
|
embeddedState["east"]= ned.at(1);
|
||||||
|
embeddedState["referenceLon"]= estimatedState.referenceLon;
|
||||||
|
embeddedState["referenceLat"]= estimatedState.referenceLat;
|
||||||
|
embeddedState["referenceAltitude"]= estimatedState.referenceAltitude;
|
||||||
|
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::string embeddedStateString = Json::writeString(builder, embeddedState);
|
||||||
|
return embeddedStateString;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BoardSupportComm::tcpProcessThread()
|
||||||
|
{
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
|
bzero(tcpReceiveBuffer, 0);
|
||||||
|
int lens = read(tcpSockFD, tcpReceiveBuffer, sizeof(tcpReceiveBuffer));
|
||||||
|
if(lens>0)
|
||||||
|
{
|
||||||
|
#ifndef MOOS_AUV_SIM
|
||||||
|
parseMessage((unsigned char* )tcpReceiveBuffer, lens);
|
||||||
|
#endif
|
||||||
|
Json::Value embeddedState;
|
||||||
|
std::string embeddedStateString = convertEmbeddedFormat(embeddedState);
|
||||||
|
Notify("uDevice_monitor_fb", embeddedStateString);
|
||||||
|
#ifndef MOOS_AUV_SIM
|
||||||
|
Notify("NAV_X", embeddedState["north"].asDouble());
|
||||||
|
Notify("NAV_Y", embeddedState["east"].asDouble());
|
||||||
|
Notify("NAV_Z", embeddedState["depth"].asDouble());
|
||||||
|
Notify("NAV_LAT", embeddedState["currentLat"].asDouble());
|
||||||
|
Notify("NAV_LONG", embeddedState["currentLon"].asDouble());
|
||||||
|
Notify("NAV_HEADING", embeddedState["yaw"].asDouble() * 180 / M_PI);
|
||||||
|
double driveSpeed = std::sqrt(std::pow((double)embeddedState["dvlVX"].asDouble(), 2)
|
||||||
|
+ std::pow((double)embeddedState["dvlVY"].asDouble(), 2)
|
||||||
|
+ std::pow((double)embeddedState["dvlVZ"].asDouble(), 2));
|
||||||
|
Notify("NAV_SPEED", driveSpeed);
|
||||||
|
Notify("NAV_DEPTH", embeddedState["depth"].asDouble());
|
||||||
|
Notify("NAV_ROLL", embeddedState["roll"].asDouble() * 180 / M_PI);
|
||||||
|
Notify("NAV_PITCH", embeddedState["pitch"].asDouble() * 180 / M_PI);
|
||||||
|
Notify("NAV_YAW", embeddedState["yaw"].asDouble() * 180 / M_PI);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// bool BoardSupportComm::buildReport()
|
||||||
|
// {
|
||||||
|
// m_msgs << "buildReport:" << embeddedStateString << endl;
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
bool BoardSupportComm::Iterate()
|
||||||
|
{
|
||||||
|
// AppCastingMOOSApp::Iterate();
|
||||||
|
|
||||||
|
if(tcpSockFD == -1)
|
||||||
|
{
|
||||||
|
tcpSockFD = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
|
if(tcpSockFD == -1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(tcpConnectRet == -1)
|
||||||
|
{
|
||||||
|
struct sockaddr_in saddr;
|
||||||
|
//inet_pton(AF_INET, TCP_SERVER_ADDRESS, &saddr.sin_addr.s_addr);
|
||||||
|
saddr.sin_addr.s_addr = inet_addr(TCP_SERVER_ADDRESS);
|
||||||
|
saddr.sin_family = AF_INET;
|
||||||
|
saddr.sin_port = htons(TCP_RECEIVE_PORT);
|
||||||
|
tcpConnectRet = connect(tcpSockFD, (struct sockaddr *)&saddr, sizeof(saddr));
|
||||||
|
if(tcpConnectRet == -1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((tcpSockFD != -1) && (tcpConnectRet != -1))
|
||||||
|
{
|
||||||
|
std::thread t1(&BoardSupportComm::tcpProcessThread, this);
|
||||||
|
t1.detach();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
printf("header: %hx\n", embeddedInfo.header);
|
||||||
|
printf("count: %hu\n", embeddedInfo.count);
|
||||||
|
printf("size: %u\n", embeddedInfo.size);
|
||||||
|
printf("drive_mode: %u\n", embeddedInfo.drive_mode);
|
||||||
|
printf("height: %hu\n", embeddedInfo.height);
|
||||||
|
printf("depth: %hu\n", embeddedInfo.depth);
|
||||||
|
printf("yaw: %hu\n", embeddedInfo.yaw);
|
||||||
|
printf("pitch: %hd\n", embeddedInfo.pitch);
|
||||||
|
printf("roll: %hd\n", embeddedInfo.roll);
|
||||||
|
printf("ins_vx: %hd\n", embeddedInfo.ins_vx);
|
||||||
|
printf("ins_vy: %hd\n", embeddedInfo.ins_vy);
|
||||||
|
printf("ins_vz: %hd\n", embeddedInfo.ins_vz);
|
||||||
|
printf("lon: %d\n", embeddedInfo.lon);
|
||||||
|
printf("lat: %d\n", embeddedInfo.lat);
|
||||||
|
printf("alt: %hd\n", embeddedInfo.alt);
|
||||||
|
printf("dvl_vx: %hd\n", embeddedInfo.dvl_vx);
|
||||||
|
printf("dvl_vy: %hd\n", embeddedInfo.dvl_vy);
|
||||||
|
printf("dvl_vz: %hd\n", embeddedInfo.dvl_vz);
|
||||||
|
printf("rpm: %hd\n", embeddedInfo.rpm);
|
||||||
|
printf("light_enable: %u\n", embeddedInfo.light_enable);
|
||||||
|
printf("battery_voltage: %u\n", embeddedInfo.battery_voltage);
|
||||||
|
printf("battery_level: %u\n", embeddedInfo.battery_level);
|
||||||
|
printf("battery_temp: %u\n", embeddedInfo.battery_temp);
|
||||||
|
printf("fault_leakSensor: %hd\n", embeddedInfo.fault_leakSensor);
|
||||||
|
printf("fault_battery: %u\n", embeddedInfo.fault_battery);
|
||||||
|
printf("fault_emergencyBattery: %u\n", embeddedInfo.fault_emergencyBattery);
|
||||||
|
printf("fault_thrust: %u\n", embeddedInfo.fault_thrust);
|
||||||
|
printf("iridium: %u\n", embeddedInfo.iridium);
|
||||||
|
printf("throwing_load: %u\n", embeddedInfo.throwing_load);
|
||||||
|
printf("dvl_status: %u\n", embeddedInfo.dvl_status);
|
||||||
|
printf("crc: %u\n", embeddedInfo.crc);
|
||||||
|
printf("footer: %u\n", embeddedInfo.footer);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MOOS_AUV_SIM
|
||||||
|
executeCommand.header = 0xEBA2; //1:[0,1]
|
||||||
|
executeCommand.count = 16; //2:[2,3]
|
||||||
|
executeCommand.size = 21; //3:[4]
|
||||||
|
executeCommand.drive_mode = 0x02; //4:[5]
|
||||||
|
executeCommand.thrust = 178; //5:[6],赋值-50
|
||||||
|
executeCommand.yaw = 45.3 * 10; //6:[7,8],赋值45.3
|
||||||
|
executeCommand.depth = 298.6 * 10; //7:[9,10],赋值298.6
|
||||||
|
executeCommand.helm_top_angle = 145; //8:[11],赋值-17
|
||||||
|
executeCommand.helm_bottom_angle = 154; //9:[12],赋值-26
|
||||||
|
executeCommand.helm_left_angle = 9; //10:[13],赋值9
|
||||||
|
executeCommand.helm_right_angle = 158; //11:[14],赋值-30
|
||||||
|
executeCommand.light_enable = 1; //12:[15],赋值1
|
||||||
|
executeCommand.dvl_enable = 1; //13:[16],赋值1
|
||||||
|
executeCommand.throwing_load_enable = 1; //14:[17],赋值1
|
||||||
|
executeCommand.crc = 0; //15:[18]
|
||||||
|
executeCommand.footer = 0xEE2A; //16:[19,20]
|
||||||
|
|
||||||
|
int serializeResult = serializeMessage(tcpSendBuffer);
|
||||||
|
if (serializeResult == 0)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
write(tcpSockFD, tcpSendBuffer, executeCommand.size);
|
||||||
|
}
|
||||||
|
catch(const std::exception& e)
|
||||||
|
{
|
||||||
|
std::cerr << e.what() << '\n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//AppCastingMOOSApp::PostReport();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Type>
|
||||||
|
inline uint16_t BoardSupportComm::serialize(const Type t, uint8_t* bfr, uint16_t& sumSize)
|
||||||
|
{
|
||||||
|
uint16_t size = sizeof(Type);
|
||||||
|
std::memcpy(bfr, &t, size);
|
||||||
|
sumSize += size;
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
int BoardSupportComm::serializeMessage(unsigned char* buffer)
|
||||||
|
{
|
||||||
|
uint8_t* ptr = buffer;
|
||||||
|
uint16_t sumSize = 0;
|
||||||
|
ptr += serialize(executeCommand.header, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.count, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.size, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.drive_mode, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.thrust, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.yaw, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.depth, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.helm_top_angle, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.helm_bottom_angle, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.helm_left_angle, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.helm_right_angle, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.light_enable, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.dvl_enable, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.throwing_load_enable, ptr, sumSize);
|
||||||
|
DUNE::Algorithms::CRC8 crc(0x07);
|
||||||
|
crc.putArray(buffer+CRC_COMPUTE_START_POS, CRC_COMPUTE_SUM_SIZE);
|
||||||
|
executeCommand.crc = crc.get();
|
||||||
|
ptr += serialize(executeCommand.crc, ptr, sumSize);
|
||||||
|
ptr += serialize(executeCommand.footer, ptr, sumSize);
|
||||||
|
if (sumSize != (uint16_t)executeCommand.size)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename Type>
|
||||||
|
inline uint16_t BoardSupportComm::deserialize(Type& t, const uint8_t* bfr, uint16_t& length)
|
||||||
|
{
|
||||||
|
uint16_t size = sizeof(Type);
|
||||||
|
|
||||||
|
std::memcpy(&t, bfr, size);
|
||||||
|
length -= size;
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
int BoardSupportComm::parseMessage(unsigned char* buffer, int size)
|
||||||
|
{
|
||||||
|
const uint8_t* ptr = buffer;
|
||||||
|
uint16_t size__ = size;
|
||||||
|
uint16_t header;
|
||||||
|
ptr += deserialize(embeddedInfo.header, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.count, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.size, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.drive_mode, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.height, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.depth, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.yaw, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.pitch, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.roll, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.ins_vx, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.ins_vy, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.ins_vz, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.lon, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.lat, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.alt, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.dvl_vx, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.dvl_vy, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.dvl_vz, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.rpm, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.light_enable, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.battery_voltage, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.battery_level, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.battery_temp, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.fault_leakSensor, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.fault_battery, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.fault_emergencyBattery, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.fault_thrust, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.iridium, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.throwing_load, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.dvl_status, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.crc, ptr, size__);
|
||||||
|
ptr += deserialize(embeddedInfo.footer, ptr, size__);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BoardSupportComm::OnStartUp()
|
||||||
|
{
|
||||||
|
// AppCastingMOOSApp::OnStartUp();
|
||||||
|
m_MissionReader.GetValue("llaOriginPath", llaOriginPath);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
struct stat info;
|
||||||
|
if (stat(llaOriginPath.c_str(), &info) == 0)
|
||||||
|
{
|
||||||
|
std::ifstream ifs;
|
||||||
|
ifs.open(llaOriginPath, std::ios::in);
|
||||||
|
|
||||||
|
Json::Reader reader;
|
||||||
|
Json::Value originJsonValue;
|
||||||
|
reader.parse(ifs, originJsonValue);
|
||||||
|
ifs.close();
|
||||||
|
|
||||||
|
if (originJsonValue.isMember("LongOrigin") &&
|
||||||
|
originJsonValue.isMember("LatOrigin") &&
|
||||||
|
originJsonValue.isMember("AltOrigin"))
|
||||||
|
{
|
||||||
|
estimatedState.referenceLon = originJsonValue["LongOrigin"].asFloat();
|
||||||
|
estimatedState.referenceLat = originJsonValue["LatOrigin"].asFloat();
|
||||||
|
estimatedState.referenceAltitude = originJsonValue["AltOrigin"].asFloat();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(...)
|
||||||
|
{
|
||||||
|
m_MissionReader.GetValue("LongOrigin", estimatedState.referenceLon);
|
||||||
|
m_MissionReader.GetValue("LatOrigin", estimatedState.referenceLat);
|
||||||
|
m_MissionReader.GetValue("AltOrigin", estimatedState.referenceAltitude);
|
||||||
|
}
|
||||||
|
|
||||||
|
// std::cout << "BoardSupportComm OnStartUp: " << estimatedState.referenceLon << ", "
|
||||||
|
// << estimatedState.referenceLat << ", "
|
||||||
|
// << estimatedState.referenceAltitude << std::endl;
|
||||||
|
|
||||||
|
RegisterVariables();
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BoardSupportComm::RegisterVariables()
|
||||||
|
{
|
||||||
|
// AppCastingMOOSApp::RegisterVariables();
|
||||||
|
|
||||||
|
#ifdef MOOS_AUV_SIM
|
||||||
|
Register("NAV_X", 0);
|
||||||
|
Register("NAV_Y", 0);
|
||||||
|
Register("NAV_Z", 0);
|
||||||
|
Register("NAV_LAT", 0);
|
||||||
|
Register("NAV_LONG", 0);
|
||||||
|
Register("NAV_SPEED", 0);
|
||||||
|
Register("NAV_DEPTH", 0);
|
||||||
|
Register("NAV_YAW", 0);
|
||||||
|
Register("NAV_PITCH", 0);
|
||||||
|
Register("Fault_LeakSensor", 0);
|
||||||
|
Register("Fault_Battery", 0);
|
||||||
|
Register("Fault_EmergencyBattery", 0);
|
||||||
|
Register("Fault_Thrust", 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Register("uManual_drive_cmd", 0);
|
||||||
|
Register("uMotion_control_cmd", 0);
|
||||||
|
Register("uManual_enable_cmd", 0);
|
||||||
|
Register("uMission_origin_cmd", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BoardSupportComm::ConvertLLAToENU(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_lla,
|
||||||
|
std::vector<double>& point_enu)
|
||||||
|
{
|
||||||
|
static GeographicLib::LocalCartesian local_cartesian;
|
||||||
|
local_cartesian.Reset(init_lla.at(1), init_lla.at(0), init_lla.at(2));
|
||||||
|
local_cartesian.Forward(point_lla.at(1), point_lla.at(0), point_lla.at(2),
|
||||||
|
point_enu.at(0), point_enu.at(1), point_enu.at(2));
|
||||||
|
}
|
||||||
|
|
||||||
|
void BoardSupportComm::ConvertENUToLLA(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_enu,
|
||||||
|
std::vector<double> &point_lla)
|
||||||
|
{
|
||||||
|
static GeographicLib::LocalCartesian local_cartesian;
|
||||||
|
local_cartesian.Reset(init_lla.at(1), init_lla.at(0), init_lla.at(2));
|
||||||
|
local_cartesian.Reverse(point_enu.at(0), point_enu.at(1), point_enu.at(2),
|
||||||
|
point_lla.at(1), point_lla.at(0), point_lla.at(2));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BoardSupportComm::ConvertLLAToNED(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_lla,
|
||||||
|
std::vector<double>& point_ned)
|
||||||
|
{
|
||||||
|
static GeographicLib::LocalCartesian local_cartesian;
|
||||||
|
local_cartesian.Reset(init_lla.at(1), init_lla.at(0), init_lla.at(2));
|
||||||
|
|
||||||
|
double point_e = 0;
|
||||||
|
double point_n = 0;
|
||||||
|
double point_u = 0;
|
||||||
|
local_cartesian.Forward(point_lla.at(1), point_lla.at(0), point_lla.at(2),
|
||||||
|
point_e, point_n, point_u);
|
||||||
|
point_ned.at(0) = point_n;
|
||||||
|
point_ned.at(1) = point_e;
|
||||||
|
point_ned.at(2) = -point_u;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void BoardSupportComm::ConvertNEDToLLA(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_ned,
|
||||||
|
std::vector<double> &point_lla)
|
||||||
|
{
|
||||||
|
static GeographicLib::LocalCartesian local_cartesian;
|
||||||
|
local_cartesian.Reset(init_lla.at(1), init_lla.at(0), init_lla.at(2));
|
||||||
|
|
||||||
|
double point_e = point_ned.at(1);
|
||||||
|
double point_n = point_ned.at(0);
|
||||||
|
double point_u = -point_ned.at(2);
|
||||||
|
|
||||||
|
local_cartesian.Reverse(point_e, point_n, point_u,
|
||||||
|
point_lla.at(1), point_lla.at(0), point_lla.at(2));
|
||||||
|
}
|
||||||
156
src/pBoardSupportComm/BoardSupportComm.h
Normal file
156
src/pBoardSupportComm/BoardSupportComm.h
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: BoardSupportComm.h */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#ifndef BoardSupportComm_HEADER
|
||||||
|
#define BoardSupportComm_HEADER
|
||||||
|
|
||||||
|
#include "MOOS/libMOOS/MOOSLib.h"
|
||||||
|
#include "MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
|
||||||
|
#include <DUNE/DUNE.hpp>
|
||||||
|
#include <GeographicLib/LocalCartesian.hpp>
|
||||||
|
#include <json/json.h>
|
||||||
|
#include <thread>
|
||||||
|
#include <chrono>
|
||||||
|
|
||||||
|
#define CRC_COMPUTE_START_POS 5
|
||||||
|
#define CRC_COMPUTE_SUM_SIZE 13
|
||||||
|
|
||||||
|
struct AUVEmbedded
|
||||||
|
{
|
||||||
|
uint16_t header; //1:[0,1]
|
||||||
|
uint16_t count; //2:[2,3]
|
||||||
|
uint8_t size; //3:[4]
|
||||||
|
uint8_t drive_mode; //4:[5]
|
||||||
|
uint16_t height; //5:[6,7]
|
||||||
|
uint16_t depth; //6:[8,9]
|
||||||
|
uint16_t yaw; //7:[10,11]
|
||||||
|
int16_t pitch; //8:[12,13]
|
||||||
|
int16_t roll; //9:[14,15]
|
||||||
|
int16_t ins_vx; //10:[16,17]
|
||||||
|
int16_t ins_vy; //11:[18,19]
|
||||||
|
int16_t ins_vz; //12:[20,21]
|
||||||
|
int32_t lon; //13:[22,23,24,25]
|
||||||
|
int32_t lat; //14:[26,27,28,29]
|
||||||
|
int16_t alt; //15:[30,31]
|
||||||
|
int16_t dvl_vx; //16:[32,33]
|
||||||
|
int16_t dvl_vy; //17:[34,35]
|
||||||
|
int16_t dvl_vz; //18:[36,37]
|
||||||
|
int16_t rpm; //19:[38,39]
|
||||||
|
uint8_t light_enable; //20:[40]
|
||||||
|
uint16_t battery_voltage; //21:[41,42]
|
||||||
|
uint8_t battery_level; //22:[43]
|
||||||
|
uint16_t battery_temp; //23:[44,45]
|
||||||
|
uint32_t fault_leakSensor; //24:[46,47,48,49]
|
||||||
|
uint8_t fault_battery; //25:[50]
|
||||||
|
uint8_t fault_emergencyBattery; //26:[51]
|
||||||
|
uint8_t fault_thrust; //27:[52]
|
||||||
|
uint8_t iridium; //28:[53]
|
||||||
|
uint8_t throwing_load; //29:[54]
|
||||||
|
uint8_t dvl_status; //30:[55]
|
||||||
|
uint8_t crc; //31:[56]
|
||||||
|
uint16_t footer; //32:[57,58]
|
||||||
|
};
|
||||||
|
|
||||||
|
struct AUVExecuteCommand
|
||||||
|
{
|
||||||
|
uint16_t header; //1:[0,1]
|
||||||
|
uint16_t count; //2:[2,3]
|
||||||
|
uint8_t size; //3:[4]
|
||||||
|
uint8_t drive_mode; //4:[5]
|
||||||
|
uint8_t thrust; //5:[6]
|
||||||
|
uint16_t yaw; //6:[7,8]
|
||||||
|
uint16_t depth; //7:[9,10]
|
||||||
|
uint8_t helm_top_angle; //8:[11]
|
||||||
|
uint8_t helm_bottom_angle;//9:[12]
|
||||||
|
uint8_t helm_left_angle; //10:[13]
|
||||||
|
uint8_t helm_right_angle;//11:[14]
|
||||||
|
uint8_t light_enable; //12:[15]
|
||||||
|
uint8_t dvl_enable; //13:[16]
|
||||||
|
uint8_t throwing_load_enable; //14:[17]
|
||||||
|
uint8_t crc; //15:[18]
|
||||||
|
uint16_t footer; //16:[19,20]
|
||||||
|
bool manual_mode;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct EstimatedState {
|
||||||
|
float referenceLon;
|
||||||
|
float referenceLat;
|
||||||
|
float referenceAltitude;
|
||||||
|
float currentLon;
|
||||||
|
float currentLat;
|
||||||
|
float currentAltitude;
|
||||||
|
float offsetNorth;
|
||||||
|
float offsetEast;
|
||||||
|
float offsetDown;
|
||||||
|
float roll;
|
||||||
|
float pitch;
|
||||||
|
float yaw;
|
||||||
|
float linearVelocityNorth;
|
||||||
|
float linearVelocityEast;
|
||||||
|
float linearVelocityDown;
|
||||||
|
float height;
|
||||||
|
float depth;
|
||||||
|
};
|
||||||
|
|
||||||
|
class BoardSupportComm : public CMOOSApp
|
||||||
|
// class BoardSupportComm : public AppCastingMOOSApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BoardSupportComm();
|
||||||
|
~BoardSupportComm();
|
||||||
|
|
||||||
|
protected: // Standard MOOSApp functions to overload
|
||||||
|
bool OnNewMail(MOOSMSG_LIST &NewMail);
|
||||||
|
bool Iterate();
|
||||||
|
bool OnConnectToServer();
|
||||||
|
bool OnStartUp();
|
||||||
|
void RegisterVariables();
|
||||||
|
// bool buildReport();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
struct EstimatedState estimatedState;
|
||||||
|
|
||||||
|
void ConvertLLAToENU(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_lla,
|
||||||
|
std::vector<double>& point_enu);
|
||||||
|
void ConvertENUToLLA(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_enu,
|
||||||
|
std::vector<double> &point_lla);
|
||||||
|
void ConvertLLAToNED(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_lla,
|
||||||
|
std::vector<double>& point_ned);
|
||||||
|
void ConvertNEDToLLA(std::vector<double> init_lla,
|
||||||
|
std::vector<double> point_ned,
|
||||||
|
std::vector<double> &point_lla);
|
||||||
|
|
||||||
|
void tcpProcessThread();
|
||||||
|
// std::string convertEmbeddedFormat();
|
||||||
|
std::string convertEmbeddedFormat(Json::Value &embeddedState);
|
||||||
|
int tcpSockFD;
|
||||||
|
int tcpConnectRet;
|
||||||
|
char tcpReceiveBuffer[65535];
|
||||||
|
unsigned char tcpSendBuffer[65535];
|
||||||
|
int parseMessage(unsigned char* buffer, int size);
|
||||||
|
int serializeMessage(unsigned char* buffer);
|
||||||
|
|
||||||
|
template <typename Type> inline uint16_t deserialize(Type& t, const uint8_t* bfr, uint16_t& length);
|
||||||
|
template <typename Type> inline uint16_t serialize(const Type t, uint8_t* bfr, uint16_t& sumSize);
|
||||||
|
uint8_t convertIntToUchar(int src, int min, int max);
|
||||||
|
|
||||||
|
struct AUVEmbedded embeddedInfo;
|
||||||
|
struct AUVExecuteCommand executeCommand;
|
||||||
|
int testFlag = 0;
|
||||||
|
bool testCount = false;
|
||||||
|
int sockfd = -1;
|
||||||
|
int connectFlg = -1;
|
||||||
|
std::string llaOriginPath;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
115
src/pBoardSupportComm/BoardSupportComm_Info.cpp
Normal file
115
src/pBoardSupportComm/BoardSupportComm_Info.cpp
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: BoardSupportComm_Info.cpp */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
|
#include "BoardSupportComm_Info.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "ReleaseInfo.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showSynopsis
|
||||||
|
|
||||||
|
void showSynopsis()
|
||||||
|
{
|
||||||
|
blk("SYNOPSIS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" The pBoardSupportComm application is used for ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showHelpAndExit
|
||||||
|
|
||||||
|
void showHelpAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("Usage: pBoardSupportComm file.moos [OPTIONS] ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("Options: ");
|
||||||
|
mag(" --alias","=<ProcessName> ");
|
||||||
|
blk(" Launch pBoardSupportComm with the given process name ");
|
||||||
|
blk(" rather than pBoardSupportComm. ");
|
||||||
|
mag(" --example, -e ");
|
||||||
|
blk(" Display example MOOS configuration block. ");
|
||||||
|
mag(" --help, -h ");
|
||||||
|
blk(" Display this help message. ");
|
||||||
|
mag(" --interface, -i ");
|
||||||
|
blk(" Display MOOS publications and subscriptions. ");
|
||||||
|
mag(" --version,-v ");
|
||||||
|
blk(" Display the release version of pBoardSupportComm. ");
|
||||||
|
blk(" ");
|
||||||
|
blk("Note: If argv[2] does not otherwise match a known option, ");
|
||||||
|
blk(" then it will be interpreted as a run alias. This is ");
|
||||||
|
blk(" to support pAntler launching conventions. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showExampleConfigAndExit
|
||||||
|
|
||||||
|
void showExampleConfigAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pBoardSupportComm Example MOOS Configuration ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
blk("ProcessConfig = pBoardSupportComm ");
|
||||||
|
blk("{ ");
|
||||||
|
blk(" AppTick = 4 ");
|
||||||
|
blk(" CommsTick = 4 ");
|
||||||
|
blk(" ");
|
||||||
|
blk("} ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showInterfaceAndExit
|
||||||
|
|
||||||
|
void showInterfaceAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pBoardSupportComm INTERFACE ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("SUBSCRIPTIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" NODE_MESSAGE = src_node=alpha,dest_node=bravo,var_name=FOO, ");
|
||||||
|
blk(" string_val=BAR ");
|
||||||
|
blk(" ");
|
||||||
|
blk("PUBLICATIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" Publications are determined by the node message content. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showReleaseInfoAndExit
|
||||||
|
|
||||||
|
void showReleaseInfoAndExit()
|
||||||
|
{
|
||||||
|
showReleaseInfo("pBoardSupportComm", "gpl");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
18
src/pBoardSupportComm/BoardSupportComm_Info.h
Normal file
18
src/pBoardSupportComm/BoardSupportComm_Info.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: BoardSupportComm_Info.h */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#ifndef BoardSupportComm_INFO_HEADER
|
||||||
|
#define BoardSupportComm_INFO_HEADER
|
||||||
|
|
||||||
|
void showSynopsis();
|
||||||
|
void showHelpAndExit();
|
||||||
|
void showExampleConfigAndExit();
|
||||||
|
void showInterfaceAndExit();
|
||||||
|
void showReleaseInfoAndExit();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
47
src/pBoardSupportComm/CMakeLists.txt
Normal file
47
src/pBoardSupportComm/CMakeLists.txt
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
#--------------------------------------------------------
|
||||||
|
# The CMakeLists.txt for: pBoardSupportComm
|
||||||
|
# Author(s): Xiaobin Zeng
|
||||||
|
#--------------------------------------------------------
|
||||||
|
|
||||||
|
SET(SRC
|
||||||
|
BoardSupportComm.cpp
|
||||||
|
BoardSupportComm_Info.cpp
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(DUNE_LIB dune-core /usr/local/lib /usr/local/lib/DUNE)
|
||||||
|
FIND_PATH(DUNE_INCLUDE DUNE/IMC.hpp /usr/local/include /usr/local/include/DUNE)
|
||||||
|
include_directories(${DUNE_INCLUDE})
|
||||||
|
|
||||||
|
# include(FindProtobuf)
|
||||||
|
# find_package(Protobuf REQUIRED)
|
||||||
|
# include_directories(${Protobuf_INCLUDE_DIR})
|
||||||
|
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
#find_package (jsoncpp REQUIRED)
|
||||||
|
|
||||||
|
find_package (GeographicLib REQUIRED)
|
||||||
|
include_directories(${GeographicLib_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(pBoardSupportComm ${SRC})
|
||||||
|
|
||||||
|
include_directories(/usr/include/jsoncpp/)
|
||||||
|
link_directories(/usr/local/lib/)
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(pBoardSupportComm
|
||||||
|
${MOOS_LIBRARIES}
|
||||||
|
${DUNE_LIB}
|
||||||
|
${GeographicLib_LIBRARIES}
|
||||||
|
mbutil
|
||||||
|
m
|
||||||
|
pthread
|
||||||
|
jsoncpp
|
||||||
|
# jsoncpp_lib_static
|
||||||
|
# protobuf
|
||||||
|
# protoc
|
||||||
|
# proto
|
||||||
|
# ${PROTOBUF_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
53
src/pBoardSupportComm/main.cpp
Normal file
53
src/pBoardSupportComm/main.cpp
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: main.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "BoardSupportComm.h"
|
||||||
|
#include "BoardSupportComm_Info.h"
|
||||||
|
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
string mission_file;
|
||||||
|
string run_command = argv[0];
|
||||||
|
|
||||||
|
for(int i=1; i<argc; i++) {
|
||||||
|
string argi = argv[i];
|
||||||
|
if((argi=="-v") || (argi=="--version") || (argi=="-version"))
|
||||||
|
showReleaseInfoAndExit();
|
||||||
|
else if((argi=="-e") || (argi=="--example") || (argi=="-example"))
|
||||||
|
showExampleConfigAndExit();
|
||||||
|
else if((argi == "-h") || (argi == "--help") || (argi=="-help"))
|
||||||
|
showHelpAndExit();
|
||||||
|
else if((argi == "-i") || (argi == "--interface"))
|
||||||
|
showInterfaceAndExit();
|
||||||
|
else if(strEnds(argi, ".moos") || strEnds(argi, ".moos++"))
|
||||||
|
mission_file = argv[i];
|
||||||
|
else if(strBegins(argi, "--alias="))
|
||||||
|
run_command = argi.substr(8);
|
||||||
|
else if(i==2)
|
||||||
|
run_command = argi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mission_file == "")
|
||||||
|
showHelpAndExit();
|
||||||
|
|
||||||
|
cout << termColor("green");
|
||||||
|
cout << "pBoardSupportComm launching as " << run_command << endl;
|
||||||
|
cout << termColor() << endl;
|
||||||
|
|
||||||
|
BoardSupportComm BoardSupportComm;
|
||||||
|
|
||||||
|
BoardSupportComm.Run(run_command.c_str(), mission_file.c_str());
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
9
src/pBoardSupportComm/pBoardSupportComm.moos
Normal file
9
src/pBoardSupportComm/pBoardSupportComm.moos
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
//------------------------------------------------
|
||||||
|
// pBoardSupportComm config block
|
||||||
|
|
||||||
|
ProcessConfig = pBoardSupportComm
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
927
src/pClientViewer/Behavior.pb.h
Normal file
927
src/pClientViewer/Behavior.pb.h
Normal file
@@ -0,0 +1,927 @@
|
|||||||
|
// Generated by the protocol buffer compiler. DO NOT EDIT!
|
||||||
|
// source: Behavior.proto
|
||||||
|
|
||||||
|
#ifndef GOOGLE_PROTOBUF_INCLUDED_Behavior_2eproto
|
||||||
|
#define GOOGLE_PROTOBUF_INCLUDED_Behavior_2eproto
|
||||||
|
|
||||||
|
#include <limits>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#if PROTOBUF_VERSION < 3021000
|
||||||
|
#error This file was generated by a newer version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please update
|
||||||
|
#error your headers.
|
||||||
|
#endif
|
||||||
|
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
|
||||||
|
#error This file was generated by an older version of protoc which is
|
||||||
|
#error incompatible with your Protocol Buffer headers. Please
|
||||||
|
#error regenerate this file with a newer version of protoc.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#include <google/protobuf/io/coded_stream.h>
|
||||||
|
#include <google/protobuf/arena.h>
|
||||||
|
#include <google/protobuf/arenastring.h>
|
||||||
|
#include <google/protobuf/generated_message_util.h>
|
||||||
|
#include <google/protobuf/metadata_lite.h>
|
||||||
|
#include <google/protobuf/generated_message_reflection.h>
|
||||||
|
#include <google/protobuf/message.h>
|
||||||
|
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/extension_set.h> // IWYU pragma: export
|
||||||
|
#include <google/protobuf/unknown_field_set.h>
|
||||||
|
// @@protoc_insertion_point(includes)
|
||||||
|
#include <google/protobuf/port_def.inc>
|
||||||
|
#define PROTOBUF_INTERNAL_EXPORT_Behavior_2eproto
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
namespace internal {
|
||||||
|
class AnyMetadata;
|
||||||
|
} // namespace internal
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
|
||||||
|
// Internal implementation detail -- do not use these members.
|
||||||
|
struct TableStruct_Behavior_2eproto {
|
||||||
|
static const uint32_t offsets[];
|
||||||
|
};
|
||||||
|
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_Behavior_2eproto;
|
||||||
|
namespace Behavior {
|
||||||
|
class Coordinate;
|
||||||
|
struct CoordinateDefaultTypeInternal;
|
||||||
|
extern CoordinateDefaultTypeInternal _Coordinate_default_instance_;
|
||||||
|
class WayPointBehavior;
|
||||||
|
struct WayPointBehaviorDefaultTypeInternal;
|
||||||
|
extern WayPointBehaviorDefaultTypeInternal _WayPointBehavior_default_instance_;
|
||||||
|
} // namespace Behavior
|
||||||
|
PROTOBUF_NAMESPACE_OPEN
|
||||||
|
template<> ::Behavior::Coordinate* Arena::CreateMaybeMessage<::Behavior::Coordinate>(Arena*);
|
||||||
|
template<> ::Behavior::WayPointBehavior* Arena::CreateMaybeMessage<::Behavior::WayPointBehavior>(Arena*);
|
||||||
|
PROTOBUF_NAMESPACE_CLOSE
|
||||||
|
namespace Behavior {
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
class Coordinate final :
|
||||||
|
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Behavior.Coordinate) */ {
|
||||||
|
public:
|
||||||
|
inline Coordinate() : Coordinate(nullptr) {}
|
||||||
|
~Coordinate() override;
|
||||||
|
explicit PROTOBUF_CONSTEXPR Coordinate(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||||
|
|
||||||
|
Coordinate(const Coordinate& from);
|
||||||
|
Coordinate(Coordinate&& from) noexcept
|
||||||
|
: Coordinate() {
|
||||||
|
*this = ::std::move(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline Coordinate& operator=(const Coordinate& from) {
|
||||||
|
CopyFrom(from);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline Coordinate& operator=(Coordinate&& from) noexcept {
|
||||||
|
if (this == &from) return *this;
|
||||||
|
if (GetOwningArena() == from.GetOwningArena()
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
&& GetOwningArena() != nullptr
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
) {
|
||||||
|
InternalSwap(&from);
|
||||||
|
} else {
|
||||||
|
CopyFrom(from);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||||
|
return GetDescriptor();
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||||
|
return default_instance().GetMetadata().descriptor;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||||
|
return default_instance().GetMetadata().reflection;
|
||||||
|
}
|
||||||
|
static const Coordinate& default_instance() {
|
||||||
|
return *internal_default_instance();
|
||||||
|
}
|
||||||
|
static inline const Coordinate* internal_default_instance() {
|
||||||
|
return reinterpret_cast<const Coordinate*>(
|
||||||
|
&_Coordinate_default_instance_);
|
||||||
|
}
|
||||||
|
static constexpr int kIndexInFileMessages =
|
||||||
|
0;
|
||||||
|
|
||||||
|
friend void swap(Coordinate& a, Coordinate& b) {
|
||||||
|
a.Swap(&b);
|
||||||
|
}
|
||||||
|
inline void Swap(Coordinate* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() != nullptr &&
|
||||||
|
GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
InternalSwap(other);
|
||||||
|
} else {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void UnsafeArenaSwap(Coordinate* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||||
|
InternalSwap(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
// implements Message ----------------------------------------------
|
||||||
|
|
||||||
|
Coordinate* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
|
||||||
|
return CreateMaybeMessage<Coordinate>(arena);
|
||||||
|
}
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
|
||||||
|
void CopyFrom(const Coordinate& from);
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
|
||||||
|
void MergeFrom( const Coordinate& from) {
|
||||||
|
Coordinate::MergeImpl(*this, from);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
|
||||||
|
public:
|
||||||
|
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||||
|
bool IsInitialized() const final;
|
||||||
|
|
||||||
|
size_t ByteSizeLong() const final;
|
||||||
|
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||||
|
uint8_t* _InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||||
|
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||||
|
void SharedDtor();
|
||||||
|
void SetCachedSize(int size) const final;
|
||||||
|
void InternalSwap(Coordinate* other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||||
|
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||||
|
return "Behavior.Coordinate";
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
explicit Coordinate(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned = false);
|
||||||
|
public:
|
||||||
|
|
||||||
|
static const ClassData _class_data_;
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||||
|
|
||||||
|
// nested types ----------------------------------------------------
|
||||||
|
|
||||||
|
// accessors -------------------------------------------------------
|
||||||
|
|
||||||
|
enum : int {
|
||||||
|
kNameFieldNumber = 1,
|
||||||
|
kLonFieldNumber = 2,
|
||||||
|
kLatFieldNumber = 3,
|
||||||
|
kDepthFieldNumber = 4,
|
||||||
|
kSpeedFieldNumber = 5,
|
||||||
|
};
|
||||||
|
// string name = 1;
|
||||||
|
void clear_name();
|
||||||
|
const std::string& name() const;
|
||||||
|
template <typename ArgT0 = const std::string&, typename... ArgT>
|
||||||
|
void set_name(ArgT0&& arg0, ArgT... args);
|
||||||
|
std::string* mutable_name();
|
||||||
|
PROTOBUF_NODISCARD std::string* release_name();
|
||||||
|
void set_allocated_name(std::string* name);
|
||||||
|
private:
|
||||||
|
const std::string& _internal_name() const;
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
|
||||||
|
std::string* _internal_mutable_name();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float lon = 2;
|
||||||
|
void clear_lon();
|
||||||
|
float lon() const;
|
||||||
|
void set_lon(float value);
|
||||||
|
private:
|
||||||
|
float _internal_lon() const;
|
||||||
|
void _internal_set_lon(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float lat = 3;
|
||||||
|
void clear_lat();
|
||||||
|
float lat() const;
|
||||||
|
void set_lat(float value);
|
||||||
|
private:
|
||||||
|
float _internal_lat() const;
|
||||||
|
void _internal_set_lat(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float depth = 4;
|
||||||
|
void clear_depth();
|
||||||
|
float depth() const;
|
||||||
|
void set_depth(float value);
|
||||||
|
private:
|
||||||
|
float _internal_depth() const;
|
||||||
|
void _internal_set_depth(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float speed = 5;
|
||||||
|
void clear_speed();
|
||||||
|
float speed() const;
|
||||||
|
void set_speed(float value);
|
||||||
|
private:
|
||||||
|
float _internal_speed() const;
|
||||||
|
void _internal_set_speed(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:Behavior.Coordinate)
|
||||||
|
private:
|
||||||
|
class _Internal;
|
||||||
|
|
||||||
|
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||||
|
typedef void InternalArenaConstructable_;
|
||||||
|
typedef void DestructorSkippable_;
|
||||||
|
struct Impl_ {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
|
||||||
|
float lon_;
|
||||||
|
float lat_;
|
||||||
|
float depth_;
|
||||||
|
float speed_;
|
||||||
|
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||||
|
};
|
||||||
|
union { Impl_ _impl_; };
|
||||||
|
friend struct ::TableStruct_Behavior_2eproto;
|
||||||
|
};
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WayPointBehavior final :
|
||||||
|
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Behavior.WayPointBehavior) */ {
|
||||||
|
public:
|
||||||
|
inline WayPointBehavior() : WayPointBehavior(nullptr) {}
|
||||||
|
~WayPointBehavior() override;
|
||||||
|
explicit PROTOBUF_CONSTEXPR WayPointBehavior(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
|
||||||
|
|
||||||
|
WayPointBehavior(const WayPointBehavior& from);
|
||||||
|
WayPointBehavior(WayPointBehavior&& from) noexcept
|
||||||
|
: WayPointBehavior() {
|
||||||
|
*this = ::std::move(from);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline WayPointBehavior& operator=(const WayPointBehavior& from) {
|
||||||
|
CopyFrom(from);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
inline WayPointBehavior& operator=(WayPointBehavior&& from) noexcept {
|
||||||
|
if (this == &from) return *this;
|
||||||
|
if (GetOwningArena() == from.GetOwningArena()
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
&& GetOwningArena() != nullptr
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
|
||||||
|
) {
|
||||||
|
InternalSwap(&from);
|
||||||
|
} else {
|
||||||
|
CopyFrom(from);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
|
||||||
|
return GetDescriptor();
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
|
||||||
|
return default_instance().GetMetadata().descriptor;
|
||||||
|
}
|
||||||
|
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
|
||||||
|
return default_instance().GetMetadata().reflection;
|
||||||
|
}
|
||||||
|
static const WayPointBehavior& default_instance() {
|
||||||
|
return *internal_default_instance();
|
||||||
|
}
|
||||||
|
static inline const WayPointBehavior* internal_default_instance() {
|
||||||
|
return reinterpret_cast<const WayPointBehavior*>(
|
||||||
|
&_WayPointBehavior_default_instance_);
|
||||||
|
}
|
||||||
|
static constexpr int kIndexInFileMessages =
|
||||||
|
1;
|
||||||
|
|
||||||
|
friend void swap(WayPointBehavior& a, WayPointBehavior& b) {
|
||||||
|
a.Swap(&b);
|
||||||
|
}
|
||||||
|
inline void Swap(WayPointBehavior* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() != nullptr &&
|
||||||
|
GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#else // PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
if (GetOwningArena() == other->GetOwningArena()) {
|
||||||
|
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
|
||||||
|
InternalSwap(other);
|
||||||
|
} else {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void UnsafeArenaSwap(WayPointBehavior* other) {
|
||||||
|
if (other == this) return;
|
||||||
|
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
|
||||||
|
InternalSwap(other);
|
||||||
|
}
|
||||||
|
|
||||||
|
// implements Message ----------------------------------------------
|
||||||
|
|
||||||
|
WayPointBehavior* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
|
||||||
|
return CreateMaybeMessage<WayPointBehavior>(arena);
|
||||||
|
}
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
|
||||||
|
void CopyFrom(const WayPointBehavior& from);
|
||||||
|
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
|
||||||
|
void MergeFrom( const WayPointBehavior& from) {
|
||||||
|
WayPointBehavior::MergeImpl(*this, from);
|
||||||
|
}
|
||||||
|
private:
|
||||||
|
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
|
||||||
|
public:
|
||||||
|
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
|
||||||
|
bool IsInitialized() const final;
|
||||||
|
|
||||||
|
size_t ByteSizeLong() const final;
|
||||||
|
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
|
||||||
|
uint8_t* _InternalSerialize(
|
||||||
|
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
|
||||||
|
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
|
||||||
|
|
||||||
|
private:
|
||||||
|
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
|
||||||
|
void SharedDtor();
|
||||||
|
void SetCachedSize(int size) const final;
|
||||||
|
void InternalSwap(WayPointBehavior* other);
|
||||||
|
|
||||||
|
private:
|
||||||
|
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
|
||||||
|
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
|
||||||
|
return "Behavior.WayPointBehavior";
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
explicit WayPointBehavior(::PROTOBUF_NAMESPACE_ID::Arena* arena,
|
||||||
|
bool is_message_owned = false);
|
||||||
|
public:
|
||||||
|
|
||||||
|
static const ClassData _class_data_;
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
|
||||||
|
|
||||||
|
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
|
||||||
|
|
||||||
|
// nested types ----------------------------------------------------
|
||||||
|
|
||||||
|
// accessors -------------------------------------------------------
|
||||||
|
|
||||||
|
enum : int {
|
||||||
|
kPointsFieldNumber = 3,
|
||||||
|
kNameFieldNumber = 1,
|
||||||
|
kPriorityFieldNumber = 2,
|
||||||
|
kDurationFieldNumber = 4,
|
||||||
|
kConstSpeedFieldNumber = 6,
|
||||||
|
kClosedLoopFieldNumber = 5,
|
||||||
|
kPerpetualFieldNumber = 8,
|
||||||
|
kRepeateFieldNumber = 7,
|
||||||
|
kMinDepthFieldNumber = 9,
|
||||||
|
kMaxDepthFieldNumber = 10,
|
||||||
|
};
|
||||||
|
// repeated .Behavior.Coordinate points = 3;
|
||||||
|
int points_size() const;
|
||||||
|
private:
|
||||||
|
int _internal_points_size() const;
|
||||||
|
public:
|
||||||
|
void clear_points();
|
||||||
|
::Behavior::Coordinate* mutable_points(int index);
|
||||||
|
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Behavior::Coordinate >*
|
||||||
|
mutable_points();
|
||||||
|
private:
|
||||||
|
const ::Behavior::Coordinate& _internal_points(int index) const;
|
||||||
|
::Behavior::Coordinate* _internal_add_points();
|
||||||
|
public:
|
||||||
|
const ::Behavior::Coordinate& points(int index) const;
|
||||||
|
::Behavior::Coordinate* add_points();
|
||||||
|
const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Behavior::Coordinate >&
|
||||||
|
points() const;
|
||||||
|
|
||||||
|
// string name = 1;
|
||||||
|
void clear_name();
|
||||||
|
const std::string& name() const;
|
||||||
|
template <typename ArgT0 = const std::string&, typename... ArgT>
|
||||||
|
void set_name(ArgT0&& arg0, ArgT... args);
|
||||||
|
std::string* mutable_name();
|
||||||
|
PROTOBUF_NODISCARD std::string* release_name();
|
||||||
|
void set_allocated_name(std::string* name);
|
||||||
|
private:
|
||||||
|
const std::string& _internal_name() const;
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
|
||||||
|
std::string* _internal_mutable_name();
|
||||||
|
public:
|
||||||
|
|
||||||
|
// int32 priority = 2;
|
||||||
|
void clear_priority();
|
||||||
|
int32_t priority() const;
|
||||||
|
void set_priority(int32_t value);
|
||||||
|
private:
|
||||||
|
int32_t _internal_priority() const;
|
||||||
|
void _internal_set_priority(int32_t value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float duration = 4;
|
||||||
|
void clear_duration();
|
||||||
|
float duration() const;
|
||||||
|
void set_duration(float value);
|
||||||
|
private:
|
||||||
|
float _internal_duration() const;
|
||||||
|
void _internal_set_duration(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float constSpeed = 6;
|
||||||
|
void clear_constspeed();
|
||||||
|
float constspeed() const;
|
||||||
|
void set_constspeed(float value);
|
||||||
|
private:
|
||||||
|
float _internal_constspeed() const;
|
||||||
|
void _internal_set_constspeed(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// bool closedLoop = 5;
|
||||||
|
void clear_closedloop();
|
||||||
|
bool closedloop() const;
|
||||||
|
void set_closedloop(bool value);
|
||||||
|
private:
|
||||||
|
bool _internal_closedloop() const;
|
||||||
|
void _internal_set_closedloop(bool value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// bool perpetual = 8;
|
||||||
|
void clear_perpetual();
|
||||||
|
bool perpetual() const;
|
||||||
|
void set_perpetual(bool value);
|
||||||
|
private:
|
||||||
|
bool _internal_perpetual() const;
|
||||||
|
void _internal_set_perpetual(bool value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// int32 repeate = 7;
|
||||||
|
void clear_repeate();
|
||||||
|
int32_t repeate() const;
|
||||||
|
void set_repeate(int32_t value);
|
||||||
|
private:
|
||||||
|
int32_t _internal_repeate() const;
|
||||||
|
void _internal_set_repeate(int32_t value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float minDepth = 9;
|
||||||
|
void clear_mindepth();
|
||||||
|
float mindepth() const;
|
||||||
|
void set_mindepth(float value);
|
||||||
|
private:
|
||||||
|
float _internal_mindepth() const;
|
||||||
|
void _internal_set_mindepth(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// float maxDepth = 10;
|
||||||
|
void clear_maxdepth();
|
||||||
|
float maxdepth() const;
|
||||||
|
void set_maxdepth(float value);
|
||||||
|
private:
|
||||||
|
float _internal_maxdepth() const;
|
||||||
|
void _internal_set_maxdepth(float value);
|
||||||
|
public:
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(class_scope:Behavior.WayPointBehavior)
|
||||||
|
private:
|
||||||
|
class _Internal;
|
||||||
|
|
||||||
|
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
|
||||||
|
typedef void InternalArenaConstructable_;
|
||||||
|
typedef void DestructorSkippable_;
|
||||||
|
struct Impl_ {
|
||||||
|
::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Behavior::Coordinate > points_;
|
||||||
|
::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
|
||||||
|
int32_t priority_;
|
||||||
|
float duration_;
|
||||||
|
float constspeed_;
|
||||||
|
bool closedloop_;
|
||||||
|
bool perpetual_;
|
||||||
|
int32_t repeate_;
|
||||||
|
float mindepth_;
|
||||||
|
float maxdepth_;
|
||||||
|
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
|
||||||
|
};
|
||||||
|
union { Impl_ _impl_; };
|
||||||
|
friend struct ::TableStruct_Behavior_2eproto;
|
||||||
|
};
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
||||||
|
#endif // __GNUC__
|
||||||
|
// Coordinate
|
||||||
|
|
||||||
|
// string name = 1;
|
||||||
|
inline void Coordinate::clear_name() {
|
||||||
|
_impl_.name_.ClearToEmpty();
|
||||||
|
}
|
||||||
|
inline const std::string& Coordinate::name() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.Coordinate.name)
|
||||||
|
return _internal_name();
|
||||||
|
}
|
||||||
|
template <typename ArgT0, typename... ArgT>
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE
|
||||||
|
void Coordinate::set_name(ArgT0&& arg0, ArgT... args) {
|
||||||
|
|
||||||
|
_impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.Coordinate.name)
|
||||||
|
}
|
||||||
|
inline std::string* Coordinate::mutable_name() {
|
||||||
|
std::string* _s = _internal_mutable_name();
|
||||||
|
// @@protoc_insertion_point(field_mutable:Behavior.Coordinate.name)
|
||||||
|
return _s;
|
||||||
|
}
|
||||||
|
inline const std::string& Coordinate::_internal_name() const {
|
||||||
|
return _impl_.name_.Get();
|
||||||
|
}
|
||||||
|
inline void Coordinate::_internal_set_name(const std::string& value) {
|
||||||
|
|
||||||
|
_impl_.name_.Set(value, GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* Coordinate::_internal_mutable_name() {
|
||||||
|
|
||||||
|
return _impl_.name_.Mutable(GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* Coordinate::release_name() {
|
||||||
|
// @@protoc_insertion_point(field_release:Behavior.Coordinate.name)
|
||||||
|
return _impl_.name_.Release();
|
||||||
|
}
|
||||||
|
inline void Coordinate::set_allocated_name(std::string* name) {
|
||||||
|
if (name != nullptr) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.name_.SetAllocated(name, GetArenaForAllocation());
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
if (_impl_.name_.IsDefault()) {
|
||||||
|
_impl_.name_.Set("", GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:Behavior.Coordinate.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float lon = 2;
|
||||||
|
inline void Coordinate::clear_lon() {
|
||||||
|
_impl_.lon_ = 0;
|
||||||
|
}
|
||||||
|
inline float Coordinate::_internal_lon() const {
|
||||||
|
return _impl_.lon_;
|
||||||
|
}
|
||||||
|
inline float Coordinate::lon() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.Coordinate.lon)
|
||||||
|
return _internal_lon();
|
||||||
|
}
|
||||||
|
inline void Coordinate::_internal_set_lon(float value) {
|
||||||
|
|
||||||
|
_impl_.lon_ = value;
|
||||||
|
}
|
||||||
|
inline void Coordinate::set_lon(float value) {
|
||||||
|
_internal_set_lon(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.Coordinate.lon)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float lat = 3;
|
||||||
|
inline void Coordinate::clear_lat() {
|
||||||
|
_impl_.lat_ = 0;
|
||||||
|
}
|
||||||
|
inline float Coordinate::_internal_lat() const {
|
||||||
|
return _impl_.lat_;
|
||||||
|
}
|
||||||
|
inline float Coordinate::lat() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.Coordinate.lat)
|
||||||
|
return _internal_lat();
|
||||||
|
}
|
||||||
|
inline void Coordinate::_internal_set_lat(float value) {
|
||||||
|
|
||||||
|
_impl_.lat_ = value;
|
||||||
|
}
|
||||||
|
inline void Coordinate::set_lat(float value) {
|
||||||
|
_internal_set_lat(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.Coordinate.lat)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float depth = 4;
|
||||||
|
inline void Coordinate::clear_depth() {
|
||||||
|
_impl_.depth_ = 0;
|
||||||
|
}
|
||||||
|
inline float Coordinate::_internal_depth() const {
|
||||||
|
return _impl_.depth_;
|
||||||
|
}
|
||||||
|
inline float Coordinate::depth() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.Coordinate.depth)
|
||||||
|
return _internal_depth();
|
||||||
|
}
|
||||||
|
inline void Coordinate::_internal_set_depth(float value) {
|
||||||
|
|
||||||
|
_impl_.depth_ = value;
|
||||||
|
}
|
||||||
|
inline void Coordinate::set_depth(float value) {
|
||||||
|
_internal_set_depth(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.Coordinate.depth)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float speed = 5;
|
||||||
|
inline void Coordinate::clear_speed() {
|
||||||
|
_impl_.speed_ = 0;
|
||||||
|
}
|
||||||
|
inline float Coordinate::_internal_speed() const {
|
||||||
|
return _impl_.speed_;
|
||||||
|
}
|
||||||
|
inline float Coordinate::speed() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.Coordinate.speed)
|
||||||
|
return _internal_speed();
|
||||||
|
}
|
||||||
|
inline void Coordinate::_internal_set_speed(float value) {
|
||||||
|
|
||||||
|
_impl_.speed_ = value;
|
||||||
|
}
|
||||||
|
inline void Coordinate::set_speed(float value) {
|
||||||
|
_internal_set_speed(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.Coordinate.speed)
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
// WayPointBehavior
|
||||||
|
|
||||||
|
// string name = 1;
|
||||||
|
inline void WayPointBehavior::clear_name() {
|
||||||
|
_impl_.name_.ClearToEmpty();
|
||||||
|
}
|
||||||
|
inline const std::string& WayPointBehavior::name() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.name)
|
||||||
|
return _internal_name();
|
||||||
|
}
|
||||||
|
template <typename ArgT0, typename... ArgT>
|
||||||
|
inline PROTOBUF_ALWAYS_INLINE
|
||||||
|
void WayPointBehavior::set_name(ArgT0&& arg0, ArgT... args) {
|
||||||
|
|
||||||
|
_impl_.name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.name)
|
||||||
|
}
|
||||||
|
inline std::string* WayPointBehavior::mutable_name() {
|
||||||
|
std::string* _s = _internal_mutable_name();
|
||||||
|
// @@protoc_insertion_point(field_mutable:Behavior.WayPointBehavior.name)
|
||||||
|
return _s;
|
||||||
|
}
|
||||||
|
inline const std::string& WayPointBehavior::_internal_name() const {
|
||||||
|
return _impl_.name_.Get();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_name(const std::string& value) {
|
||||||
|
|
||||||
|
_impl_.name_.Set(value, GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* WayPointBehavior::_internal_mutable_name() {
|
||||||
|
|
||||||
|
return _impl_.name_.Mutable(GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
inline std::string* WayPointBehavior::release_name() {
|
||||||
|
// @@protoc_insertion_point(field_release:Behavior.WayPointBehavior.name)
|
||||||
|
return _impl_.name_.Release();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_allocated_name(std::string* name) {
|
||||||
|
if (name != nullptr) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
_impl_.name_.SetAllocated(name, GetArenaForAllocation());
|
||||||
|
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
if (_impl_.name_.IsDefault()) {
|
||||||
|
_impl_.name_.Set("", GetArenaForAllocation());
|
||||||
|
}
|
||||||
|
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
|
||||||
|
// @@protoc_insertion_point(field_set_allocated:Behavior.WayPointBehavior.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
// int32 priority = 2;
|
||||||
|
inline void WayPointBehavior::clear_priority() {
|
||||||
|
_impl_.priority_ = 0;
|
||||||
|
}
|
||||||
|
inline int32_t WayPointBehavior::_internal_priority() const {
|
||||||
|
return _impl_.priority_;
|
||||||
|
}
|
||||||
|
inline int32_t WayPointBehavior::priority() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.priority)
|
||||||
|
return _internal_priority();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_priority(int32_t value) {
|
||||||
|
|
||||||
|
_impl_.priority_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_priority(int32_t value) {
|
||||||
|
_internal_set_priority(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.priority)
|
||||||
|
}
|
||||||
|
|
||||||
|
// repeated .Behavior.Coordinate points = 3;
|
||||||
|
inline int WayPointBehavior::_internal_points_size() const {
|
||||||
|
return _impl_.points_.size();
|
||||||
|
}
|
||||||
|
inline int WayPointBehavior::points_size() const {
|
||||||
|
return _internal_points_size();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::clear_points() {
|
||||||
|
_impl_.points_.Clear();
|
||||||
|
}
|
||||||
|
inline ::Behavior::Coordinate* WayPointBehavior::mutable_points(int index) {
|
||||||
|
// @@protoc_insertion_point(field_mutable:Behavior.WayPointBehavior.points)
|
||||||
|
return _impl_.points_.Mutable(index);
|
||||||
|
}
|
||||||
|
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Behavior::Coordinate >*
|
||||||
|
WayPointBehavior::mutable_points() {
|
||||||
|
// @@protoc_insertion_point(field_mutable_list:Behavior.WayPointBehavior.points)
|
||||||
|
return &_impl_.points_;
|
||||||
|
}
|
||||||
|
inline const ::Behavior::Coordinate& WayPointBehavior::_internal_points(int index) const {
|
||||||
|
return _impl_.points_.Get(index);
|
||||||
|
}
|
||||||
|
inline const ::Behavior::Coordinate& WayPointBehavior::points(int index) const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.points)
|
||||||
|
return _internal_points(index);
|
||||||
|
}
|
||||||
|
inline ::Behavior::Coordinate* WayPointBehavior::_internal_add_points() {
|
||||||
|
return _impl_.points_.Add();
|
||||||
|
}
|
||||||
|
inline ::Behavior::Coordinate* WayPointBehavior::add_points() {
|
||||||
|
::Behavior::Coordinate* _add = _internal_add_points();
|
||||||
|
// @@protoc_insertion_point(field_add:Behavior.WayPointBehavior.points)
|
||||||
|
return _add;
|
||||||
|
}
|
||||||
|
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Behavior::Coordinate >&
|
||||||
|
WayPointBehavior::points() const {
|
||||||
|
// @@protoc_insertion_point(field_list:Behavior.WayPointBehavior.points)
|
||||||
|
return _impl_.points_;
|
||||||
|
}
|
||||||
|
|
||||||
|
// float duration = 4;
|
||||||
|
inline void WayPointBehavior::clear_duration() {
|
||||||
|
_impl_.duration_ = 0;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::_internal_duration() const {
|
||||||
|
return _impl_.duration_;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::duration() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.duration)
|
||||||
|
return _internal_duration();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_duration(float value) {
|
||||||
|
|
||||||
|
_impl_.duration_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_duration(float value) {
|
||||||
|
_internal_set_duration(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.duration)
|
||||||
|
}
|
||||||
|
|
||||||
|
// bool closedLoop = 5;
|
||||||
|
inline void WayPointBehavior::clear_closedloop() {
|
||||||
|
_impl_.closedloop_ = false;
|
||||||
|
}
|
||||||
|
inline bool WayPointBehavior::_internal_closedloop() const {
|
||||||
|
return _impl_.closedloop_;
|
||||||
|
}
|
||||||
|
inline bool WayPointBehavior::closedloop() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.closedLoop)
|
||||||
|
return _internal_closedloop();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_closedloop(bool value) {
|
||||||
|
|
||||||
|
_impl_.closedloop_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_closedloop(bool value) {
|
||||||
|
_internal_set_closedloop(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.closedLoop)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float constSpeed = 6;
|
||||||
|
inline void WayPointBehavior::clear_constspeed() {
|
||||||
|
_impl_.constspeed_ = 0;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::_internal_constspeed() const {
|
||||||
|
return _impl_.constspeed_;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::constspeed() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.constSpeed)
|
||||||
|
return _internal_constspeed();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_constspeed(float value) {
|
||||||
|
|
||||||
|
_impl_.constspeed_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_constspeed(float value) {
|
||||||
|
_internal_set_constspeed(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.constSpeed)
|
||||||
|
}
|
||||||
|
|
||||||
|
// int32 repeate = 7;
|
||||||
|
inline void WayPointBehavior::clear_repeate() {
|
||||||
|
_impl_.repeate_ = 0;
|
||||||
|
}
|
||||||
|
inline int32_t WayPointBehavior::_internal_repeate() const {
|
||||||
|
return _impl_.repeate_;
|
||||||
|
}
|
||||||
|
inline int32_t WayPointBehavior::repeate() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.repeate)
|
||||||
|
return _internal_repeate();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_repeate(int32_t value) {
|
||||||
|
|
||||||
|
_impl_.repeate_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_repeate(int32_t value) {
|
||||||
|
_internal_set_repeate(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.repeate)
|
||||||
|
}
|
||||||
|
|
||||||
|
// bool perpetual = 8;
|
||||||
|
inline void WayPointBehavior::clear_perpetual() {
|
||||||
|
_impl_.perpetual_ = false;
|
||||||
|
}
|
||||||
|
inline bool WayPointBehavior::_internal_perpetual() const {
|
||||||
|
return _impl_.perpetual_;
|
||||||
|
}
|
||||||
|
inline bool WayPointBehavior::perpetual() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.perpetual)
|
||||||
|
return _internal_perpetual();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_perpetual(bool value) {
|
||||||
|
|
||||||
|
_impl_.perpetual_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_perpetual(bool value) {
|
||||||
|
_internal_set_perpetual(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.perpetual)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float minDepth = 9;
|
||||||
|
inline void WayPointBehavior::clear_mindepth() {
|
||||||
|
_impl_.mindepth_ = 0;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::_internal_mindepth() const {
|
||||||
|
return _impl_.mindepth_;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::mindepth() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.minDepth)
|
||||||
|
return _internal_mindepth();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_mindepth(float value) {
|
||||||
|
|
||||||
|
_impl_.mindepth_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_mindepth(float value) {
|
||||||
|
_internal_set_mindepth(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.minDepth)
|
||||||
|
}
|
||||||
|
|
||||||
|
// float maxDepth = 10;
|
||||||
|
inline void WayPointBehavior::clear_maxdepth() {
|
||||||
|
_impl_.maxdepth_ = 0;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::_internal_maxdepth() const {
|
||||||
|
return _impl_.maxdepth_;
|
||||||
|
}
|
||||||
|
inline float WayPointBehavior::maxdepth() const {
|
||||||
|
// @@protoc_insertion_point(field_get:Behavior.WayPointBehavior.maxDepth)
|
||||||
|
return _internal_maxdepth();
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::_internal_set_maxdepth(float value) {
|
||||||
|
|
||||||
|
_impl_.maxdepth_ = value;
|
||||||
|
}
|
||||||
|
inline void WayPointBehavior::set_maxdepth(float value) {
|
||||||
|
_internal_set_maxdepth(value);
|
||||||
|
// @@protoc_insertion_point(field_set:Behavior.WayPointBehavior.maxDepth)
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
#endif // __GNUC__
|
||||||
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(namespace_scope)
|
||||||
|
|
||||||
|
} // namespace Behavior
|
||||||
|
|
||||||
|
// @@protoc_insertion_point(global_scope)
|
||||||
|
|
||||||
|
#include <google/protobuf/port_undef.inc>
|
||||||
|
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_Behavior_2eproto
|
||||||
50
src/pClientViewer/CMakeLists.txt
Normal file
50
src/pClientViewer/CMakeLists.txt
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
#--------------------------------------------------------
|
||||||
|
# The CMakeLists.txt for: pClientViewer
|
||||||
|
# Author(s): Xiaobin Zeng
|
||||||
|
#--------------------------------------------------------
|
||||||
|
|
||||||
|
SET(SRC
|
||||||
|
ClientViewer.cpp
|
||||||
|
ClientViewer_Info.cpp
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
|
FIND_LIBRARY(DUNE_LIB dune-core /usr/local/lib /usr/local/lib/DUNE)
|
||||||
|
FIND_PATH(DUNE_INCLUDE DUNE/IMC.hpp /usr/local/include /usr/local/include/DUNE)
|
||||||
|
include_directories(${DUNE_INCLUDE})
|
||||||
|
|
||||||
|
# include(FindProtobuf)
|
||||||
|
# find_package(Protobuf REQUIRED)
|
||||||
|
# include_directories(${Protobuf_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# protobuf_generate_cpp(PROTO_SRC PROTO_HEADER Behavior.proto)
|
||||||
|
# add_library(proto ${PROTO_HEADER} ${PROTO_SRC})
|
||||||
|
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
#find_package (jsoncpp NO_MODULE REQUIRED)
|
||||||
|
|
||||||
|
include_directories(/usr/include/jsoncpp/)
|
||||||
|
link_directories(/usr/local/lib/)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(pClientViewer ${SRC})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(pClientViewer
|
||||||
|
${MOOS_LIBRARIES}
|
||||||
|
${CMAKE_DL_LIBS}
|
||||||
|
${SYSTEM_LIBS}
|
||||||
|
${DUNE_LIB}
|
||||||
|
mbutil
|
||||||
|
m
|
||||||
|
pthread
|
||||||
|
jsoncpp
|
||||||
|
# jsoncpp_lib_static
|
||||||
|
# protobuf
|
||||||
|
# protoc
|
||||||
|
# proto
|
||||||
|
# ${PROTOBUF_LIBRARY}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
873
src/pClientViewer/ClientViewer.cpp
Normal file
873
src/pClientViewer/ClientViewer.cpp
Normal file
@@ -0,0 +1,873 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: ClientViewer.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <iterator>
|
||||||
|
#include "ClientViewer.h"
|
||||||
|
//#include "Behavior.pb.h"
|
||||||
|
#include <json/json.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
#define UDP_RECEIVE_PORT 6001
|
||||||
|
#define TCP_SEND_PORT 8000
|
||||||
|
#define TCP_FILE_RECEIVE_PORT 8001
|
||||||
|
//#define TCP_SERVER_ADDRESS "10.25.0.230" //树莓派
|
||||||
|
#define TCP_SERVER_ADDRESS "127.0.0.1"
|
||||||
|
// #define TCP_SERVER_ADDRESS "10.25.0.163"
|
||||||
|
// #define TCP_SERVER_ADDRESS "10.25.0.160"
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Constructor
|
||||||
|
|
||||||
|
ClientViewer::ClientViewer()
|
||||||
|
{
|
||||||
|
udpReceiveBuffer = new uint8_t[65535];
|
||||||
|
tcpReceiveBuffer = new uint8_t[65535];
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Destructor
|
||||||
|
|
||||||
|
ClientViewer::~ClientViewer()
|
||||||
|
{
|
||||||
|
// udpCommEvent.Stop();
|
||||||
|
// tcpCommEvent.Stop();
|
||||||
|
delete udpReceiveBuffer;
|
||||||
|
delete tcpReceiveBuffer;
|
||||||
|
|
||||||
|
// if (sock_tcp_send)
|
||||||
|
// {
|
||||||
|
// delete sock_tcp_send;
|
||||||
|
// sock_tcp_send = NULL;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (sock_udp_receive)
|
||||||
|
// {
|
||||||
|
// delete sock_udp_receive;
|
||||||
|
// sock_udp_receive = NULL;
|
||||||
|
// }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnNewMail
|
||||||
|
|
||||||
|
bool ClientViewer::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||||
|
{
|
||||||
|
MOOSMSG_LIST::iterator p;
|
||||||
|
|
||||||
|
for(p=NewMail.begin(); p!=NewMail.end(); p++)
|
||||||
|
{
|
||||||
|
CMOOSMsg &msg = *p;
|
||||||
|
string key = msg.GetKey();
|
||||||
|
string comm = msg.GetCommunity();
|
||||||
|
double dval = msg.GetDouble();
|
||||||
|
string sval = msg.GetString();
|
||||||
|
string msrc = msg.GetSource();
|
||||||
|
double mtime = msg.GetTime();
|
||||||
|
bool mdbl = msg.IsDouble();
|
||||||
|
bool mstr = msg.IsString();
|
||||||
|
std::cout << key << " : " << sval << std::endl;
|
||||||
|
if(key == "Command")
|
||||||
|
{
|
||||||
|
if (sval == "SetPlan1") //PlanDB
|
||||||
|
{
|
||||||
|
std::string systemName = "CCU Neptus 0_163";
|
||||||
|
std::string plan_1_Spec = SetPlan1(systemName, MOOS::Time());
|
||||||
|
DUNE::IMC::PlanDB msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanDB::TypeEnum::DBT_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanDB::OperationEnum::DBOP_SET;
|
||||||
|
msg.plan_id.assign("BHV_Waypoint");
|
||||||
|
msg.info = plan_1_Spec;
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (sval == "SetPlan2") //PlanDB
|
||||||
|
{
|
||||||
|
std::string systemName = "CCU Neptus 0_163";
|
||||||
|
std::string plan_2_Spec = SetPlan2(systemName, MOOS::Time());
|
||||||
|
//std::cout << plan_2_Spec << std::endl;
|
||||||
|
DUNE::IMC::PlanDB msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanDB::TypeEnum::DBT_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanDB::OperationEnum::DBOP_SET;
|
||||||
|
msg.plan_id.assign("BHV_Waypoint");
|
||||||
|
msg.info = plan_2_Spec;
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "ModifyPlan1") //PlanDB
|
||||||
|
{
|
||||||
|
std::string systemName = "CCU Neptus 0_163";
|
||||||
|
std::string plan_1_Spec = ModifyPlan1(systemName, MOOS::Time());
|
||||||
|
DUNE::IMC::PlanDB msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanDB::TypeEnum::DBT_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanDB::OperationEnum::DBOP_SET;
|
||||||
|
msg.plan_id.assign("BHV_Waypoint");
|
||||||
|
msg.info = plan_1_Spec;
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "GetPlanList") //PlanDB
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanDB msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanDB::TypeEnum::DBT_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanDB::OperationEnum::DBOP_GET_STATE;
|
||||||
|
msg.plan_id.assign("Test");
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "SetThrust") //SetEntityParameters
|
||||||
|
{
|
||||||
|
double timeStamp = MOOS::Time();
|
||||||
|
DUNE::IMC::SetEntityParameters msg;
|
||||||
|
msg.setTimeStamp(timeStamp);
|
||||||
|
msg.name = "Thrust";
|
||||||
|
DUNE::IMC::EntityParameter subMsg;
|
||||||
|
subMsg.setTimeStamp(timeStamp);
|
||||||
|
SetEntityStatus(subMsg, "Pwm", generateEntityValue("30", "int"));
|
||||||
|
msg.params.push_back(subMsg);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "SetIndicatorLight") //SetEntityParameters
|
||||||
|
{
|
||||||
|
double timeStamp = MOOS::Time();
|
||||||
|
DUNE::IMC::SetEntityParameters msg;
|
||||||
|
msg.setTimeStamp(timeStamp);
|
||||||
|
msg.name = "IndicatorLight";
|
||||||
|
DUNE::IMC::EntityParameter subMsg;
|
||||||
|
subMsg.setTimeStamp(timeStamp);
|
||||||
|
SetEntityStatus(subMsg, "Status", generateEntityValue("1", "int"));
|
||||||
|
msg.params.push_back(subMsg);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "StartPlan1") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanControl::TypeEnum::PC_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanControl::OperationEnum::PC_START;
|
||||||
|
msg.plan_id = "east_waypt_survey";
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "StartPlan2") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanControl::TypeEnum::PC_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanControl::OperationEnum::PC_START;
|
||||||
|
msg.plan_id = "west_waypt_survey";
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "StopPlan1") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanControl::TypeEnum::PC_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanControl::OperationEnum::PC_STOP;
|
||||||
|
msg.plan_id = "east_waypt_survey";
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "StopPlan2") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::PlanControl::TypeEnum::PC_REQUEST;
|
||||||
|
msg.op = DUNE::IMC::PlanControl::OperationEnum::PC_STOP;
|
||||||
|
msg.plan_id = "west_waypt_survey";
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "RemoteActions") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::RemoteActions msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
Json::Value executeCommand;
|
||||||
|
executeCommand["Thrust"] = -100;
|
||||||
|
executeCommand["Heading"] = -27.5;
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
msg.actions = Json::writeString(builder, executeCommand);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "VehicleCommand") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::VehicleCommand msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.type = DUNE::IMC::VehicleCommand::TypeEnum::VC_REQUEST;
|
||||||
|
msg.command = 1;
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "GetLogBook") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.command = DUNE::IMC::LogBookControl::CommandEnum::LBC_GET;
|
||||||
|
DUNE::IMC::LogBookEntry msgLogBookEntry;
|
||||||
|
msgLogBookEntry.type = DUNE::IMC::LogBookEntry::TypeEnum::LBET_INFO;
|
||||||
|
msgLogBookEntry.context = "LIST";
|
||||||
|
msg.msg.push_back(msgLogBookEntry);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "RetrLogBook1") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.command = DUNE::IMC::LogBookControl::CommandEnum::LBC_GET;
|
||||||
|
DUNE::IMC::LogBookEntry msgLogBookEntry;
|
||||||
|
msgLogBookEntry.type = DUNE::IMC::LogBookEntry::TypeEnum::LBET_INFO;
|
||||||
|
msgLogBookEntry.context = "RETR";
|
||||||
|
|
||||||
|
Json::Value retrFile;
|
||||||
|
retrFile["lauv-150/2023-11-16/103058"]["auv"]["file"] = "auvData.mdat";
|
||||||
|
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
msgLogBookEntry.text = Json::writeString(builder, retrFile);
|
||||||
|
msg.msg.push_back(msgLogBookEntry);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "RetrLogBook2") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.command = DUNE::IMC::LogBookControl::CommandEnum::LBC_GET;
|
||||||
|
DUNE::IMC::LogBookEntry msgLogBookEntry;
|
||||||
|
msgLogBookEntry.type = DUNE::IMC::LogBookEntry::TypeEnum::LBET_INFO;
|
||||||
|
msgLogBookEntry.context = "RETR";
|
||||||
|
|
||||||
|
Json::Value retrFile;
|
||||||
|
retrFile["lauv-150/2023-11-16/103058"]["command"]["file"] = "clientCommand.txt";
|
||||||
|
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
msgLogBookEntry.text = Json::writeString(builder, retrFile);
|
||||||
|
msg.msg.push_back(msgLogBookEntry);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "RetrLogBook3") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.command = DUNE::IMC::LogBookControl::CommandEnum::LBC_GET;
|
||||||
|
DUNE::IMC::LogBookEntry msgLogBookEntry;
|
||||||
|
msgLogBookEntry.type = DUNE::IMC::LogBookEntry::TypeEnum::LBET_INFO;
|
||||||
|
msgLogBookEntry.context = "RETR";
|
||||||
|
|
||||||
|
Json::Value retrFile;
|
||||||
|
retrFile["lauv-150/2023-11-16/103058"]["mission"]["file"] = "missionHistory.txt";
|
||||||
|
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
msgLogBookEntry.text = Json::writeString(builder, retrFile);
|
||||||
|
msg.msg.push_back(msgLogBookEntry);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
if (sval == "DeleLogBook") //PlanControl
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookControl msg;
|
||||||
|
msg.setTimeStamp();
|
||||||
|
msg.command = DUNE::IMC::LogBookControl::CommandEnum::LBC_CLEAR;
|
||||||
|
DUNE::IMC::LogBookEntry msgLogBookEntry;
|
||||||
|
msgLogBookEntry.type = DUNE::IMC::LogBookEntry::TypeEnum::LBET_INFO;
|
||||||
|
msgLogBookEntry.context = "DELE";
|
||||||
|
|
||||||
|
Json::Value retrFile;
|
||||||
|
retrFile["lauv-150/2023-11-16/103058"]["auv"]["file"] = "auvData.mdat";
|
||||||
|
retrFile["lauv-150/2023-11-16/103058"]["command"]["file"] = "clientCommand.txt";
|
||||||
|
retrFile["lauv-150/2023-11-16/105131"]["mission"]["file"] = "missionHistory.txt";
|
||||||
|
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
msgLogBookEntry.text = Json::writeString(builder, retrFile);
|
||||||
|
msg.msg.push_back(msgLogBookEntry);
|
||||||
|
tcpSendToServer(&msg, TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnConnectToServer
|
||||||
|
|
||||||
|
bool ClientViewer::OnConnectToServer()
|
||||||
|
{
|
||||||
|
RegisterVariables();
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ClientViewer::Iterate()
|
||||||
|
{
|
||||||
|
DUNE::IMC::Message * receiveUDPMessage;
|
||||||
|
|
||||||
|
while ((receiveUDPMessage = imcPollUDP()) != NULL)
|
||||||
|
{
|
||||||
|
processMessage(receiveUDPMessage);
|
||||||
|
free(receiveUDPMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
DUNE::IMC::Message * receiveTCPMessage;
|
||||||
|
while ((receiveTCPMessage = imcPollTCP()) != NULL)
|
||||||
|
{
|
||||||
|
processMessage(receiveTCPMessage);
|
||||||
|
free(receiveTCPMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// bool processMessageCallback(DUNE::IMC::Message * message)
|
||||||
|
// {
|
||||||
|
// int type = message->getId();
|
||||||
|
// if (type == DUNE::IMC::Announce::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::Announce * msg = dynamic_cast<DUNE::IMC::Announce *>(message);
|
||||||
|
// // printf("server receive %s: %lf, %lf, %lf, %lf\n", \
|
||||||
|
// // msg->getName(), msg->getTimeStamp(), msg->lat, msg->lon, msg->height);
|
||||||
|
// printf("server receive %s: %lf, %lf, %lf, %lf\n", \
|
||||||
|
// msg->getName(), msg->getTimeStamp(), msg->lat*180/M_PI, msg->lon*180/M_PI, msg->height);
|
||||||
|
// }
|
||||||
|
// if (type == DUNE::IMC::PlanDB::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::PlanDB * msg = dynamic_cast<DUNE::IMC::PlanDB *>(message);
|
||||||
|
// printf("server receive %s: %lf, %d, %d\n", msg->getName(), msg->getTimeStamp(), msg->type, msg->op);
|
||||||
|
// printf("%s\n", msg->info.c_str());
|
||||||
|
// }
|
||||||
|
// if (type == DUNE::IMC::PlanControlState::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::PlanControlState * msg = dynamic_cast<DUNE::IMC::PlanControlState *>(message);
|
||||||
|
|
||||||
|
// printf("server receive %s: %lf, %s, %s, %u\n", \
|
||||||
|
// msg->getName(), msg->getTimeStamp(), msg->plan_id.c_str(), msg->man_id.c_str(), msg->state);
|
||||||
|
// }
|
||||||
|
// if (type == DUNE::IMC::MsgList::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::MsgList * msgList = dynamic_cast<DUNE::IMC::MsgList *>(message);
|
||||||
|
// printf("server receive %s: %lf\n", msgList->getName(), msgList->getTimeStamp());
|
||||||
|
// DUNE::IMC::MessageList<DUNE::IMC::Message>::const_iterator iter1 = msgList->msgs.begin();
|
||||||
|
// for (; iter1 != msgList->msgs.end(); ++iter1)
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::EntityParameters *entityParameter = static_cast<DUNE::IMC::EntityParameters *>(*iter1);
|
||||||
|
// DUNE::IMC::MessageList<DUNE::IMC::EntityParameter>::const_iterator iter2 = entityParameter->params.begin();
|
||||||
|
// for (; iter2 != entityParameter->params.end(); ++iter2)
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::EntityParameter *subEntityParameter = static_cast<DUNE::IMC::EntityParameter *>(*iter2);
|
||||||
|
// std::cout << entityParameter->name << ": " << subEntityParameter->name << ", " << subEntityParameter->value << std::endl;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (type == DUNE::IMC::EstimatedState::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::EstimatedState * msg = dynamic_cast<DUNE::IMC::EstimatedState *>(message);
|
||||||
|
// // printf("server receive %s: %lf, (%f, %f, %f), (%f, %f, %f)\n",
|
||||||
|
// // msg->getName(), msg->getTimeStamp(),
|
||||||
|
// // msg->lat, msg->lon, msg->depth,
|
||||||
|
// // msg->phi, msg->theta, msg->psi);
|
||||||
|
// printf("server receive %s: %lf, (%f, %f, %f), (%f, %f, %f)\n",
|
||||||
|
// msg->getName(), msg->getTimeStamp(),
|
||||||
|
// msg->lat*180/M_PI, msg->lon*180/M_PI, msg->depth*180/M_PI,
|
||||||
|
// msg->phi*180/M_PI, msg->theta*180/M_PI, msg->psi*180/M_PI);
|
||||||
|
// }
|
||||||
|
// if (type == DUNE::IMC::VehicleState::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::VehicleState * msg = dynamic_cast<DUNE::IMC::VehicleState *>(message);
|
||||||
|
// printf("server receive %s: %lf, %u\n",
|
||||||
|
// msg->getName(), msg->getTimeStamp(), msg->op_mode);
|
||||||
|
// }
|
||||||
|
// if (type == DUNE::IMC::LogBookControl::getIdStatic())
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::LogBookControl * msg = dynamic_cast<DUNE::IMC::LogBookControl *>(message);
|
||||||
|
// printf("server receive %s: %lf, %u\n",
|
||||||
|
// msg->getName(), msg->getTimeStamp(), msg->command);
|
||||||
|
|
||||||
|
// DUNE::IMC::MessageList<DUNE::IMC::LogBookEntry>::const_iterator iter = msg->msg.begin();
|
||||||
|
// for (; iter != msg->msg.end(); ++iter)
|
||||||
|
// {
|
||||||
|
// DUNE::IMC::LogBookEntry *msgLogBookEntry = static_cast<DUNE::IMC::LogBookEntry *>(*iter);
|
||||||
|
// std::cout << msgLogBookEntry->type << ", " << msgLogBookEntry->text << std::endl;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnStartUp()
|
||||||
|
// happens before connection is open
|
||||||
|
|
||||||
|
bool ClientViewer::OnStartUp()
|
||||||
|
{
|
||||||
|
initLon = -70.330400;
|
||||||
|
initLat = 43.825300;
|
||||||
|
initAlt = 0;
|
||||||
|
|
||||||
|
// udpCommEvent.SetPeriod(1);
|
||||||
|
// udpCommEvent.SetCallback(processMessageCallback,NULL);
|
||||||
|
// udpCommEvent.Start();
|
||||||
|
|
||||||
|
// tcpCommEvent.SetPeriod(1);
|
||||||
|
// tcpCommEvent.SetCallback(processMessageCallback,NULL);
|
||||||
|
// tcpCommEvent.Start();
|
||||||
|
|
||||||
|
sock_udp_receive.bind(UDP_RECEIVE_PORT, DUNE::Network::Address::Any, false);
|
||||||
|
m_poll_0.add(sock_udp_receive);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
sock_tcp_send.connect(TCP_SERVER_ADDRESS, TCP_SEND_PORT);
|
||||||
|
sock_tcp_send.setKeepAlive(true);
|
||||||
|
m_poll_1.add(sock_tcp_send);
|
||||||
|
}
|
||||||
|
catch(const std::exception& e)
|
||||||
|
{
|
||||||
|
std::cerr << e.what() << '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
char local_ip2[INET_ADDRSTRLEN] = {0};
|
||||||
|
get_local_ip_using_create_socket(local_ip2);
|
||||||
|
ethernetIP = local_ip2;
|
||||||
|
|
||||||
|
RegisterVariables();
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ClientViewer::SetPlan1(std::string sourceName, double stamp)
|
||||||
|
{
|
||||||
|
struct WayPointBehavior behavior;
|
||||||
|
behavior.source = sourceName;
|
||||||
|
behavior.priority = -1;
|
||||||
|
behavior.points.clear();
|
||||||
|
behavior.name = "east_waypt_survey";
|
||||||
|
behavior.priority = 10;
|
||||||
|
struct Landmark station_1 = {"station_1", -70.328891,43.824429, 10, 3, -1, -1, "point"};
|
||||||
|
struct Landmark station_2 = {"station_2", -70.327885,43.824676, 8, 5, -1, -1, "point"};
|
||||||
|
struct Landmark station_3 = {"station_3", -70.327867,43.823622, 6, 7, -1, -1, "point"};
|
||||||
|
struct Landmark station_4 = {"station_4", -70.328765,43.823622, 4, 9, -1, -1, "point"};
|
||||||
|
behavior.points.push_back(station_1);
|
||||||
|
behavior.points.push_back(station_2);
|
||||||
|
behavior.points.push_back(station_3);
|
||||||
|
behavior.points.push_back(station_4);
|
||||||
|
behavior.duration = -1;
|
||||||
|
behavior.constSpeed = -1;
|
||||||
|
behavior.repeat = 1;
|
||||||
|
behavior.closedLoop = true;
|
||||||
|
behavior.perpetual = false;
|
||||||
|
behavior.minDepth = -1;
|
||||||
|
behavior.maxDepth = -1;
|
||||||
|
|
||||||
|
Json::Value behaviorConfig;
|
||||||
|
behaviorConfig["taskName"] = behavior.name;
|
||||||
|
behaviorConfig["taskId"] = "1";
|
||||||
|
behaviorConfig["sourceName"] = behavior.source;
|
||||||
|
behaviorConfig["sourceAddress"] = ethernetIP;
|
||||||
|
behaviorConfig["clientStamp"] = stamp;
|
||||||
|
behaviorConfig["boardStamp"] = -1;
|
||||||
|
behaviorConfig["priority"] = behavior.priority;
|
||||||
|
behaviorConfig["duration"] = behavior.duration;
|
||||||
|
behaviorConfig["closedLoop"] = behavior.closedLoop;
|
||||||
|
behaviorConfig["constSpeed"] = behavior.constSpeed;
|
||||||
|
behaviorConfig["repeat"] = behavior.repeat;
|
||||||
|
behaviorConfig["perpetual"] = behavior.perpetual;
|
||||||
|
behaviorConfig["minDepth"] = behavior.minDepth;
|
||||||
|
behaviorConfig["maxDepth"] = behavior.maxDepth;
|
||||||
|
behaviorConfig["origin"]["lon"] = initLon;
|
||||||
|
behaviorConfig["origin"]["lat"] = initLat;
|
||||||
|
behaviorConfig["origin"]["altitude"] = initAlt;
|
||||||
|
|
||||||
|
Json::Value station;
|
||||||
|
station["name"] = station_1.name;
|
||||||
|
station["lon"] = station_1.lon;
|
||||||
|
station["lat"] = station_1.lat;
|
||||||
|
station["depth"] = station_1.depth;
|
||||||
|
station["speed"] = station_1.speed;
|
||||||
|
station["north"] = station_1.north;
|
||||||
|
station["east"] = station_1.east;
|
||||||
|
station["type"] = station_1.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_2.name;
|
||||||
|
station["lon"] = station_2.lon;
|
||||||
|
station["lat"] = station_2.lat;
|
||||||
|
station["depth"] = station_2.depth;
|
||||||
|
station["speed"] = station_2.speed;
|
||||||
|
station["north"] = station_2.north;
|
||||||
|
station["east"] = station_2.east;
|
||||||
|
station["type"] = station_2.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_3.name;
|
||||||
|
station["lon"] = station_3.lon;
|
||||||
|
station["lat"] = station_3.lat;
|
||||||
|
station["depth"] = station_3.depth;
|
||||||
|
station["speed"] = station_3.speed;
|
||||||
|
station["north"] = station_3.north;
|
||||||
|
station["east"] = station_3.east;
|
||||||
|
station["type"] = station_3.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_4.name;
|
||||||
|
station["lon"] = station_4.lon;
|
||||||
|
station["lat"] = station_4.lat;
|
||||||
|
station["depth"] = station_4.depth;
|
||||||
|
station["speed"] = station_4.speed;
|
||||||
|
station["north"] = station_4.north;
|
||||||
|
station["east"] = station_4.east;
|
||||||
|
station["type"] = station_4.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::string behaviorSpecString = Json::writeString(builder, behaviorConfig);
|
||||||
|
|
||||||
|
return behaviorSpecString;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ClientViewer::SetPlan2(std::string sourceName, double stamp)
|
||||||
|
{
|
||||||
|
struct WayPointBehavior behavior;
|
||||||
|
behavior.source = sourceName;
|
||||||
|
behavior.priority = -1;
|
||||||
|
behavior.points.clear();
|
||||||
|
behavior.name = "west_waypt_survey";
|
||||||
|
behavior.priority = 10;
|
||||||
|
struct Landmark station_1 = {"station_1", -70.331532,43.824194, 9, 4, -1, -1, "track"};
|
||||||
|
struct Landmark station_2 = {"station_2", -70.330328,43.824299, 7, 6, -1, -1, "track"};
|
||||||
|
struct Landmark station_3 = {"station_3", -70.330346,43.823518, 5, 8, -1, -1, "track"};
|
||||||
|
struct Landmark station_4 = {"station_4", -70.331406,43.823206, 3, 10, -1, -1, "track"};
|
||||||
|
behavior.points.push_back(station_1);
|
||||||
|
behavior.points.push_back(station_2);
|
||||||
|
behavior.points.push_back(station_3);
|
||||||
|
behavior.points.push_back(station_4);
|
||||||
|
behavior.duration = -1;
|
||||||
|
behavior.constSpeed = -1;
|
||||||
|
behavior.repeat = -1;
|
||||||
|
behavior.closedLoop = true;
|
||||||
|
behavior.perpetual = true;
|
||||||
|
behavior.minDepth = -1;
|
||||||
|
behavior.maxDepth = -1;
|
||||||
|
|
||||||
|
Json::Value behaviorConfig;
|
||||||
|
behaviorConfig["taskName"] = behavior.name;
|
||||||
|
behaviorConfig["taskId"] = "2";
|
||||||
|
behaviorConfig["sourceName"] = behavior.source;
|
||||||
|
behaviorConfig["sourceAddress"] = ethernetIP;
|
||||||
|
behaviorConfig["clientStamp"] = stamp;
|
||||||
|
behaviorConfig["boardStamp"] = -1;
|
||||||
|
behaviorConfig["priority"] = behavior.priority;
|
||||||
|
behaviorConfig["duration"] = behavior.duration;
|
||||||
|
behaviorConfig["closedLoop"] = behavior.closedLoop;
|
||||||
|
behaviorConfig["constSpeed"] = behavior.constSpeed;
|
||||||
|
behaviorConfig["repeat"] = behavior.repeat;
|
||||||
|
behaviorConfig["perpetual"] = behavior.perpetual;
|
||||||
|
behaviorConfig["minDepth"] = behavior.minDepth;
|
||||||
|
behaviorConfig["maxDepth"] = behavior.maxDepth;
|
||||||
|
behaviorConfig["origin"]["lon"] = initLon;
|
||||||
|
behaviorConfig["origin"]["lat"] = initLat;
|
||||||
|
behaviorConfig["origin"]["altitude"] = initAlt;
|
||||||
|
Json::Value station;
|
||||||
|
station["name"] = station_1.name;
|
||||||
|
station["lon"] = station_1.lon;
|
||||||
|
station["lat"] = station_1.lat;
|
||||||
|
station["depth"] = station_1.depth;
|
||||||
|
station["speed"] = station_1.speed;
|
||||||
|
station["north"] = station_1.north;
|
||||||
|
station["east"] = station_1.east;
|
||||||
|
station["type"] = station_1.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_2.name;
|
||||||
|
station["lon"] = station_2.lon;
|
||||||
|
station["lat"] = station_2.lat;
|
||||||
|
station["depth"] = station_2.depth;
|
||||||
|
station["speed"] = station_2.speed;
|
||||||
|
station["north"] = station_2.north;
|
||||||
|
station["east"] = station_2.east;
|
||||||
|
station["type"] = station_2.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_3.name;
|
||||||
|
station["lon"] = station_3.lon;
|
||||||
|
station["lat"] = station_3.lat;
|
||||||
|
station["depth"] = station_3.depth;
|
||||||
|
station["speed"] = station_3.speed;
|
||||||
|
station["north"] = station_3.north;
|
||||||
|
station["east"] = station_3.east;
|
||||||
|
station["type"] = station_3.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_4.name;
|
||||||
|
station["lon"] = station_4.lon;
|
||||||
|
station["lat"] = station_4.lat;
|
||||||
|
station["depth"] = station_4.depth;
|
||||||
|
station["speed"] = station_4.speed;
|
||||||
|
station["north"] = station_4.north;
|
||||||
|
station["east"] = station_4.east;
|
||||||
|
station["type"] = station_4.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::string behaviorSpecString = Json::writeString(builder, behaviorConfig);
|
||||||
|
|
||||||
|
return behaviorSpecString;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ClientViewer::ModifyPlan1(std::string sourceName, double stamp)
|
||||||
|
{
|
||||||
|
struct WayPointBehavior behavior;
|
||||||
|
behavior.source = sourceName;
|
||||||
|
behavior.priority = -1;
|
||||||
|
behavior.points.clear();
|
||||||
|
behavior.name = "east_waypt_survey";
|
||||||
|
behavior.priority = 10;
|
||||||
|
struct Landmark station_1 = {"station_1", -70.328891,43.824429, 9, 2, -1, -1, "track"};
|
||||||
|
struct Landmark station_2 = {"station_2", -70.327885,43.824676, 7, 4, -1, -1, "point"};
|
||||||
|
struct Landmark station_3 = {"station_3", -70.327867,43.823622, 5, 6, -1, -1, "track"};
|
||||||
|
struct Landmark station_4 = {"station_4", -70.328765,43.823622, 3, 8, -1, -1, "point"};
|
||||||
|
behavior.points.push_back(station_1);
|
||||||
|
behavior.points.push_back(station_2);
|
||||||
|
behavior.points.push_back(station_3);
|
||||||
|
behavior.points.push_back(station_4);
|
||||||
|
behavior.duration = -1;
|
||||||
|
behavior.constSpeed = -1;
|
||||||
|
behavior.repeat = 3;
|
||||||
|
behavior.closedLoop = true;
|
||||||
|
behavior.perpetual = false;
|
||||||
|
behavior.minDepth = -1;
|
||||||
|
behavior.maxDepth = -1;
|
||||||
|
|
||||||
|
Json::Value behaviorConfig;
|
||||||
|
behaviorConfig["taskName"] = behavior.name;
|
||||||
|
behaviorConfig["taskId"] = "1";
|
||||||
|
behaviorConfig["sourceName"] = behavior.source;
|
||||||
|
behaviorConfig["sourceAddress"] = ethernetIP;
|
||||||
|
behaviorConfig["clientStamp"] = stamp;
|
||||||
|
behaviorConfig["boardStamp"] = -1;
|
||||||
|
behaviorConfig["priority"] = behavior.priority;
|
||||||
|
behaviorConfig["duration"] = behavior.duration;
|
||||||
|
behaviorConfig["closedLoop"] = behavior.closedLoop;
|
||||||
|
behaviorConfig["constSpeed"] = behavior.constSpeed;
|
||||||
|
behaviorConfig["repeat"] = behavior.repeat;
|
||||||
|
behaviorConfig["perpetual"] = behavior.perpetual;
|
||||||
|
behaviorConfig["minDepth"] = behavior.minDepth;
|
||||||
|
behaviorConfig["maxDepth"] = behavior.maxDepth;
|
||||||
|
behaviorConfig["origin"]["lon"] = initLon;
|
||||||
|
behaviorConfig["origin"]["lat"] = initLat;
|
||||||
|
behaviorConfig["origin"]["altitude"] = initAlt;
|
||||||
|
Json::Value station;
|
||||||
|
station["name"] = station_1.name;
|
||||||
|
station["lon"] = station_1.lon;
|
||||||
|
station["lat"] = station_1.lat;
|
||||||
|
station["depth"] = station_1.depth;
|
||||||
|
station["speed"] = station_1.speed;
|
||||||
|
station["north"] = station_1.north;
|
||||||
|
station["east"] = station_1.east;
|
||||||
|
station["type"] = station_1.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_2.name;
|
||||||
|
station["lon"] = station_2.lon;
|
||||||
|
station["lat"] = station_2.lat;
|
||||||
|
station["depth"] = station_2.depth;
|
||||||
|
station["speed"] = station_2.speed;
|
||||||
|
station["north"] = station_2.north;
|
||||||
|
station["east"] = station_2.east;
|
||||||
|
station["type"] = station_2.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_3.name;
|
||||||
|
station["lon"] = station_3.lon;
|
||||||
|
station["lat"] = station_3.lat;
|
||||||
|
station["depth"] = station_3.depth;
|
||||||
|
station["speed"] = station_3.speed;
|
||||||
|
station["north"] = station_3.north;
|
||||||
|
station["east"] = station_3.east;
|
||||||
|
station["type"] = station_3.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
station["name"] = station_4.name;
|
||||||
|
station["lon"] = station_4.lon;
|
||||||
|
station["lat"] = station_4.lat;
|
||||||
|
station["depth"] = station_4.depth;
|
||||||
|
station["speed"] = station_4.speed;
|
||||||
|
station["north"] = station_4.north;
|
||||||
|
station["east"] = station_4.east;
|
||||||
|
station["type"] = station_4.type;
|
||||||
|
behaviorConfig["points"].append(station);
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::string behaviorSpecString = Json::writeString(builder, behaviorConfig);
|
||||||
|
|
||||||
|
return behaviorSpecString;
|
||||||
|
}
|
||||||
|
|
||||||
|
DUNE::IMC::Message * ClientViewer::imcPollUDP()
|
||||||
|
{
|
||||||
|
if (m_poll_0.poll(0))
|
||||||
|
{
|
||||||
|
DUNE::Network::Address addr;
|
||||||
|
uint16_t rv = sock_udp_receive.read(udpReceiveBuffer, 65535, &addr);
|
||||||
|
DUNE::IMC::Message * msg = DUNE::IMC::Packet::deserialize(udpReceiveBuffer, rv);
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
DUNE::IMC::Message * ClientViewer::imcPollTCP()
|
||||||
|
{
|
||||||
|
if (m_poll_1.poll(0))
|
||||||
|
{
|
||||||
|
uint16_t rv = sock_tcp_send.read(tcpReceiveBuffer, 65535);
|
||||||
|
DUNE::IMC::Message * msg = DUNE::IMC::Packet::deserialize(tcpReceiveBuffer, rv);
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ClientViewer::tcpSendToServer(DUNE::IMC::Message * msg, std::string addr, int port)
|
||||||
|
{
|
||||||
|
|
||||||
|
DUNE::Utils::ByteBuffer bb;
|
||||||
|
try {
|
||||||
|
DUNE::IMC::Packet::serialize(msg, bb);
|
||||||
|
return sock_tcp_send.write(bb.getBuffer(), msg->getSerializationSize());
|
||||||
|
}
|
||||||
|
catch (std::runtime_error& e)
|
||||||
|
{
|
||||||
|
MOOSTrace ("ERROR sending %s to %s:%d: %s\n", msg->getName(), addr.c_str(), port, e.what());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ClientViewer::processMessage(DUNE::IMC::Message * message) {
|
||||||
|
|
||||||
|
int type = message->getId();
|
||||||
|
if (type == DUNE::IMC::Announce::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::Announce * msg = dynamic_cast<DUNE::IMC::Announce *>(message);
|
||||||
|
printf("server receive %s: %lf, %lf, %lf, %lf\n", \
|
||||||
|
msg->getName(), msg->getTimeStamp(), msg->lat*180/M_PI, msg->lon*180/M_PI, msg->height);
|
||||||
|
}
|
||||||
|
if (type == DUNE::IMC::PlanDB::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanDB * msg = dynamic_cast<DUNE::IMC::PlanDB *>(message);
|
||||||
|
printf("server receive %s: %lf, %d, %d\n", msg->getName(), msg->getTimeStamp(), msg->type, msg->op);
|
||||||
|
printf("%s\n", msg->info.c_str());
|
||||||
|
}
|
||||||
|
if (type == DUNE::IMC::PlanControlState::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::PlanControlState * msg = dynamic_cast<DUNE::IMC::PlanControlState *>(message);
|
||||||
|
|
||||||
|
printf("server receive %s: %lf, %s, %s, %u\n", \
|
||||||
|
msg->getName(), msg->getTimeStamp(), msg->plan_id.c_str(), msg->man_id.c_str(), msg->state);
|
||||||
|
}
|
||||||
|
if (type == DUNE::IMC::MsgList::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::MsgList * msgList = dynamic_cast<DUNE::IMC::MsgList *>(message);
|
||||||
|
printf("server receive %s: %lf\n", msgList->getName(), msgList->getTimeStamp());
|
||||||
|
DUNE::IMC::MessageList<DUNE::IMC::Message>::const_iterator iter1 = msgList->msgs.begin();
|
||||||
|
for (; iter1 != msgList->msgs.end(); ++iter1)
|
||||||
|
{
|
||||||
|
DUNE::IMC::EntityParameters *entityParameter = static_cast<DUNE::IMC::EntityParameters *>(*iter1);
|
||||||
|
DUNE::IMC::MessageList<DUNE::IMC::EntityParameter>::const_iterator iter2 = entityParameter->params.begin();
|
||||||
|
for (; iter2 != entityParameter->params.end(); ++iter2)
|
||||||
|
{
|
||||||
|
DUNE::IMC::EntityParameter *subEntityParameter = static_cast<DUNE::IMC::EntityParameter *>(*iter2);
|
||||||
|
std::cout << entityParameter->name << ": " << subEntityParameter->name << ", " << subEntityParameter->value << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (type == DUNE::IMC::EstimatedState::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::EstimatedState * msg = dynamic_cast<DUNE::IMC::EstimatedState *>(message);
|
||||||
|
printf("server receive %s: %lf, (%f, %f, %f), (%f, %f, %f)\n",
|
||||||
|
msg->getName(), msg->getTimeStamp(),
|
||||||
|
msg->lat*180/M_PI, msg->lon*180/M_PI, msg->depth*180/M_PI,
|
||||||
|
msg->phi*180/M_PI, msg->theta*180/M_PI, msg->psi*180/M_PI);
|
||||||
|
}
|
||||||
|
if (type == DUNE::IMC::VehicleState::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::VehicleState * msg = dynamic_cast<DUNE::IMC::VehicleState *>(message);
|
||||||
|
printf("server receive %s: %lf, %u\n",
|
||||||
|
msg->getName(), msg->getTimeStamp(), msg->op_mode);
|
||||||
|
}
|
||||||
|
if (type == DUNE::IMC::LogBookControl::getIdStatic())
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookControl * msg = dynamic_cast<DUNE::IMC::LogBookControl *>(message);
|
||||||
|
printf("server receive %s: %lf, %u\n",
|
||||||
|
msg->getName(), msg->getTimeStamp(), msg->command);
|
||||||
|
|
||||||
|
DUNE::IMC::MessageList<DUNE::IMC::LogBookEntry>::const_iterator iter = msg->msg.begin();
|
||||||
|
for (; iter != msg->msg.end(); ++iter)
|
||||||
|
{
|
||||||
|
DUNE::IMC::LogBookEntry *msgLogBookEntry = static_cast<DUNE::IMC::LogBookEntry *>(*iter);
|
||||||
|
std::cout << msgLogBookEntry->type << ", " << msgLogBookEntry->context << ", " << msgLogBookEntry->text << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: RegisterVariables
|
||||||
|
|
||||||
|
void ClientViewer::RegisterVariables()
|
||||||
|
{
|
||||||
|
Register("Command", 0);
|
||||||
|
Register("Key", 0);
|
||||||
|
Register("Value", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ClientViewer::SetEntityStatus(DUNE::IMC::EntityParameter& subMsg, std::string name, std::string value)
|
||||||
|
{
|
||||||
|
int result = -1;
|
||||||
|
|
||||||
|
subMsg.name = name;
|
||||||
|
subMsg.value = value;
|
||||||
|
|
||||||
|
result = 0;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ClientViewer::generateEntityName(std::string parentName, std::string childName)
|
||||||
|
{
|
||||||
|
Json::Value outputJsonValue;
|
||||||
|
outputJsonValue["parent"] = parentName;
|
||||||
|
outputJsonValue["child"] = childName;
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::string outputJsonString = Json::writeString(builder, outputJsonValue);
|
||||||
|
return outputJsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ClientViewer::generateEntityValue(std::string value, std::string type)
|
||||||
|
{
|
||||||
|
Json::Value outputJsonValue;
|
||||||
|
outputJsonValue["value"] = value;
|
||||||
|
outputJsonValue["type"] = type;
|
||||||
|
Json::StreamWriterBuilder builder;
|
||||||
|
std::string outputJsonString = Json::writeString(builder, outputJsonValue);
|
||||||
|
return outputJsonString;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int ClientViewer::get_local_ip_using_create_socket(char* str_ip)
|
||||||
|
{
|
||||||
|
int status = -1;
|
||||||
|
int af = AF_INET;
|
||||||
|
int sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
|
||||||
|
struct sockaddr_in remote_addr;
|
||||||
|
struct sockaddr_in local_addr;
|
||||||
|
char *local_ip = NULL;
|
||||||
|
socklen_t len = 0;
|
||||||
|
|
||||||
|
remote_addr.sin_family = AF_INET;
|
||||||
|
remote_addr.sin_port = htons(53);
|
||||||
|
remote_addr.sin_addr.s_addr = inet_addr("1.1.1.1");
|
||||||
|
|
||||||
|
len = sizeof(struct sockaddr_in);
|
||||||
|
status = connect(sock_fd, (struct sockaddr*)&remote_addr, len);
|
||||||
|
if(status != 0 ){
|
||||||
|
printf("connect err \n");
|
||||||
|
}
|
||||||
|
|
||||||
|
len = sizeof(struct sockaddr_in);
|
||||||
|
getsockname(sock_fd, (struct sockaddr*)&local_addr, &len);
|
||||||
|
|
||||||
|
local_ip = inet_ntoa(local_addr.sin_addr);
|
||||||
|
if(local_ip)
|
||||||
|
{
|
||||||
|
strcpy(str_ip, local_ip);
|
||||||
|
status = 0;
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
101
src/pClientViewer/ClientViewer.h
Normal file
101
src/pClientViewer/ClientViewer.h
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: ClientViewer.h */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#ifndef ClientViewer_HEADER
|
||||||
|
#define ClientViewer_HEADER
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
|
||||||
|
#include "MOOS/libMOOS/MOOSLib.h"
|
||||||
|
#include "MOOS/libMOOS/Utils/MOOSThread.h"
|
||||||
|
#include "MOOS/libMOOS/Utils/PeriodicEvent.h"
|
||||||
|
#include <DUNE/DUNE.hpp>
|
||||||
|
// #include "UDPCommunicationEvent.h"
|
||||||
|
// #include "TCPCommunicationEvent.h"
|
||||||
|
|
||||||
|
struct Landmark {
|
||||||
|
std::string name;
|
||||||
|
float lon;
|
||||||
|
float lat;
|
||||||
|
float depth;
|
||||||
|
float speed;
|
||||||
|
float north;
|
||||||
|
float east;
|
||||||
|
std::string type;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct WayPointBehavior
|
||||||
|
{
|
||||||
|
std::string name;
|
||||||
|
std::string source;
|
||||||
|
int priority;
|
||||||
|
std::vector<Landmark> points;
|
||||||
|
float duration;
|
||||||
|
bool closedLoop;
|
||||||
|
float constSpeed;
|
||||||
|
int repeat;
|
||||||
|
bool perpetual;
|
||||||
|
float minDepth;
|
||||||
|
float maxDepth;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ClientViewer : public CMOOSApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ClientViewer();
|
||||||
|
~ClientViewer();
|
||||||
|
|
||||||
|
protected: // Standard MOOSApp functions to overload
|
||||||
|
bool OnNewMail(MOOSMSG_LIST &NewMail);
|
||||||
|
bool Iterate();
|
||||||
|
bool OnConnectToServer();
|
||||||
|
bool OnStartUp();
|
||||||
|
void RegisterVariables();
|
||||||
|
void processMessage(DUNE::IMC::Message * message);
|
||||||
|
|
||||||
|
private:
|
||||||
|
DUNE::IMC::Message * imcPollTCP();
|
||||||
|
DUNE::IMC::Message * imcPollUDP();
|
||||||
|
DUNE::Network::TCPSocket sock_tcp_send;
|
||||||
|
DUNE::Network::UDPSocket sock_udp_receive;
|
||||||
|
|
||||||
|
bool tcpSendToServer(DUNE::IMC::Message * msg, std::string addr, int port);
|
||||||
|
int get_local_ip_using_create_socket(char* str_ip);
|
||||||
|
std::string SetPlan1(std::string sourceName, double stamp);
|
||||||
|
std::string SetPlan2(std::string sourceName, double stamp);
|
||||||
|
std::string ModifyPlan1(std::string sourceName, double stamp);
|
||||||
|
int SetEntityStatus(DUNE::IMC::EntityParameter& subMsg, std::string name, std::string value);
|
||||||
|
std::string generateEntityName(std::string parentName, std::string childName);
|
||||||
|
std::string generateEntityValue(std::string value, std::string type);
|
||||||
|
|
||||||
|
DUNE::IO::Poll m_poll_0;
|
||||||
|
DUNE::IO::Poll m_poll_1;
|
||||||
|
DUNE::IO::Poll m_poll_2;
|
||||||
|
uint8_t* udpReceiveBuffer;
|
||||||
|
uint8_t* tcpReceiveBuffer;
|
||||||
|
std::string SetPlan1();
|
||||||
|
std::string SetPlan2();
|
||||||
|
std::string ethernetIP;
|
||||||
|
float initLon;
|
||||||
|
float initLat;
|
||||||
|
float initAlt;
|
||||||
|
|
||||||
|
CMOOSThread udpThread;
|
||||||
|
|
||||||
|
// UDPCommunicationEvent udpCommEvent;
|
||||||
|
// TCPCommunicationEvent tcpCommEvent;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
115
src/pClientViewer/ClientViewer_Info.cpp
Normal file
115
src/pClientViewer/ClientViewer_Info.cpp
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: ClientViewer_Info.cpp */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
|
#include "ClientViewer_Info.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "ReleaseInfo.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showSynopsis
|
||||||
|
|
||||||
|
void showSynopsis()
|
||||||
|
{
|
||||||
|
blk("SYNOPSIS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" The pClientViewer application is used for ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showHelpAndExit
|
||||||
|
|
||||||
|
void showHelpAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("Usage: pClientViewer file.moos [OPTIONS] ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("Options: ");
|
||||||
|
mag(" --alias","=<ProcessName> ");
|
||||||
|
blk(" Launch pClientViewer with the given process name ");
|
||||||
|
blk(" rather than pClientViewer. ");
|
||||||
|
mag(" --example, -e ");
|
||||||
|
blk(" Display example MOOS configuration block. ");
|
||||||
|
mag(" --help, -h ");
|
||||||
|
blk(" Display this help message. ");
|
||||||
|
mag(" --interface, -i ");
|
||||||
|
blk(" Display MOOS publications and subscriptions. ");
|
||||||
|
mag(" --version,-v ");
|
||||||
|
blk(" Display the release version of pClientViewer. ");
|
||||||
|
blk(" ");
|
||||||
|
blk("Note: If argv[2] does not otherwise match a known option, ");
|
||||||
|
blk(" then it will be interpreted as a run alias. This is ");
|
||||||
|
blk(" to support pAntler launching conventions. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showExampleConfigAndExit
|
||||||
|
|
||||||
|
void showExampleConfigAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pClientViewer Example MOOS Configuration ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
blk("ProcessConfig = pClientViewer ");
|
||||||
|
blk("{ ");
|
||||||
|
blk(" AppTick = 4 ");
|
||||||
|
blk(" CommsTick = 4 ");
|
||||||
|
blk(" ");
|
||||||
|
blk("} ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showInterfaceAndExit
|
||||||
|
|
||||||
|
void showInterfaceAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pClientViewer INTERFACE ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("SUBSCRIPTIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" NODE_MESSAGE = src_node=alpha,dest_node=bravo,var_name=FOO, ");
|
||||||
|
blk(" string_val=BAR ");
|
||||||
|
blk(" ");
|
||||||
|
blk("PUBLICATIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" Publications are determined by the node message content. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showReleaseInfoAndExit
|
||||||
|
|
||||||
|
void showReleaseInfoAndExit()
|
||||||
|
{
|
||||||
|
showReleaseInfo("pClientViewer", "gpl");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
18
src/pClientViewer/ClientViewer_Info.h
Normal file
18
src/pClientViewer/ClientViewer_Info.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: ClientViewer_Info.h */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#ifndef ClientViewer_INFO_HEADER
|
||||||
|
#define ClientViewer_INFO_HEADER
|
||||||
|
|
||||||
|
void showSynopsis();
|
||||||
|
void showHelpAndExit();
|
||||||
|
void showExampleConfigAndExit();
|
||||||
|
void showInterfaceAndExit();
|
||||||
|
void showReleaseInfoAndExit();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
52
src/pClientViewer/main.cpp
Normal file
52
src/pClientViewer/main.cpp
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: main.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "ClientViewer.h"
|
||||||
|
#include "ClientViewer_Info.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
string mission_file;
|
||||||
|
string run_command = argv[0];
|
||||||
|
|
||||||
|
for(int i=1; i<argc; i++) {
|
||||||
|
string argi = argv[i];
|
||||||
|
if((argi=="-v") || (argi=="--version") || (argi=="-version"))
|
||||||
|
showReleaseInfoAndExit();
|
||||||
|
else if((argi=="-e") || (argi=="--example") || (argi=="-example"))
|
||||||
|
showExampleConfigAndExit();
|
||||||
|
else if((argi == "-h") || (argi == "--help") || (argi=="-help"))
|
||||||
|
showHelpAndExit();
|
||||||
|
else if((argi == "-i") || (argi == "--interface"))
|
||||||
|
showInterfaceAndExit();
|
||||||
|
else if(strEnds(argi, ".moos") || strEnds(argi, ".moos++"))
|
||||||
|
mission_file = argv[i];
|
||||||
|
else if(strBegins(argi, "--alias="))
|
||||||
|
run_command = argi.substr(8);
|
||||||
|
else if(i==2)
|
||||||
|
run_command = argi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mission_file == "")
|
||||||
|
showHelpAndExit();
|
||||||
|
|
||||||
|
cout << termColor("green");
|
||||||
|
cout << "pClientViewer launching as " << run_command << endl;
|
||||||
|
cout << termColor() << endl;
|
||||||
|
|
||||||
|
ClientViewer ClientViewer;
|
||||||
|
|
||||||
|
ClientViewer.Run(run_command.c_str(), mission_file.c_str());
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
9
src/pClientViewer/pClientViewer.moos
Normal file
9
src/pClientViewer/pClientViewer.moos
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
//------------------------------------------------
|
||||||
|
// pClientViewer config block
|
||||||
|
|
||||||
|
ProcessConfig = pClientViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
38
src/pDataManagement/CMakeLists.txt
Normal file
38
src/pDataManagement/CMakeLists.txt
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#--------------------------------------------------------
|
||||||
|
# The CMakeLists.txt for: pDataManagement
|
||||||
|
# Author(s): Xiaobin Zeng
|
||||||
|
#--------------------------------------------------------
|
||||||
|
|
||||||
|
SET(SRC
|
||||||
|
DataManagement.cpp
|
||||||
|
DataManagement_Info.cpp
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(DUNE_LIB dune-core /usr/local/lib /usr/local/lib/DUNE)
|
||||||
|
FIND_PATH(DUNE_INCLUDE DUNE/IMC.hpp /usr/local/include /usr/local/include/DUNE)
|
||||||
|
include_directories(${DUNE_INCLUDE})
|
||||||
|
|
||||||
|
# include(FindProtobuf)
|
||||||
|
# find_package(Protobuf REQUIRED)
|
||||||
|
# include_directories(${Protobuf_INCLUDE_DIR})
|
||||||
|
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
#find_package (jsoncpp NO_MODULE REQUIRED)
|
||||||
|
|
||||||
|
include_directories(/usr/include/jsoncpp/)
|
||||||
|
link_directories(/usr/local/lib/)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(pDataManagement ${SRC})
|
||||||
|
TARGET_LINK_LIBRARIES(pDataManagement
|
||||||
|
${MOOS_LIBRARIES}
|
||||||
|
${CMAKE_DL_LIBS}
|
||||||
|
${SYSTEM_LIBS}
|
||||||
|
${DUNE_LIB}
|
||||||
|
mbutil
|
||||||
|
m
|
||||||
|
pthread
|
||||||
|
jsoncpp
|
||||||
|
)
|
||||||
|
|
||||||
640
src/pDataManagement/DataManagement.cpp
Normal file
640
src/pDataManagement/DataManagement.cpp
Normal file
@@ -0,0 +1,640 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: DataManagement.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <iterator>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "DataManagement.h"
|
||||||
|
#include <json/json.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Constructor
|
||||||
|
DataManagement::DataManagement()
|
||||||
|
{
|
||||||
|
|
||||||
|
motionControlInfo.desiredHeading = 0;
|
||||||
|
motionControlInfo.desiredSpeed = 0;
|
||||||
|
motionControlInfo.desiredDepth = 0;
|
||||||
|
|
||||||
|
nDoublePrecision = 5;
|
||||||
|
//AUV状态信息:0~99
|
||||||
|
logVarList["uMotion_pose_log"] = 0;
|
||||||
|
//任务历史信息:100~199
|
||||||
|
logVarList["uMission_task_log"] = 100;
|
||||||
|
//客户端操作记录:200~299
|
||||||
|
logVarList["uClient_plandbSet_log"] = 200;
|
||||||
|
logVarList["uClient_plandbGet_log"] = 201;
|
||||||
|
logVarList["uClient_parameterSet_log"] = 202;
|
||||||
|
logVarList["uClient_planControl_log"] = 203;
|
||||||
|
logVarList["uClient_manualEnable_log"] = 204;
|
||||||
|
logVarList["uClient_manualDrive_log"] = 205;
|
||||||
|
//错误日志:300~399
|
||||||
|
logVarList["uFH_errorMsg_log"] = 300;
|
||||||
|
//运控信息:400~499
|
||||||
|
logVarList["uMotion_desired_log"] = 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Destructor
|
||||||
|
DataManagement::~DataManagement()
|
||||||
|
{
|
||||||
|
if(auvDataStream.is_open())
|
||||||
|
{
|
||||||
|
auvDataStream.close();
|
||||||
|
}
|
||||||
|
if(missionHistoryStream.is_open())
|
||||||
|
{
|
||||||
|
missionHistoryStream.close();
|
||||||
|
}
|
||||||
|
if(clientCommandStream.is_open())
|
||||||
|
{
|
||||||
|
clientCommandStream.close();
|
||||||
|
}
|
||||||
|
if(faultLogStream.is_open())
|
||||||
|
{
|
||||||
|
faultLogStream.close();
|
||||||
|
}
|
||||||
|
if(motionControlStream.is_open())
|
||||||
|
{
|
||||||
|
motionControlStream.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnNewMail
|
||||||
|
bool DataManagement::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::OnNewMail(NewMail);
|
||||||
|
|
||||||
|
DoAsyncLog(NewMail);
|
||||||
|
|
||||||
|
MOOSMSG_LIST::iterator p;
|
||||||
|
|
||||||
|
for(p=NewMail.begin(); p!=NewMail.end(); p++)
|
||||||
|
{
|
||||||
|
CMOOSMsg &msg = *p;
|
||||||
|
|
||||||
|
string key = msg.GetKey();
|
||||||
|
string comm = msg.GetCommunity();
|
||||||
|
double dval = msg.GetDouble();
|
||||||
|
string sval = msg.GetString();
|
||||||
|
string msrc = msg.GetSource();
|
||||||
|
double mtime = msg.GetTime();
|
||||||
|
bool mdbl = msg.IsDouble();
|
||||||
|
bool mstr = msg.IsString();
|
||||||
|
|
||||||
|
if(key == "uDevice_monitor_fb")
|
||||||
|
{
|
||||||
|
std::string err;
|
||||||
|
Json::Value estimatedStateData;
|
||||||
|
std::istringstream iss(msg.GetString());
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
bool parsingResult = Json::parseFromStream(builder, iss, &estimatedStateData, &err);
|
||||||
|
if (!parsingResult)
|
||||||
|
{
|
||||||
|
std::cerr << "Failed to parse JSON string." << std::endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ","
|
||||||
|
<< estimatedStateData["driveMode"].asUInt() << ","
|
||||||
|
<< estimatedStateData["referenceLon"].asFloat() << ","
|
||||||
|
<< estimatedStateData["referenceLat"].asFloat() << ","
|
||||||
|
<< estimatedStateData["referenceAltitude"].asFloat() << ","
|
||||||
|
<< estimatedStateData["currentLon"].asFloat() << ","
|
||||||
|
<< estimatedStateData["currentLat"].asFloat() << ","
|
||||||
|
<< estimatedStateData["currentAltitude"].asFloat() << ","
|
||||||
|
<< estimatedStateData["north"].asFloat() << ","
|
||||||
|
<< estimatedStateData["east"].asFloat() << ","
|
||||||
|
<< estimatedStateData["depth"].asFloat() << ","
|
||||||
|
<< estimatedStateData["roll"].asFloat() << ","
|
||||||
|
<< estimatedStateData["pitch"].asFloat() << ","
|
||||||
|
<< estimatedStateData["yaw"].asFloat() << ","
|
||||||
|
<< estimatedStateData["insVX"].asFloat() << ","
|
||||||
|
<< estimatedStateData["insVY"].asFloat() << ","
|
||||||
|
<< estimatedStateData["insVZ"].asFloat() << ","
|
||||||
|
<< estimatedStateData["dvlVX"].asFloat() << ","
|
||||||
|
<< estimatedStateData["dvlVY"].asFloat() << ","
|
||||||
|
<< estimatedStateData["dvlVZ"].asFloat() << ","
|
||||||
|
<< estimatedStateData["height"].asFloat() << ","
|
||||||
|
<< estimatedStateData["rpm"].asInt() << ","
|
||||||
|
<< estimatedStateData["lightEnable"].asUInt() << ","
|
||||||
|
<< estimatedStateData["throwingLoadEnable"].asUInt() << ","
|
||||||
|
<< estimatedStateData["dvlStatus"].asUInt() << ","
|
||||||
|
<< estimatedStateData["iridium"].asUInt() << ","
|
||||||
|
<< estimatedStateData["batteryVoltage"].asUInt() << ","
|
||||||
|
<< estimatedStateData["batteryLevel"].asUInt() << ","
|
||||||
|
<< estimatedStateData["batteryTemp"].asFloat();
|
||||||
|
Notify("uMotion_pose_log", ss.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(key == "uMission_task_fb")
|
||||||
|
{
|
||||||
|
std::string err;
|
||||||
|
Json::Value missionStatusObject;
|
||||||
|
std::istringstream iss(msg.GetString());
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
bool parsingResult = Json::parseFromStream(builder, iss, &missionStatusObject, &err);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!parsingResult)
|
||||||
|
{
|
||||||
|
throw (std::string("parse error"));
|
||||||
|
}
|
||||||
|
if (missionStatusObject["state"].asInt() == RUN)
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ","
|
||||||
|
<< missionStatusObject["state"].asInt() << ","
|
||||||
|
<< missionStatusObject["taskName"].asString() << ","
|
||||||
|
<< missionStatusObject["destName"].asString() << ","
|
||||||
|
<< missionStatusObject["errorCode"].asUInt();
|
||||||
|
Notify("uMission_task_log", ss.str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(std::string s)
|
||||||
|
{
|
||||||
|
std::cout << s << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if((key == "uFH_errorMsg1_fb") || (key == "uFH_errorMsg2_fb") || (key == "uFH_errorMsg3_fb"))
|
||||||
|
{
|
||||||
|
std::string err;
|
||||||
|
Json::Value errorStatus;
|
||||||
|
std::istringstream iss(msg.GetString());
|
||||||
|
Json::CharReaderBuilder builder;
|
||||||
|
bool parsingResult = Json::parseFromStream(builder, iss, &errorStatus, &err);
|
||||||
|
// std::cout << "uFH_errorMsg: " << msg.GetString() << std::endl;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (!parsingResult)
|
||||||
|
{
|
||||||
|
throw (std::string("parse error"));
|
||||||
|
}
|
||||||
|
if (errorStatus["FaultMsgs"].empty())
|
||||||
|
{
|
||||||
|
throw (std::string("faultMsgs empty"));
|
||||||
|
}
|
||||||
|
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||||
|
ss << errorStatus["FaultLevel"].asInt() << ",";
|
||||||
|
std::string prefix = ss.str();
|
||||||
|
|
||||||
|
Json::Value faultMsgsObject = errorStatus["FaultMsgs"];
|
||||||
|
std::vector<std::string> typeList = faultMsgsObject.getMemberNames();
|
||||||
|
int typeSize = typeList.size();
|
||||||
|
std::vector<std::string> contentList;
|
||||||
|
for(int i=0; i< typeSize; i++)
|
||||||
|
{
|
||||||
|
ss.str("");
|
||||||
|
std::string faultType = typeList.at(i);
|
||||||
|
ss << faultType << ",";
|
||||||
|
Json::Value faultIDArray = faultMsgsObject[faultType]["FaultID"];
|
||||||
|
if (!faultIDArray.isArray())
|
||||||
|
{
|
||||||
|
throw (std::string(faultType + " FaultID is not array"));
|
||||||
|
}
|
||||||
|
ss << "[";
|
||||||
|
for(int j=0; j< faultIDArray.size(); j++)
|
||||||
|
{
|
||||||
|
if (j == faultIDArray.size() - 1)
|
||||||
|
{
|
||||||
|
ss << faultIDArray[j].asInt();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ss << faultIDArray[j].asInt() << ",";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ss << "],";
|
||||||
|
ss << faultMsgsObject[faultType]["FirstRecvTime"].asString() << ",";
|
||||||
|
ss << faultMsgsObject[faultType]["Source"].asString();
|
||||||
|
contentList.push_back(prefix + ss.str());
|
||||||
|
}
|
||||||
|
int contentSize = contentList.size();
|
||||||
|
ss.str("");
|
||||||
|
for (int i = 0; i < contentSize; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (i == contentSize - 1)
|
||||||
|
{
|
||||||
|
ss << contentList.at(i);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ss << contentList.at(i) << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Notify("uFH_errorMsg_log", ss.str());
|
||||||
|
}
|
||||||
|
catch(std::string s)
|
||||||
|
{
|
||||||
|
std::cout << s << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(key == "DESIRED_HEADING")
|
||||||
|
{
|
||||||
|
motionControlInfo.desiredHeading = msg.GetDouble();
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||||
|
ss << motionControlInfo.desiredHeading << ","
|
||||||
|
<< motionControlInfo.desiredSpeed << ","
|
||||||
|
<< motionControlInfo.desiredDepth;
|
||||||
|
Notify("uMotion_desired_log", ss.str());
|
||||||
|
}
|
||||||
|
if(key == "DESIRED_SPEED")
|
||||||
|
{
|
||||||
|
motionControlInfo.desiredSpeed = msg.GetDouble();
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||||
|
ss << motionControlInfo.desiredHeading << ","
|
||||||
|
<< motionControlInfo.desiredSpeed << ","
|
||||||
|
<< motionControlInfo.desiredDepth;
|
||||||
|
Notify("uMotion_desired_log", ss.str());
|
||||||
|
}
|
||||||
|
if(key == "DESIRED_DEPTH")
|
||||||
|
{
|
||||||
|
motionControlInfo.desiredDepth = msg.GetDouble();
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << std::fixed << std::setprecision(6) << MOOS::Time() << ",";
|
||||||
|
ss << motionControlInfo.desiredHeading << ","
|
||||||
|
<< motionControlInfo.desiredSpeed << ","
|
||||||
|
<< motionControlInfo.desiredDepth;
|
||||||
|
Notify("uMotion_desired_log", ss.str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DataManagement::DoAsyncLog(MOOSMSG_LIST &NewMail)
|
||||||
|
{
|
||||||
|
MOOSMSG_LIST::iterator q;
|
||||||
|
std::stringstream sStream;
|
||||||
|
int saveFileIndex = -1;
|
||||||
|
for(q = NewMail.begin();q!=NewMail.end();q++)
|
||||||
|
{
|
||||||
|
CMOOSMsg & rMsg = *q;
|
||||||
|
if(logVarList.find(rMsg.m_sKey)!=logVarList.end())
|
||||||
|
{
|
||||||
|
std::map<std::string, int>::iterator q = logVarList.find(rMsg.m_sKey);
|
||||||
|
saveFileIndex = q->second;
|
||||||
|
|
||||||
|
std::stringstream sEntry;
|
||||||
|
sEntry.setf(ios::left);
|
||||||
|
sEntry.setf(ios::fixed);
|
||||||
|
if(rMsg.IsDataType(MOOS_STRING) || rMsg.IsDataType(MOOS_DOUBLE))
|
||||||
|
{
|
||||||
|
sEntry << rMsg.GetAsString(12,nDoublePrecision) << ' ';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((saveFileIndex >= 0) && (saveFileIndex < 100))
|
||||||
|
{
|
||||||
|
if(auvDataStream.is_open())
|
||||||
|
{
|
||||||
|
auvDataStream << sEntry.str() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((saveFileIndex >= 100) && (saveFileIndex < 200))
|
||||||
|
{
|
||||||
|
if(missionHistoryStream.is_open())
|
||||||
|
{
|
||||||
|
missionHistoryStream << sEntry.str() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((saveFileIndex >= 200) && (saveFileIndex < 300))
|
||||||
|
{
|
||||||
|
if(clientCommandStream.is_open())
|
||||||
|
{
|
||||||
|
clientCommandStream << sEntry.str() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((saveFileIndex >= 300) && (saveFileIndex < 400))
|
||||||
|
{
|
||||||
|
if(faultLogStream.is_open())
|
||||||
|
{
|
||||||
|
faultLogStream << sEntry.str() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((saveFileIndex >= 400) && (saveFileIndex < 500))
|
||||||
|
{
|
||||||
|
if(motionControlStream.is_open())
|
||||||
|
{
|
||||||
|
motionControlStream << sEntry.str() << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
contentFromStream = sEntry.str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnConnectToServer
|
||||||
|
|
||||||
|
bool DataManagement::OnConnectToServer()
|
||||||
|
{
|
||||||
|
RegisterVariables();
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: Iterate()
|
||||||
|
// happens AppTick times per second
|
||||||
|
|
||||||
|
bool DataManagement::Iterate()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::Iterate();
|
||||||
|
|
||||||
|
auvDataStream.flush();
|
||||||
|
missionHistoryStream.flush();
|
||||||
|
clientCommandStream.flush();
|
||||||
|
faultLogStream.flush();
|
||||||
|
motionControlStream.flush();
|
||||||
|
AppCastingMOOSApp::PostReport();
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: OnStartUp()
|
||||||
|
// happens before connection is open
|
||||||
|
|
||||||
|
bool DataManagement::OnStartUp()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::OnStartUp();
|
||||||
|
|
||||||
|
list<string> sParams;
|
||||||
|
m_MissionReader.EnableVerbatimQuoting(false);
|
||||||
|
if(m_MissionReader.GetConfiguration(GetAppName(), sParams)) {
|
||||||
|
list<string>::iterator p;
|
||||||
|
for(p=sParams.begin(); p!=sParams.end(); p++) {
|
||||||
|
string line = *p;
|
||||||
|
string param = tolower(biteStringX(line, '='));
|
||||||
|
string value = line;
|
||||||
|
|
||||||
|
if(param == "foo") {
|
||||||
|
//handled
|
||||||
|
}
|
||||||
|
else if(param == "bar") {
|
||||||
|
//handled
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::string saveLogDir;
|
||||||
|
m_MissionReader.GetValue("LogDir", saveLogDir);
|
||||||
|
std::string vehicleName;
|
||||||
|
m_MissionReader.GetValue("VehicleName", vehicleName);
|
||||||
|
bool logEnable = false;
|
||||||
|
m_MissionReader.GetValue("LogEnable", logEnable);
|
||||||
|
|
||||||
|
std::string auvDataFile;
|
||||||
|
m_MissionReader.GetValue("AuvDataLog", auvDataFile);
|
||||||
|
std::string missionHistoryFile;
|
||||||
|
m_MissionReader.GetValue("MissionHistoryLog", missionHistoryFile);
|
||||||
|
std::string clientCommandFile;
|
||||||
|
m_MissionReader.GetValue("ClientCommandLog", clientCommandFile);
|
||||||
|
std::string faultLogFile;
|
||||||
|
m_MissionReader.GetValue("FaultLog", faultLogFile);
|
||||||
|
std::string motionControlFile;
|
||||||
|
m_MissionReader.GetValue("MotionControlLog", motionControlFile);
|
||||||
|
|
||||||
|
|
||||||
|
if (logEnable)
|
||||||
|
{
|
||||||
|
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||||
|
{
|
||||||
|
mode_t mode = 0775;
|
||||||
|
mkdir(saveLogDir.c_str(), mode);
|
||||||
|
}
|
||||||
|
saveLogDir += "/" + vehicleName;
|
||||||
|
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||||
|
{
|
||||||
|
mode_t mode = 0775;
|
||||||
|
mkdir(saveLogDir.c_str(), mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string subDir;
|
||||||
|
std::string localTime;
|
||||||
|
GenerateFileName(subDir, localTime);
|
||||||
|
saveLogDir += "/" + subDir;
|
||||||
|
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||||
|
{
|
||||||
|
mode_t mode = 0775;
|
||||||
|
mkdir(saveLogDir.c_str(), mode);
|
||||||
|
}
|
||||||
|
saveLogDir += "/" + localTime;
|
||||||
|
if (access(saveLogDir.c_str(), F_OK) == -1 )
|
||||||
|
{
|
||||||
|
mode_t mode = 0775;
|
||||||
|
mkdir(saveLogDir.c_str(), mode);
|
||||||
|
}
|
||||||
|
std::string auvDataSavePath = saveLogDir + "/" + auvDataFile;
|
||||||
|
std::string missionHistorySavePath = saveLogDir + "/" + missionHistoryFile;
|
||||||
|
std::string clientCommandSavePath = saveLogDir + "/" + clientCommandFile;
|
||||||
|
std::string faultLogSavePath = saveLogDir + "/" + faultLogFile;
|
||||||
|
std::string motionControlSavePath = saveLogDir + "/" + motionControlFile;
|
||||||
|
|
||||||
|
if(!OpenFile(auvDataStream, auvDataSavePath))
|
||||||
|
return MOOSFail("Failed to Open auvData file");
|
||||||
|
if(!OpenFile(missionHistoryStream, missionHistorySavePath))
|
||||||
|
return MOOSFail("Failed to Open missionHistory file");
|
||||||
|
if(!OpenFile(clientCommandStream, clientCommandSavePath))
|
||||||
|
return MOOSFail("Failed to Open clientCommand file");
|
||||||
|
if(!OpenFile(faultLogStream, faultLogSavePath))
|
||||||
|
return MOOSFail("Failed to Open faultLog file");
|
||||||
|
if(!OpenFile(motionControlStream, motionControlSavePath))
|
||||||
|
return MOOSFail("Failed to Open faultLog file");
|
||||||
|
|
||||||
|
DoAuvDataLogBanner(auvDataStream);
|
||||||
|
DoMissionHistoryBanner(missionHistoryStream);
|
||||||
|
DoFaultHandleBanner(faultLogStream);
|
||||||
|
DoMotionControlBanner(motionControlStream);
|
||||||
|
}
|
||||||
|
|
||||||
|
RegisterVariables();
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------
|
||||||
|
// Procedure: RegisterVariables
|
||||||
|
|
||||||
|
void DataManagement::RegisterVariables()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::RegisterVariables();
|
||||||
|
|
||||||
|
Register("uDevice_monitor_fb", 0);
|
||||||
|
Register("uMission_task_fb", 0);
|
||||||
|
Register("uMission_task_log", 0);
|
||||||
|
Register("uMotion_pose_log", 0);
|
||||||
|
Register("uClient_plandbSet_log", 0);
|
||||||
|
Register("uClient_plandbGet_log", 0);
|
||||||
|
Register("uClient_parameterSet_log", 0);
|
||||||
|
Register("uClient_planControl_log", 0);
|
||||||
|
Register("uClient_manualEnable_log", 0);
|
||||||
|
Register("uClient_manualDrive_log", 0);
|
||||||
|
Register("uFH_errorMsg1_fb", 0);
|
||||||
|
Register("uFH_errorMsg2_fb", 0);
|
||||||
|
Register("uFH_errorMsg3_fb", 0);
|
||||||
|
Register("uFH_errorMsg_log", 0);
|
||||||
|
Register("DESIRED_HEADING", 0);
|
||||||
|
Register("DESIRED_SPEED", 0);
|
||||||
|
Register("DESIRED_DEPTH", 0);
|
||||||
|
Register("uMotion_desired_log", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DataManagement::buildReport()
|
||||||
|
{
|
||||||
|
m_msgs << contentFromStream << endl;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
double DataManagement::getTimeStamp()
|
||||||
|
{
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv,NULL);
|
||||||
|
double stamp = double(tv.tv_sec*1000000 + tv.tv_usec) / 1000000;
|
||||||
|
return stamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataManagement::DoAuvDataLogBanner(std::ofstream &os)
|
||||||
|
{
|
||||||
|
os << "stamp" << ",";
|
||||||
|
os << "mode" << ",";
|
||||||
|
os << "refLon" << ",";
|
||||||
|
os << "refLat" << ",";
|
||||||
|
os << "refAlt" << ",";
|
||||||
|
os << "curLon" << ",";
|
||||||
|
os << "curLat" << ",";
|
||||||
|
os << "curAlt" << ",";
|
||||||
|
os << "north" << ",";
|
||||||
|
os << "east" << ",";
|
||||||
|
os << "depth" << ",";
|
||||||
|
os << "roll" << ",";
|
||||||
|
os << "pitch" << ",";
|
||||||
|
os << "yaw" << ",";
|
||||||
|
os << "insVX" << ",";
|
||||||
|
os << "insVY" << ",";
|
||||||
|
os << "insVZ" << ",";
|
||||||
|
os << "dvlVX" << ",";
|
||||||
|
os << "dvlVY" << ",";
|
||||||
|
os << "dvlVZ" << ",";
|
||||||
|
os << "height" << ",";
|
||||||
|
os << "thrust" << ",";
|
||||||
|
os << "light" << ",";
|
||||||
|
os << "load" << ",";
|
||||||
|
os << "dvl" << ",";
|
||||||
|
os << "iridium" << ",";
|
||||||
|
os << "batteryVol" << ",";
|
||||||
|
os << "batteryLev" << ",";
|
||||||
|
os << "batteryTemp" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataManagement::DoMissionHistoryBanner(std::ofstream &os)
|
||||||
|
{
|
||||||
|
os << "stamp" << ",";
|
||||||
|
os << "state" << ",";
|
||||||
|
os << "taskName" << ",";
|
||||||
|
os << "destName" << ",";
|
||||||
|
os << "errorCode" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataManagement::DoFaultHandleBanner(std::ofstream &os)
|
||||||
|
{
|
||||||
|
os << "stamp" << ",";
|
||||||
|
os << "level" << ",";
|
||||||
|
os << "type" << ",";
|
||||||
|
os << "id" << ",";
|
||||||
|
os << "first" << ",";
|
||||||
|
os << "source" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataManagement::DoMotionControlBanner(std::ofstream &os)
|
||||||
|
{
|
||||||
|
os << "stamp" << ",";
|
||||||
|
os << "desired_heading" << ",";
|
||||||
|
os << "desired_speed" << ",";
|
||||||
|
os << "desired_depth" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DataManagement::OpenFile(std::ofstream & of,const std::string & sName)
|
||||||
|
{
|
||||||
|
of.open(sName.c_str());
|
||||||
|
|
||||||
|
if(!of.is_open())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DataManagement::GenerateFileName(std::string &fileDir, std::string &fileName)
|
||||||
|
{
|
||||||
|
time_t now = time(0);
|
||||||
|
tm *gmtm = localtime(&now);
|
||||||
|
int year = 1900 + gmtm->tm_year;
|
||||||
|
int monthTemp = gmtm->tm_mon+1;
|
||||||
|
std::string month;
|
||||||
|
if (monthTemp < 10)
|
||||||
|
{
|
||||||
|
month = "0" + std::to_string(monthTemp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
month = std::to_string(monthTemp);
|
||||||
|
}
|
||||||
|
int dayTemp = gmtm->tm_mday;
|
||||||
|
std::string day;
|
||||||
|
if (dayTemp < 10)
|
||||||
|
{
|
||||||
|
day = "0" + std::to_string(dayTemp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
day = std::to_string(dayTemp);
|
||||||
|
}
|
||||||
|
int hourTemp = gmtm->tm_hour;
|
||||||
|
std::string hour;
|
||||||
|
if (hourTemp < 10)
|
||||||
|
{
|
||||||
|
hour = "0" + std::to_string(hourTemp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hour = std::to_string(hourTemp);
|
||||||
|
}
|
||||||
|
int minuteTemp = gmtm->tm_min;
|
||||||
|
std::string minute;
|
||||||
|
if (minuteTemp < 10)
|
||||||
|
{
|
||||||
|
minute = "0" + std::to_string(minuteTemp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
minute = std::to_string(minuteTemp);
|
||||||
|
}
|
||||||
|
int secondTemp = gmtm->tm_sec;
|
||||||
|
std::string second;
|
||||||
|
if (secondTemp < 10)
|
||||||
|
{
|
||||||
|
second = "0" + std::to_string(secondTemp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
second = std::to_string(secondTemp);
|
||||||
|
}
|
||||||
|
std::stringstream ss;
|
||||||
|
ss << year << "-" << month << "-" << day;
|
||||||
|
fileDir = ss.str();
|
||||||
|
ss.str("");
|
||||||
|
ss << hour << minute << second;
|
||||||
|
fileName = ss.str();
|
||||||
|
}
|
||||||
59
src/pDataManagement/DataManagement.h
Normal file
59
src/pDataManagement/DataManagement.h
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: DataManagement.h */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#ifndef DataManagement_HEADER
|
||||||
|
#define DataManagement_HEADER
|
||||||
|
|
||||||
|
#include "MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
|
||||||
|
#include "MOOS/libMOOS/MOOSLib.h"
|
||||||
|
|
||||||
|
|
||||||
|
struct MotionControlInfo
|
||||||
|
{
|
||||||
|
double desiredHeading;
|
||||||
|
double desiredSpeed;
|
||||||
|
double desiredDepth;
|
||||||
|
};
|
||||||
|
|
||||||
|
class DataManagement : public AppCastingMOOSApp
|
||||||
|
//class DataManagement : public CMOOSApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
DataManagement();
|
||||||
|
~DataManagement();
|
||||||
|
|
||||||
|
protected: // Standard MOOSApp functions to overload
|
||||||
|
bool OnNewMail(MOOSMSG_LIST &NewMail);
|
||||||
|
bool Iterate();
|
||||||
|
bool OnConnectToServer();
|
||||||
|
bool OnStartUp();
|
||||||
|
bool DoAsyncLog(MOOSMSG_LIST & NewMail);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
enum MissionStatus{FAULT=0, UNRUN=1, MANUAL=2 ,RUN=3, CONFIG=5};
|
||||||
|
void RegisterVariables();
|
||||||
|
bool buildReport();
|
||||||
|
bool OpenFile(std::ofstream & of,const std::string & sName);
|
||||||
|
void DoAuvDataLogBanner(std::ofstream &os);
|
||||||
|
void DoMissionHistoryBanner(std::ofstream &os);
|
||||||
|
void DoFaultHandleBanner(std::ofstream &os);
|
||||||
|
void DoMotionControlBanner(std::ofstream &os);
|
||||||
|
|
||||||
|
void GenerateFileName(std::string &fileDir, std::string &fileName);
|
||||||
|
double getTimeStamp();
|
||||||
|
int nDoublePrecision;
|
||||||
|
std::ofstream auvDataStream;
|
||||||
|
std::ofstream missionHistoryStream;
|
||||||
|
std::ofstream clientCommandStream;
|
||||||
|
std::ofstream faultLogStream;
|
||||||
|
std::ofstream motionControlStream;
|
||||||
|
std::map<std::string, int> logVarList;
|
||||||
|
std::string contentFromStream;
|
||||||
|
struct MotionControlInfo motionControlInfo;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
115
src/pDataManagement/DataManagement_Info.cpp
Normal file
115
src/pDataManagement/DataManagement_Info.cpp
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: DataManagement_Info.cpp */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
|
#include "DataManagement_Info.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "ReleaseInfo.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showSynopsis
|
||||||
|
|
||||||
|
void showSynopsis()
|
||||||
|
{
|
||||||
|
blk("SYNOPSIS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" The pDataManagement application is used for ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showHelpAndExit
|
||||||
|
|
||||||
|
void showHelpAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("Usage: pDataManagement file.moos [OPTIONS] ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("Options: ");
|
||||||
|
mag(" --alias","=<ProcessName> ");
|
||||||
|
blk(" Launch pDataManagement with the given process name ");
|
||||||
|
blk(" rather than pDataManagement. ");
|
||||||
|
mag(" --example, -e ");
|
||||||
|
blk(" Display example MOOS configuration block. ");
|
||||||
|
mag(" --help, -h ");
|
||||||
|
blk(" Display this help message. ");
|
||||||
|
mag(" --interface, -i ");
|
||||||
|
blk(" Display MOOS publications and subscriptions. ");
|
||||||
|
mag(" --version,-v ");
|
||||||
|
blk(" Display the release version of pDataManagement. ");
|
||||||
|
blk(" ");
|
||||||
|
blk("Note: If argv[2] does not otherwise match a known option, ");
|
||||||
|
blk(" then it will be interpreted as a run alias. This is ");
|
||||||
|
blk(" to support pAntler launching conventions. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showExampleConfigAndExit
|
||||||
|
|
||||||
|
void showExampleConfigAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pDataManagement Example MOOS Configuration ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
blk("ProcessConfig = pDataManagement ");
|
||||||
|
blk("{ ");
|
||||||
|
blk(" AppTick = 4 ");
|
||||||
|
blk(" CommsTick = 4 ");
|
||||||
|
blk(" ");
|
||||||
|
blk("} ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showInterfaceAndExit
|
||||||
|
|
||||||
|
void showInterfaceAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pDataManagement INTERFACE ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("SUBSCRIPTIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" NODE_MESSAGE = src_node=alpha,dest_node=bravo,var_name=FOO, ");
|
||||||
|
blk(" string_val=BAR ");
|
||||||
|
blk(" ");
|
||||||
|
blk("PUBLICATIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" Publications are determined by the node message content. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showReleaseInfoAndExit
|
||||||
|
|
||||||
|
void showReleaseInfoAndExit()
|
||||||
|
{
|
||||||
|
showReleaseInfo("pDataManagement", "gpl");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
18
src/pDataManagement/DataManagement_Info.h
Normal file
18
src/pDataManagement/DataManagement_Info.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: DataManagement_Info.h */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#ifndef DataManagement_INFO_HEADER
|
||||||
|
#define DataManagement_INFO_HEADER
|
||||||
|
|
||||||
|
void showSynopsis();
|
||||||
|
void showHelpAndExit();
|
||||||
|
void showExampleConfigAndExit();
|
||||||
|
void showInterfaceAndExit();
|
||||||
|
void showReleaseInfoAndExit();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
58
src/pDataManagement/main.cpp
Normal file
58
src/pDataManagement/main.cpp
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: Xiaobin Zeng */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: main.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "DataManagement.h"
|
||||||
|
#include "DataManagement_Info.h"
|
||||||
|
|
||||||
|
// #include <ros/ros.h>
|
||||||
|
// #include <rosbag/bag.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
string mission_file;
|
||||||
|
string run_command = argv[0];
|
||||||
|
|
||||||
|
for(int i=1; i<argc; i++) {
|
||||||
|
string argi = argv[i];
|
||||||
|
if((argi=="-v") || (argi=="--version") || (argi=="-version"))
|
||||||
|
showReleaseInfoAndExit();
|
||||||
|
else if((argi=="-e") || (argi=="--example") || (argi=="-example"))
|
||||||
|
showExampleConfigAndExit();
|
||||||
|
else if((argi == "-h") || (argi == "--help") || (argi=="-help"))
|
||||||
|
showHelpAndExit();
|
||||||
|
else if((argi == "-i") || (argi == "--interface"))
|
||||||
|
showInterfaceAndExit();
|
||||||
|
else if(strEnds(argi, ".moos") || strEnds(argi, ".moos++"))
|
||||||
|
mission_file = argv[i];
|
||||||
|
else if(strBegins(argi, "--alias="))
|
||||||
|
run_command = argi.substr(8);
|
||||||
|
else if(i==2)
|
||||||
|
run_command = argi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mission_file == "")
|
||||||
|
showHelpAndExit();
|
||||||
|
|
||||||
|
cout << termColor("green");
|
||||||
|
cout << "pDataManagement launching as " << run_command << endl;
|
||||||
|
cout << termColor() << endl;
|
||||||
|
|
||||||
|
// ros::init(argc, argv, "log2rosbag");
|
||||||
|
// ros::NodeHandle nh;
|
||||||
|
|
||||||
|
DataManagement DataManagement;
|
||||||
|
|
||||||
|
DataManagement.Run(run_command.c_str(), mission_file.c_str());
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
9
src/pDataManagement/pDataManagement.moos
Normal file
9
src/pDataManagement/pDataManagement.moos
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
//------------------------------------------------
|
||||||
|
// pDataManagement config block
|
||||||
|
|
||||||
|
ProcessConfig = pDataManagement
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
1
src/pEmulator/.LastOpenedMOOSLogDirectory
Normal file
1
src/pEmulator/.LastOpenedMOOSLogDirectory
Normal file
@@ -0,0 +1 @@
|
|||||||
|
LastOpenedLoggingDirectory=./MOOSLog_24_10_2023_____11_46_34
|
||||||
21
src/pEmulator/CMakeLists.txt
Normal file
21
src/pEmulator/CMakeLists.txt
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#--------------------------------------------------------
|
||||||
|
# The CMakeLists.txt for: pTaskManger
|
||||||
|
# Author(s): zjk
|
||||||
|
#--------------------------------------------------------
|
||||||
|
# set(INCLUDE_IVP /home/zjk/Software/moos-ivp/include/ivp)
|
||||||
|
|
||||||
|
FILE(GLOB SRC *.cpp *.hpp)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(pEmulator ${SRC})
|
||||||
|
#需要把被依赖的库放到依赖库的后面
|
||||||
|
TARGET_LINK_LIBRARIES(pEmulator
|
||||||
|
${MOOS_LIBRARIES}
|
||||||
|
${MOOSGeodesy_LIBRARIES}
|
||||||
|
contacts
|
||||||
|
geometry
|
||||||
|
apputil
|
||||||
|
mbutil
|
||||||
|
m
|
||||||
|
pthread
|
||||||
|
)
|
||||||
|
|
||||||
416
src/pEmulator/Emulator.cpp
Normal file
416
src/pEmulator/Emulator.cpp
Normal file
@@ -0,0 +1,416 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-12 09:52:27
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-21 15:28:32
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pEmulator/Emulator.cpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
// #define DEBUG
|
||||||
|
#include"Emulator.hpp"
|
||||||
|
#include <exception>
|
||||||
|
#include"ACTable.h"
|
||||||
|
|
||||||
|
bool _ListenCB(void * pParam)
|
||||||
|
{
|
||||||
|
Emulator* pMe = (Emulator* )pParam;
|
||||||
|
return pMe->receiveUdpDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _ListenBSC(void* pParam)
|
||||||
|
{
|
||||||
|
_150server* pMe = (_150server*)pParam;
|
||||||
|
return pMe->listenInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _Connect(void* pParam)
|
||||||
|
{
|
||||||
|
Emulator* pMe = (Emulator* )pParam;
|
||||||
|
return pMe->_150Connect();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Emulator::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::OnNewMail(NewMail);
|
||||||
|
MOOSMSG_LIST::iterator p;
|
||||||
|
for(p=NewMail.begin(); p!=NewMail.end(); p++)
|
||||||
|
{
|
||||||
|
CMOOSMsg &msg = *p;
|
||||||
|
string key = msg.m_sKey;
|
||||||
|
string sval = msg.m_sVal;
|
||||||
|
double dval = msg.m_dfVal;
|
||||||
|
double dfT;
|
||||||
|
msg.IsSkewed(m_curr_time, &dfT);
|
||||||
|
// if(key == "DESIRED_RUDDER")
|
||||||
|
// {
|
||||||
|
// sendBuf[0] = dval;
|
||||||
|
// remus100.rudder = dval;
|
||||||
|
// }
|
||||||
|
// else if(key == "DESIRED_ELEVATOR")
|
||||||
|
// {
|
||||||
|
// sendBuf[1] = dval;
|
||||||
|
// remus100.elevator = dval;
|
||||||
|
// }
|
||||||
|
// else if(key == "DESIRED_THRUST")
|
||||||
|
// {
|
||||||
|
// sendBuf[2] = dval;
|
||||||
|
// remus100.thrust = dval;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
if(key == "DESIRED_DEPTH")
|
||||||
|
sendBuf[3] = dval;
|
||||||
|
else if(key == "DESIRED_HEADING")
|
||||||
|
sendBuf[4] = dval;
|
||||||
|
else if(key == "DESIRED_SPEED")
|
||||||
|
sendBuf[5] = dval;
|
||||||
|
// reportRunWarning("UnKown var:" + key);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Emulator::Iterate()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::Iterate();
|
||||||
|
if(_150ServerThread.IsThreadRunning())
|
||||||
|
{ // 这里需要转换数据
|
||||||
|
if(p_150server_1._150cmd.helm_top_angle > 128)
|
||||||
|
sendBuf[0] = -(p_150server_1._150cmd.helm_top_angle - 128);
|
||||||
|
else
|
||||||
|
sendBuf[0] = p_150server_1._150cmd.helm_top_angle;
|
||||||
|
if(p_150server_1._150cmd.helm_right_angle > 128)
|
||||||
|
sendBuf[1] = -(p_150server_1._150cmd.helm_right_angle - 128);
|
||||||
|
else
|
||||||
|
sendBuf[1] = p_150server_1._150cmd.helm_right_angle;
|
||||||
|
sendBuf[2] = (uint8_t)p_150server_1._150cmd.thrust * 1525 / 100;
|
||||||
|
set150Info();
|
||||||
|
p_150server_1.postInfo();
|
||||||
|
isConnect = " 150 Server...";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
isConnect = "No 150 Connect...";
|
||||||
|
udp->iSendMessageTo((void*)sendBuf, sendBufSize, matalb_port, matlab_host);
|
||||||
|
//postNodeRecordUpdate(prefix, record);
|
||||||
|
AppCastingMOOSApp::PostReport();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Emulator::OnConnectToServer()
|
||||||
|
{
|
||||||
|
registerVariables();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Emulator::OnStartUp()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::OnStartUp();
|
||||||
|
//TODO: 添加初始状态设置
|
||||||
|
STRING_LIST sParams;
|
||||||
|
m_MissionReader.GetConfiguration(GetAppName(), sParams);
|
||||||
|
STRING_LIST::iterator p;
|
||||||
|
|
||||||
|
for(p=sParams.begin(); p!=sParams.end(); p++)
|
||||||
|
{
|
||||||
|
bool unhandled = false;
|
||||||
|
string orig = *p;
|
||||||
|
string line = *p;
|
||||||
|
string param = toupper(biteStringX(line, '='));
|
||||||
|
string value = line;
|
||||||
|
double dval = atof(value.c_str());
|
||||||
|
cout << param << endl;
|
||||||
|
if(param == "MATLAB_HOST")
|
||||||
|
{
|
||||||
|
matlab_host = value;
|
||||||
|
}
|
||||||
|
else if(param == "MATLAB_PORT")
|
||||||
|
{
|
||||||
|
matalb_port = (long int)dval;
|
||||||
|
}
|
||||||
|
else if(param == "LOCAL_PORT")
|
||||||
|
{
|
||||||
|
local_port = (long int)dval;
|
||||||
|
}
|
||||||
|
else if(param == "PREFIX")
|
||||||
|
{
|
||||||
|
setNonWhiteVarOnString(prefix, value);
|
||||||
|
}
|
||||||
|
else if(param == "START_X")
|
||||||
|
{
|
||||||
|
start_x = dval;
|
||||||
|
}
|
||||||
|
else if(param == "START_Y")
|
||||||
|
{
|
||||||
|
start_y = dval;
|
||||||
|
}
|
||||||
|
else if(param == "START_Z")
|
||||||
|
{
|
||||||
|
start_z = dval;
|
||||||
|
}
|
||||||
|
else if(param == "START_HEADING")
|
||||||
|
{
|
||||||
|
start_heading = dval;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
unhandled = true;
|
||||||
|
if(unhandled)
|
||||||
|
reportUnhandledConfigWarning(orig);
|
||||||
|
}
|
||||||
|
//添加UDP 设置
|
||||||
|
//TODO:添加try
|
||||||
|
try
|
||||||
|
{
|
||||||
|
udp = new XPCUdpSocket(local_port);
|
||||||
|
udp->vSetBroadcast(true);
|
||||||
|
udp->vBindSocket();
|
||||||
|
}
|
||||||
|
catch(const std::exception& e)
|
||||||
|
{
|
||||||
|
std::cerr << e.what() << '\n';
|
||||||
|
reportRunWarning("Local port Open Field");
|
||||||
|
}
|
||||||
|
//初始化数据
|
||||||
|
receiveBufSize = receiveDateSize*sizeof(double);
|
||||||
|
receiveBuf = new char[receiveBufSize];
|
||||||
|
sendBufSize = sendDataSize*sizeof(double);
|
||||||
|
sendBuf = new double[sendDataSize];
|
||||||
|
for(int i=0; i<sendDataSize; i++)
|
||||||
|
sendBuf[i] = 0;
|
||||||
|
for(int i=0; i<receiveBufSize; i++)
|
||||||
|
receiveBuf[i] = 0;
|
||||||
|
// sendBuf[0] = 0.1;
|
||||||
|
// sendBuf[1] = 0.1;
|
||||||
|
// sendBuf[2] = 1525;
|
||||||
|
|
||||||
|
record.setX(start_x);
|
||||||
|
record.setY(start_y);
|
||||||
|
record.setDepth(start_z);
|
||||||
|
record.setHeading(start_heading);
|
||||||
|
|
||||||
|
receiveThread.Initialise(_ListenCB,this);
|
||||||
|
receiveThread.Start();
|
||||||
|
|
||||||
|
_150ConnectThread.Initialise(_Connect, this);
|
||||||
|
_150ConnectThread.Start();
|
||||||
|
//启动150 server
|
||||||
|
//
|
||||||
|
//
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
bool Emulator::_150Connect()
|
||||||
|
{
|
||||||
|
cout << "Connect ... " << endl;
|
||||||
|
isConnect = "Connect...";
|
||||||
|
p_150server_1._150_startServer();
|
||||||
|
_150ServerThread.Initialise(_ListenBSC,&(this->p_150server_1));
|
||||||
|
_150ServerThread.Start();
|
||||||
|
_150ConnectThread.RequestQuit();
|
||||||
|
isConnect = "Connected and start server";
|
||||||
|
}
|
||||||
|
void Emulator::registerVariables()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::RegisterVariables();
|
||||||
|
Register("DESIRED_RUDDER",0);
|
||||||
|
Register("DESIRED_THRUST",0);
|
||||||
|
Register("DESIRED_ELEVATOR",0);
|
||||||
|
Register("DESIRED_DEPTH");
|
||||||
|
Register("DESIRED_HEADING");
|
||||||
|
Register("DESIRED_SPEED");
|
||||||
|
}
|
||||||
|
bool Emulator::buildReport()
|
||||||
|
{
|
||||||
|
// for(int i=0; i<sendDataSize; i++)
|
||||||
|
// {
|
||||||
|
// m_msgs << sendBuf[i] << "!#";
|
||||||
|
// }
|
||||||
|
m_msgs << "MATLAB : " << matlab_host << " : " << matalb_port << endl;
|
||||||
|
m_msgs << "LOCAL : " << local_port << endl;
|
||||||
|
m_msgs << "_150 Connect: " << isConnect << endl;
|
||||||
|
m_msgs << "_150 Cmd Recive: " << p_150server_1._150_recive << endl;
|
||||||
|
m_msgs << "=============================================" << endl;
|
||||||
|
double *s = (double*)receiveBuf;
|
||||||
|
m_msgs << "DESIRED_RUDDER : " << sendBuf[0] << " (deg)" << endl;
|
||||||
|
m_msgs << "DESIRED_ELEVATOR : " << sendBuf[1] << " (deg)" << endl;
|
||||||
|
m_msgs << "DESIRED_THRUST : " << sendBuf[2] << " (rpm)" << endl;
|
||||||
|
|
||||||
|
m_msgs << "Pose : " << "[ " << doubleToStringX(s[6],1) << " , " << doubleToStringX(s[7],1) << " ]" << endl;
|
||||||
|
m_msgs << "Depth : " << doubleToStringX(s[8],1) << " (m)" << endl;
|
||||||
|
|
||||||
|
m_msgs << "u : " << doubleToStringX(s[0],2) << " (m/s)" << endl;
|
||||||
|
m_msgs << "v : " << doubleToStringX(s[1],2) << " (m/s)" << endl;
|
||||||
|
m_msgs << "w : " << doubleToStringX(s[2],2) << " (m/s)" << endl;
|
||||||
|
|
||||||
|
m_msgs << "p : " << doubleToStringX(s[3],1) << " (deg/s)" << endl;
|
||||||
|
m_msgs << "q : " << doubleToStringX(s[4],1) << " (deg/s)" << endl;
|
||||||
|
m_msgs << "r : " << doubleToStringX(s[5],1) << " (deg/s)" << endl;
|
||||||
|
|
||||||
|
m_msgs << "roll : " << doubleToStringX(s[9],1) << " (deg)" << endl;
|
||||||
|
m_msgs << "pitch : " << doubleToStringX(s[10],1) << " (deg)" << endl;
|
||||||
|
m_msgs << "yaw : " << doubleToStringX(s[11],1) << " (deg)" << endl;
|
||||||
|
|
||||||
|
m_msgs << "Lat : " << doubleToStringX(s[12],5) << " (du)" << endl;
|
||||||
|
m_msgs << "Lon : " << doubleToStringX(s[13],5) << " (du)" << endl;
|
||||||
|
m_msgs << "Alt : " << doubleToStringX(s[14],5) << " (m)" << endl;
|
||||||
|
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Emulator::postNodeRecordUpdate(std::string, const NodeRecord& record)
|
||||||
|
{
|
||||||
|
double nav_x = record.getX();
|
||||||
|
double nav_y = record.getY();
|
||||||
|
|
||||||
|
Notify(prefix+"_X", nav_x, m_curr_time);
|
||||||
|
Notify(prefix+"_Y", nav_y, m_curr_time);
|
||||||
|
|
||||||
|
if(geoOk) {
|
||||||
|
double nav_lat = record.getLat();
|
||||||
|
double nav_lon = record.getLon();
|
||||||
|
Notify(prefix+"_LAT", nav_lat, m_curr_time);
|
||||||
|
Notify(prefix+"_LONG", nav_lon, m_curr_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
double new_speed = record.getSpeed();
|
||||||
|
new_speed = snapToStep(new_speed, 0.01);
|
||||||
|
|
||||||
|
Notify(prefix+"_HEADING", record.getHeading(), m_curr_time);
|
||||||
|
Notify(prefix+"_SPEED", new_speed, m_curr_time);
|
||||||
|
Notify(prefix+"_DEPTH", record.getDepth(), m_curr_time);
|
||||||
|
|
||||||
|
// Added by HS 120124 to make it work ok with iHuxley
|
||||||
|
// Notify("SIMULATION_MODE","TRUE", m_curr_time);
|
||||||
|
Notify(prefix+"_Z", -record.getDepth(), m_curr_time);
|
||||||
|
Notify(prefix+"_PITCH", record.getPitch(), m_curr_time);
|
||||||
|
Notify(prefix+"_YAW", record.getYaw(), m_curr_time);
|
||||||
|
Notify("TRUE_X", nav_x, m_curr_time);
|
||||||
|
Notify("TRUE_Y", nav_y, m_curr_time);
|
||||||
|
|
||||||
|
double hog = angle360(record.getHeadingOG());
|
||||||
|
double sog = record.getSpeedOG();
|
||||||
|
|
||||||
|
Notify(prefix+"_HEADING_OVER_GROUND", hog, m_curr_time);
|
||||||
|
Notify(prefix+"_SPEED_OVER_GROUND", sog, m_curr_time);
|
||||||
|
|
||||||
|
if(record.isSetAltitude())
|
||||||
|
Notify(prefix+"_ALTITUDE", record.getAltitude(), m_curr_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Emulator::receiveUdpDate()
|
||||||
|
{
|
||||||
|
double u,v,w;
|
||||||
|
double U;
|
||||||
|
while(!receiveThread.IsQuitRequested())
|
||||||
|
{
|
||||||
|
int iRx = udp->iRecieveMessage(receiveBuf,receiveBufSize);
|
||||||
|
if(iRx)
|
||||||
|
{
|
||||||
|
for(int i=0; i<receiveDateSize; i++)
|
||||||
|
{
|
||||||
|
// MOOSTrace(doubleToString(*((double*)receiveBuf+i))+"\n");
|
||||||
|
double data = *((double*)receiveBuf+i);
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0: //u
|
||||||
|
u = data;
|
||||||
|
remus100.u = u*100;
|
||||||
|
break;
|
||||||
|
case 1: //v
|
||||||
|
// record.set
|
||||||
|
v = data;
|
||||||
|
remus100.v = v*100;
|
||||||
|
break;
|
||||||
|
case 2: //w
|
||||||
|
// record
|
||||||
|
w = data;
|
||||||
|
remus100.w = w*100;
|
||||||
|
U = sqrt(u*u + v*v + w*w);
|
||||||
|
record.setSpeed(U);
|
||||||
|
break;
|
||||||
|
case 3: //p
|
||||||
|
remus100.p = data*100;
|
||||||
|
break;
|
||||||
|
case 4: //q
|
||||||
|
remus100.q = data*100;
|
||||||
|
break;
|
||||||
|
case 5: //r
|
||||||
|
remus100.r = data*100;
|
||||||
|
break;
|
||||||
|
case 6: //x
|
||||||
|
remus100.x = data*100;
|
||||||
|
record.setY(data);
|
||||||
|
break;
|
||||||
|
case 7: //y
|
||||||
|
remus100.y = data*100;
|
||||||
|
record.setX(data);
|
||||||
|
break;
|
||||||
|
case 8: //z
|
||||||
|
remus100.z = data*100;
|
||||||
|
record.setDepth(data);
|
||||||
|
break;
|
||||||
|
case 9: //phi
|
||||||
|
remus100.roll = data*100;
|
||||||
|
break;
|
||||||
|
case 10: //theta
|
||||||
|
remus100.pitch = data*100;
|
||||||
|
record.setPitch(data);
|
||||||
|
break;
|
||||||
|
case 11: //psi
|
||||||
|
remus100.yaw = data*100;
|
||||||
|
record.setHeading(data);
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
remus100.lat = data;
|
||||||
|
record.setLat(data);
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
remus100.lon = data;
|
||||||
|
record.setLon(data);
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
remus100.alt = data;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Emulator::set150Info()
|
||||||
|
{
|
||||||
|
p_150server_1.embeddedInfoSrc.header = 0xEBA1; //0:[0,1]
|
||||||
|
p_150server_1.embeddedInfoSrc.count = (uint16_t)m_iteration; //2:[2,3]
|
||||||
|
p_150server_1.embeddedInfoSrc.size = (uint8_t)51; //3:[4]
|
||||||
|
p_150server_1.embeddedInfoSrc.drive_mode = (uint8_t)0xFF; //4:[5]
|
||||||
|
p_150server_1.embeddedInfoSrc.height = (uint16_t)(150-remus100.z); //5:[6,7]
|
||||||
|
p_150server_1.embeddedInfoSrc.depth = (uint16_t)remus100.z; //6:[8,9]
|
||||||
|
p_150server_1.embeddedInfoSrc.yaw = (uint16_t)remus100.yaw; //7:[10,11]
|
||||||
|
p_150server_1.embeddedInfoSrc.pitch = (int16_t)remus100.pitch; //8:[12,13]
|
||||||
|
p_150server_1.embeddedInfoSrc.roll = (int16_t)remus100.roll; //9:[14,15]
|
||||||
|
p_150server_1.embeddedInfoSrc.ins_vx = (int16_t)remus100.u; //10:[16,17]
|
||||||
|
p_150server_1.embeddedInfoSrc.ins_vy = (int16_t)remus100.v; //11:[18,19]
|
||||||
|
p_150server_1.embeddedInfoSrc.ins_vz = (int16_t)remus100.w; //12:[20,21]
|
||||||
|
p_150server_1.embeddedInfoSrc.lon = (int32_t)(remus100.lon * 1000000); //13:[22,23,24,25]
|
||||||
|
p_150server_1.embeddedInfoSrc.lat = (int32_t)(remus100.lat * 1000000) ; //14:[26,27,28,29]
|
||||||
|
p_150server_1.embeddedInfoSrc.alt = (int16_t)(remus100.alt * 100);//15:[30,31]
|
||||||
|
p_150server_1.embeddedInfoSrc.dvl_vx = (int16_t)remus100.u; //16:[32,33]
|
||||||
|
p_150server_1.embeddedInfoSrc.dvl_vy = (int16_t)remus100.v; //17:[34,35]
|
||||||
|
p_150server_1.embeddedInfoSrc.dvl_vz = (int16_t)remus100.w; //18:[36,37]
|
||||||
|
p_150server_1.embeddedInfoSrc.rpm = (int16_t)remus100.thrust; //19:[38,39]
|
||||||
|
p_150server_1.embeddedInfoSrc.lightEnable = (uint8_t)0x01; //20:[40]
|
||||||
|
p_150server_1.embeddedInfoSrc.battery_voltage = (uint16_t)1024; //21:[41,42]
|
||||||
|
p_150server_1.embeddedInfoSrc.battery_level = 60; //22:[43]
|
||||||
|
p_150server_1.embeddedInfoSrc.battery_temp = 21.3 / 0.1; //23:[44,45]
|
||||||
|
p_150server_1.embeddedInfoSrc.fault_leakSensor = 0x80; //24:[46,47,48,49]
|
||||||
|
p_150server_1.embeddedInfoSrc.fault_battery = 0x2E; //25:[50]
|
||||||
|
p_150server_1.embeddedInfoSrc.fault_emergencyBattery = 0xAA; //26:[51]
|
||||||
|
p_150server_1.embeddedInfoSrc.fault_thrust = 0x76; //27:[52]
|
||||||
|
p_150server_1.embeddedInfoSrc.iridium = 0xFF; //28:[53]
|
||||||
|
p_150server_1.embeddedInfoSrc.throwing_load = 0xFF; //29:[54]
|
||||||
|
p_150server_1.embeddedInfoSrc.dvl_status = 0x00; //30:[55]
|
||||||
|
p_150server_1.embeddedInfoSrc.crc = 0XFF; //31:[56]
|
||||||
|
p_150server_1.embeddedInfoSrc.footer = 0XEE1A; //32:[57,58]
|
||||||
|
}
|
||||||
97
src/pEmulator/Emulator.hpp
Normal file
97
src/pEmulator/Emulator.hpp
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-12 15:57:27
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-10 08:34:14
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pEmulator/Emulator.hpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#ifndef __EMULATOR_H
|
||||||
|
#define __EMULATOR_H
|
||||||
|
#define UNIX
|
||||||
|
#include"MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
|
||||||
|
#include"MOOS/libMOOS/Comms/MulticastNode.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include<vector>
|
||||||
|
#include "VarDataPair.h"
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "AngleUtils.h"
|
||||||
|
#include <list>
|
||||||
|
#include"MOOS/libMOOS/Comms/XPCUdpSocket.h"
|
||||||
|
#include "NodeRecord.h"
|
||||||
|
#include "MOOS/libMOOS/Utils/MOOSThread.h"
|
||||||
|
#include "_150server.hpp"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
typedef struct uuv
|
||||||
|
{
|
||||||
|
double u;
|
||||||
|
double v;
|
||||||
|
double w;
|
||||||
|
double p;
|
||||||
|
double q;
|
||||||
|
double r;
|
||||||
|
double x;
|
||||||
|
double y;
|
||||||
|
double z;
|
||||||
|
double roll;
|
||||||
|
double pitch;
|
||||||
|
double yaw;
|
||||||
|
double thrust;
|
||||||
|
double rudder;
|
||||||
|
double elevator;
|
||||||
|
double lon;
|
||||||
|
double lat;
|
||||||
|
double alt;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Emulator : public AppCastingMOOSApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Emulator(){};
|
||||||
|
~Emulator(){delete receiveBuf;delete sendBuf;};
|
||||||
|
bool OnNewMail(MOOSMSG_LIST &NewMail);
|
||||||
|
bool Iterate();
|
||||||
|
bool OnConnectToServer();
|
||||||
|
bool OnStartUp();
|
||||||
|
void registerVariables();
|
||||||
|
bool buildReport();
|
||||||
|
void postNodeRecordUpdate(std::string, const NodeRecord&);
|
||||||
|
bool receiveUdpDate();
|
||||||
|
void set150Info();
|
||||||
|
bool _150Connect();
|
||||||
|
|
||||||
|
private:
|
||||||
|
long int local_port = 8080;
|
||||||
|
long int matalb_port = 8085;
|
||||||
|
string matlab_host = "127.0.0.1";
|
||||||
|
XPCUdpSocket* udp;
|
||||||
|
unsigned int receiveDateSize = 15;
|
||||||
|
unsigned int sendDataSize = 6;
|
||||||
|
unsigned int receiveBufSize;
|
||||||
|
unsigned int sendBufSize;
|
||||||
|
char *receiveBuf;
|
||||||
|
double *sendBuf;
|
||||||
|
NodeRecord record;
|
||||||
|
string prefix="NAV";
|
||||||
|
bool geoOk = false;
|
||||||
|
|
||||||
|
|
||||||
|
//UUV init state
|
||||||
|
double start_x = 0;
|
||||||
|
double start_y = 0;
|
||||||
|
double start_z = 0;
|
||||||
|
double start_heading = 0;
|
||||||
|
uuv remus100;
|
||||||
|
string isConnect = "";
|
||||||
|
//
|
||||||
|
CMOOSThread receiveThread;
|
||||||
|
CMOOSThread _150ServerThread;
|
||||||
|
CMOOSThread _150ConnectThread;
|
||||||
|
//150 Server
|
||||||
|
_150server p_150server_1;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
206
src/pEmulator/_150server.cpp
Normal file
206
src/pEmulator/_150server.cpp
Normal file
@@ -0,0 +1,206 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-11-07 14:59:47
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-08 09:19:46
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pEmulator/_150server.cpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#include "_150server.hpp"
|
||||||
|
|
||||||
|
uint16_t _150server::serializeFields(AUVEmbedded &embeddedInfo, uint8_t* bfr)
|
||||||
|
{
|
||||||
|
memcpy(bfr, &(embeddedInfo.header), sizeof(embeddedInfo.header));
|
||||||
|
bfr += sizeof(embeddedInfo.header);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.count), sizeof(embeddedInfo.count));
|
||||||
|
bfr += sizeof(embeddedInfo.count);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.size), sizeof(embeddedInfo.size));
|
||||||
|
bfr += sizeof(embeddedInfo.size);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.drive_mode), sizeof(embeddedInfo.drive_mode));
|
||||||
|
bfr += sizeof(embeddedInfo.drive_mode);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.height), sizeof(embeddedInfo.height));
|
||||||
|
bfr += sizeof(embeddedInfo.height);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.depth), sizeof(embeddedInfo.depth));
|
||||||
|
bfr += sizeof(embeddedInfo.depth);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.yaw), sizeof(embeddedInfo.yaw));
|
||||||
|
bfr += sizeof(embeddedInfo.yaw);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.pitch), sizeof(embeddedInfo.pitch));
|
||||||
|
bfr += sizeof(embeddedInfo.pitch);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.roll), sizeof(embeddedInfo.roll));
|
||||||
|
bfr += sizeof(embeddedInfo.roll);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.ins_vx), sizeof(embeddedInfo.ins_vx));
|
||||||
|
bfr += sizeof(embeddedInfo.ins_vx);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.ins_vy), sizeof(embeddedInfo.ins_vy));
|
||||||
|
bfr += sizeof(embeddedInfo.ins_vy);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.ins_vz), sizeof(embeddedInfo.ins_vz));
|
||||||
|
bfr += sizeof(embeddedInfo.ins_vz);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.lon), sizeof(embeddedInfo.lon));
|
||||||
|
bfr += sizeof(embeddedInfo.lon);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.lat), sizeof(embeddedInfo.lat));
|
||||||
|
bfr += sizeof(embeddedInfo.lat);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.alt), sizeof(embeddedInfo.alt));
|
||||||
|
bfr += sizeof(embeddedInfo.alt);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.dvl_vx), sizeof(embeddedInfo.dvl_vx));
|
||||||
|
bfr += sizeof(embeddedInfo.dvl_vx);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.dvl_vy), sizeof(embeddedInfo.dvl_vy));
|
||||||
|
bfr += sizeof(embeddedInfo.dvl_vy);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.dvl_vz), sizeof(embeddedInfo.dvl_vz));
|
||||||
|
bfr += sizeof(embeddedInfo.dvl_vz);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.rpm), sizeof(embeddedInfo.rpm));
|
||||||
|
bfr += sizeof(embeddedInfo.rpm);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.lightEnable), sizeof(embeddedInfo.lightEnable));
|
||||||
|
bfr += sizeof(embeddedInfo.lightEnable);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.battery_voltage), sizeof(embeddedInfo.battery_voltage));
|
||||||
|
bfr += sizeof(embeddedInfo.battery_voltage);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.battery_level), sizeof(embeddedInfo.battery_level));
|
||||||
|
bfr += sizeof(embeddedInfo.battery_level);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.battery_temp), sizeof(embeddedInfo.battery_temp));
|
||||||
|
bfr += sizeof(embeddedInfo.battery_temp);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.fault_leakSensor), sizeof(embeddedInfo.fault_leakSensor));
|
||||||
|
bfr += sizeof(embeddedInfo.fault_leakSensor);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.fault_battery), sizeof(embeddedInfo.fault_battery));
|
||||||
|
bfr += sizeof(embeddedInfo.fault_battery);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.fault_emergencyBattery), sizeof(embeddedInfo.fault_emergencyBattery));
|
||||||
|
bfr += sizeof(embeddedInfo.fault_emergencyBattery);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.fault_thrust), sizeof(embeddedInfo.fault_thrust));
|
||||||
|
bfr += sizeof(embeddedInfo.fault_thrust);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.iridium), sizeof(embeddedInfo.iridium));
|
||||||
|
bfr += sizeof(embeddedInfo.iridium);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.throwing_load), sizeof(embeddedInfo.throwing_load));
|
||||||
|
bfr += sizeof(embeddedInfo.throwing_load);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.dvl_status), sizeof(embeddedInfo.dvl_status));
|
||||||
|
bfr += sizeof(embeddedInfo.dvl_status);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.crc), sizeof(embeddedInfo.crc));
|
||||||
|
bfr += sizeof(embeddedInfo.crc);
|
||||||
|
|
||||||
|
memcpy(bfr, &(embeddedInfo.footer), sizeof(embeddedInfo.footer));
|
||||||
|
bfr += sizeof(embeddedInfo.footer);
|
||||||
|
}
|
||||||
|
void _150server::postInfo()
|
||||||
|
{
|
||||||
|
bzero(embeddedBuffer, 0);
|
||||||
|
serializeFields(embeddedInfoSrc, embeddedBuffer);
|
||||||
|
write(cfd, embeddedBuffer, 59);
|
||||||
|
};
|
||||||
|
bool _150server::listenInfo()
|
||||||
|
{
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
int lens = read(cfd, recvbuf, sizeof(recvbuf));
|
||||||
|
if(lens>0)
|
||||||
|
{
|
||||||
|
_150_recive++;
|
||||||
|
uint16_t* buf16;
|
||||||
|
printf("header: %u, %u\n", recvbuf[0], recvbuf[1]);
|
||||||
|
printf("count: %u\n", recvbuf[2], recvbuf[3]);
|
||||||
|
printf("size: %u\n", recvbuf[4]);
|
||||||
|
printf("drive_mode: %u\n", recvbuf[5]);
|
||||||
|
printf("thrust: %u\n", recvbuf[6]);
|
||||||
|
_150cmd.thrust = (double)recvbuf[6];
|
||||||
|
printf("yaw: %u, %u\n", recvbuf[7], recvbuf[8]);
|
||||||
|
memcpy(buf16, &recvbuf[7], 2*sizeof(recvbuf[7]));
|
||||||
|
_150cmd.yaw = *((double*)buf16);
|
||||||
|
printf("depth: %u, %u\n", recvbuf[9], recvbuf[10]);
|
||||||
|
memcpy(buf16, &recvbuf[9], 2*sizeof(recvbuf[9]));
|
||||||
|
_150cmd.depth = *((double*)buf16);
|
||||||
|
printf("helm_top_angle: %u\n", recvbuf[11]);
|
||||||
|
_150cmd.helm_top_angle = (double)recvbuf[11];
|
||||||
|
printf("helm_bottom_angle: %u\n", recvbuf[12]);
|
||||||
|
_150cmd.helm_bottom_angle = (double)recvbuf[12];
|
||||||
|
_150cmd.helm_left_angle = (double)recvbuf[13];
|
||||||
|
printf("helm_left_angle: %u\n", recvbuf[13]);
|
||||||
|
_150cmd.helm_right_angle = (double)recvbuf[14];
|
||||||
|
printf("helm_right_angle: %u\n", recvbuf[14]);
|
||||||
|
_150cmd.light_enable = (double)recvbuf[15];
|
||||||
|
printf("light_enable: %u\n", recvbuf[15]);
|
||||||
|
printf("dvl_enable: %u\n", recvbuf[16]);
|
||||||
|
_150cmd.dvl_enable = (double)recvbuf[16];
|
||||||
|
printf("throwing_load_enable: %u\n", recvbuf[17]);
|
||||||
|
_150cmd.throwing_load_enable = (double)recvbuf[16];
|
||||||
|
printf("crc: %u\n", recvbuf[18]);
|
||||||
|
_150cmd.crc = (double)recvbuf[18];
|
||||||
|
printf("footer: %u, %u\n", recvbuf[19], recvbuf[20]);
|
||||||
|
memcpy(buf16, &recvbuf[19], 2*sizeof(recvbuf[19]));
|
||||||
|
_150cmd.footer = *((double*)buf16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
void _150server::_150_startServer()
|
||||||
|
{
|
||||||
|
std::cout << "--------------------" << std::endl;
|
||||||
|
lfd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
|
if(lfd==-1)
|
||||||
|
{
|
||||||
|
perror("socket");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
//2.绑定
|
||||||
|
struct sockaddr_in saddr;
|
||||||
|
saddr.sin_family = PF_INET;
|
||||||
|
saddr.sin_addr.s_addr = INADDR_ANY; //0.0.0.0
|
||||||
|
saddr.sin_port = htons(8001);
|
||||||
|
int ret = bind(lfd, (struct sockaddr *)&saddr, sizeof(saddr));
|
||||||
|
|
||||||
|
if(ret == -1)
|
||||||
|
{
|
||||||
|
perror("bind");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//3.监听
|
||||||
|
listen(lfd, 5);
|
||||||
|
if(ret==-1)
|
||||||
|
{
|
||||||
|
perror("listen");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
//4.接受客户端连接
|
||||||
|
struct sockaddr_in caddr;
|
||||||
|
socklen_t len = sizeof(caddr);
|
||||||
|
cfd = accept(lfd, (struct sockaddr *)&caddr, &len);
|
||||||
|
|
||||||
|
if(cfd==-1)
|
||||||
|
{
|
||||||
|
perror("accept");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
std::cout << "--------------------" << std::endl;
|
||||||
|
//输出客户端的信息
|
||||||
|
char cip[16];
|
||||||
|
inet_ntop(AF_INET, &caddr.sin_addr.s_addr, cip, sizeof(cip));
|
||||||
|
unsigned short cport = ntohs(caddr.sin_port);
|
||||||
|
printf("client ip is %s,port is %d\n", cip, cport);
|
||||||
|
}
|
||||||
96
src/pEmulator/_150server.hpp
Normal file
96
src/pEmulator/_150server.hpp
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-11-07 14:59:36
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-07 17:12:30
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pEmulator/_150server.hpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#ifndef __150SERVER_H
|
||||||
|
#define __150SERVER_H
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <sstream>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
struct AUVEmbedded
|
||||||
|
{
|
||||||
|
uint16_t header; //1:[0,1] hx
|
||||||
|
uint16_t count; //2:[2,3] hu
|
||||||
|
uint8_t size; //3:[4] u
|
||||||
|
uint8_t drive_mode; //4:[5] u
|
||||||
|
uint16_t height; //5:[6,7] hu
|
||||||
|
uint16_t depth; //6:[8,9] hu
|
||||||
|
uint16_t yaw; //7:[10,11] hu
|
||||||
|
int16_t pitch; //8:[12,13] hd
|
||||||
|
int16_t roll; //9:[14,15] hd
|
||||||
|
int16_t ins_vx; //10:[16,17] hd
|
||||||
|
int16_t ins_vy; //11:[18,19] hd
|
||||||
|
int16_t ins_vz; //12:[20,21] hd
|
||||||
|
int32_t lon; //13:[22,23,24,25] d
|
||||||
|
int32_t lat; //14:[26,27,28,29] d
|
||||||
|
int16_t alt; //15:[30,31] hd
|
||||||
|
int16_t dvl_vx; //16:[32,33] hd
|
||||||
|
int16_t dvl_vy; //17:[34,35] hd
|
||||||
|
int16_t dvl_vz; //18:[36,37] hd
|
||||||
|
int16_t rpm; //19:[38,39] hd
|
||||||
|
uint8_t lightEnable; //20:[40] u
|
||||||
|
uint16_t battery_voltage; //21:[41,42] hu
|
||||||
|
uint8_t battery_level; //22:[43] u
|
||||||
|
uint16_t battery_temp; //23:[44,45] hu
|
||||||
|
uint32_t fault_leakSensor; //24:[46,47,48,49] u
|
||||||
|
uint8_t fault_battery; //25:[50] u
|
||||||
|
uint8_t fault_emergencyBattery; //26:[51] u
|
||||||
|
uint8_t fault_thrust; //27:[52] u
|
||||||
|
uint8_t iridium; //28:[53] u
|
||||||
|
uint8_t throwing_load; //29:[54] u
|
||||||
|
uint8_t dvl_status; //30:[55] u
|
||||||
|
uint8_t crc; //31:[56] u
|
||||||
|
uint16_t footer; //32:[57,58] hu
|
||||||
|
};
|
||||||
|
struct AUVCmd
|
||||||
|
{
|
||||||
|
uint16_t header = 0xEBA2;
|
||||||
|
uint16_t count;
|
||||||
|
uint8_t size;
|
||||||
|
uint8_t mode = 0XFF;
|
||||||
|
uint8_t thrust;
|
||||||
|
uint16_t yaw;
|
||||||
|
uint16_t depth;
|
||||||
|
uint8_t helm_top_angle;
|
||||||
|
uint8_t helm_bottom_angle;
|
||||||
|
uint8_t helm_left_angle;
|
||||||
|
uint8_t helm_right_angle;
|
||||||
|
uint8_t light_enable;
|
||||||
|
uint8_t dvl_enable = 0XFF;
|
||||||
|
uint8_t throwing_load_enable = 0XFF;
|
||||||
|
uint8_t crc;
|
||||||
|
uint16_t footer = 0XEE2A;
|
||||||
|
};
|
||||||
|
|
||||||
|
class _150server
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
/* data */
|
||||||
|
int lfd;
|
||||||
|
int cfd;
|
||||||
|
public:
|
||||||
|
_150server(/* args */){};
|
||||||
|
~_150server(){};
|
||||||
|
|
||||||
|
uint16_t serializeFields(AUVEmbedded &embeddedInfo, uint8_t* bfr);
|
||||||
|
bool listenInfo();
|
||||||
|
void postInfo();
|
||||||
|
void _150_startServer();
|
||||||
|
AUVEmbedded embeddedInfoSrc;
|
||||||
|
AUVCmd _150cmd;
|
||||||
|
unsigned char embeddedBuffer[59];
|
||||||
|
unsigned char recvbuf[65535] = {0};
|
||||||
|
unsigned int _150_recive = 0;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
249
src/pEmulator/a.moos
Normal file
249
src/pEmulator/a.moos
Normal file
@@ -0,0 +1,249 @@
|
|||||||
|
//-------------------------------------------------
|
||||||
|
// NAME: M. Benjamin, MIT CSAIL
|
||||||
|
// FILE: alpha.moos
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
ServerHost = localhost
|
||||||
|
ServerPort = 9000
|
||||||
|
Community = alpha
|
||||||
|
MOOSTimeWarp = 1
|
||||||
|
|
||||||
|
// Forest Lake
|
||||||
|
LatOrigin = 43.825300
|
||||||
|
LongOrigin = -70.330400
|
||||||
|
|
||||||
|
// MIT Sailing Pavilion (use this one)
|
||||||
|
// LatOrigin = 42.358456
|
||||||
|
// LongOrigin = -71.087589
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Antler configuration block
|
||||||
|
ProcessConfig = ANTLER
|
||||||
|
{
|
||||||
|
MSBetweenLaunches = 200
|
||||||
|
|
||||||
|
Run = MOOSDB @ NewConsole = false
|
||||||
|
Run = pMarineViewer @ NewConsole = false
|
||||||
|
Run = uProcessWatch @ NewConsole = false
|
||||||
|
Run = pNodeReporter @ NewConsole = false
|
||||||
|
Run = pEmulator @ NewConsole = true
|
||||||
|
//Run = pLogger @ NewConsole = false
|
||||||
|
Run = pMotionControler @ NewConsole = false
|
||||||
|
Run = pTaskManger @ NewConsole = false
|
||||||
|
Run = pHelmIvP @ NewConsole = false
|
||||||
|
}
|
||||||
|
ProcessConfig = pTaskManger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
planConfigPath = /home/zjk/Desktop/project/moos-ivp-extend/PlanConfigure.json
|
||||||
|
}
|
||||||
|
ProcessConfig = pEmulator
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
matlab_host = 192.168.0.11
|
||||||
|
matlab_port = 8085
|
||||||
|
local_port = 8080
|
||||||
|
prefix = NAV
|
||||||
|
|
||||||
|
start_x = 10
|
||||||
|
start_y = 9
|
||||||
|
start_z = 1
|
||||||
|
start_heading = 30
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessConfig = pLogger
|
||||||
|
{
|
||||||
|
AppTick = 8
|
||||||
|
CommsTick = 8
|
||||||
|
|
||||||
|
AsyncLog = true
|
||||||
|
|
||||||
|
// For variables that are published in a bundle on their first post,
|
||||||
|
// explicitly declare their logging request
|
||||||
|
//Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
|
||||||
|
//Log = REPORT @ 0 NOSYNC
|
||||||
|
//Log = BHV_SETTINGS @ 0 NOSYNC
|
||||||
|
Log = OPREGION_RESET @ 0 NOSYNC
|
||||||
|
|
||||||
|
LogAuxSrc = true
|
||||||
|
WildCardLogging = true
|
||||||
|
WildCardOmitPattern = *_STATUS
|
||||||
|
WildCardOmitPattern = DB_VARSUMMARY
|
||||||
|
WildCardOmitPattern = DB_RWSUMMARY
|
||||||
|
WildCardExclusionLog = true
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// uProcessWatch config block
|
||||||
|
|
||||||
|
ProcessConfig = uProcessWatch
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
watch_all = true
|
||||||
|
nowatch = uPokeDB*
|
||||||
|
nowatch = uQueryDB*
|
||||||
|
nowatch = uXMS*
|
||||||
|
nowatch = uMAC*
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// uSimMarineV22 config block
|
||||||
|
//------------------------------------------
|
||||||
|
// pHelmIvP config block
|
||||||
|
|
||||||
|
ProcessConfig = pHelmIvP
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
behaviors = alpha.bhv
|
||||||
|
domain = course:0:359:360
|
||||||
|
domain = speed:0:10:101
|
||||||
|
domain = depth:0:100:101
|
||||||
|
|
||||||
|
park_on_allstop = false
|
||||||
|
//park_on_allstop = true
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pMarinePID config block
|
||||||
|
|
||||||
|
ProcessConfig = pMotionControler
|
||||||
|
{
|
||||||
|
AppTick = 10
|
||||||
|
CommsTick = 10
|
||||||
|
|
||||||
|
verbose = true
|
||||||
|
depth_control = true
|
||||||
|
|
||||||
|
// SIM_INSTABILITY = 20
|
||||||
|
|
||||||
|
// Yaw PID controller
|
||||||
|
yaw_pid_kp = 10
|
||||||
|
yaw_pid_kd = 0.0
|
||||||
|
yaw_pid_ki = 0.01
|
||||||
|
yaw_pid_integral_limit = 10
|
||||||
|
|
||||||
|
// Speed PID controller
|
||||||
|
speed_pid_kp = 20.0
|
||||||
|
speed_pid_kd = 0.0
|
||||||
|
speed_pid_ki = 1
|
||||||
|
speed_pid_integral_limit = 100
|
||||||
|
|
||||||
|
maxpitch = 15
|
||||||
|
maxelevator = 30
|
||||||
|
|
||||||
|
pitch_pid_kp = 1.5
|
||||||
|
pitch_pid_kd = 0
|
||||||
|
pitch_pid_ki = 1.0
|
||||||
|
pitch_pid_integral_limit = 0
|
||||||
|
|
||||||
|
z_to_pitch_pid_kp = 0.12
|
||||||
|
z_to_pitch_pid_kd = 0
|
||||||
|
z_to_pitch_pid_ki = 0.004
|
||||||
|
z_to_pitch_pid_integral_limit = 0.05
|
||||||
|
|
||||||
|
|
||||||
|
//MAXIMUMS MAXRUDDER
|
||||||
|
maxrudder = 30
|
||||||
|
maxthrust = 1525
|
||||||
|
|
||||||
|
// A non-zero SPEED_FACTOR overrides use of SPEED_PID
|
||||||
|
// Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR
|
||||||
|
speed_factor = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pMarineViewer config block
|
||||||
|
|
||||||
|
ProcessConfig = pMarineViewer
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
|
||||||
|
tiff_file = forrest19.tif
|
||||||
|
//tiff_file = MIT_SP.tif
|
||||||
|
vehicles_name_mode = names+depth //+shortmode
|
||||||
|
|
||||||
|
|
||||||
|
set_pan_x = -90
|
||||||
|
set_pan_y = -280
|
||||||
|
zoom = 0.65
|
||||||
|
vehicle_shape_scale = 1.5
|
||||||
|
hash_delta = 50
|
||||||
|
hash_shade = 0.22
|
||||||
|
hash_viewable = true
|
||||||
|
|
||||||
|
trails_point_size = 1
|
||||||
|
|
||||||
|
//op_vertex = x=-83, y=-47, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=94.6, y=-62.2, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
//op_vertex = x=58, y=20, lwidth=1,lcolor=yellow,looped=true,group=moa
|
||||||
|
|
||||||
|
// Appcast configuration
|
||||||
|
appcast_height = 75
|
||||||
|
appcast_width = 30
|
||||||
|
appcast_viewable = true
|
||||||
|
appcast_color_scheme = indigo
|
||||||
|
nodes_font_size = xlarge
|
||||||
|
procs_font_size = xlarge
|
||||||
|
appcast_font_size = large
|
||||||
|
|
||||||
|
// datum_viewable = true
|
||||||
|
// datum_size = 18
|
||||||
|
// gui_size = small
|
||||||
|
|
||||||
|
// left_context[survey-point] = DEPLOY=true
|
||||||
|
// left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
// left_context[survey-point] = RETURN=false
|
||||||
|
|
||||||
|
right_context[return] = DEPLOY=true
|
||||||
|
right_context[return] = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
right_context[return] = RETURN=false
|
||||||
|
|
||||||
|
scope = RETURN
|
||||||
|
scope = WPT_STAT
|
||||||
|
scope = VIEW_SEGLIST
|
||||||
|
scope = VIEW_POINT
|
||||||
|
scope = VIEW_POLYGON
|
||||||
|
scope = MVIEWER_LCLICK
|
||||||
|
scope = MVIEWER_RCLICK
|
||||||
|
|
||||||
|
//button_one = START # START=true
|
||||||
|
//button_one = MOOS_MANUAL_OVERRIDE=false
|
||||||
|
button_one = START # uMission_action_cmd={"taskName":"east_waypt_survey","action":"start"}
|
||||||
|
|
||||||
|
button_two = STOP # uMission_action_cmd={"taskName":"east_waypt_survey","action":"stop"}
|
||||||
|
//button_two = MOOS_MANUAL_OVERRIDE=true
|
||||||
|
button_three = FaultClear # ClearFalut = true
|
||||||
|
button_four = SendSecurityZone # SendSaftRules = true
|
||||||
|
|
||||||
|
|
||||||
|
action = MENU_KEY=deploy # DEPLOY = true # RETURN = false
|
||||||
|
action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
|
||||||
|
action = RETURN=true
|
||||||
|
action = UPDATES_RETURN=speed=1.4
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// pNodeReporter config block
|
||||||
|
|
||||||
|
ProcessConfig = pNodeReporter
|
||||||
|
{
|
||||||
|
AppTick = 2
|
||||||
|
CommsTick = 2
|
||||||
|
|
||||||
|
//platform_type = kayak
|
||||||
|
//更改显示形状为uuv
|
||||||
|
platform_type = UUV
|
||||||
|
platform_color = red
|
||||||
|
platform_length = 4
|
||||||
|
}
|
||||||
181
src/pEmulator/alpha.bhv
Normal file
181
src/pEmulator/alpha.bhv
Normal file
@@ -0,0 +1,181 @@
|
|||||||
|
//-------- FILE: alpha.bhv -------------
|
||||||
|
initialize RUN = false
|
||||||
|
initialize TaskNum=t1
|
||||||
|
initialize SendTask=false
|
||||||
|
//--------------模式判断------------------------
|
||||||
|
set MODE = ACTIVE{
|
||||||
|
RUN=true
|
||||||
|
} INACTIVE
|
||||||
|
|
||||||
|
set MODE = T1{
|
||||||
|
MODE=ACTIVE
|
||||||
|
TaskNum = t1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------路径点任务----------------------------
|
||||||
|
Behavior = BHV_Waypoint
|
||||||
|
{
|
||||||
|
name = waypt_survey
|
||||||
|
pwt = 100 //优先权重
|
||||||
|
condition = MODE==T1
|
||||||
|
|
||||||
|
//endflag = START=false
|
||||||
|
endflag = END_WayPoint=true
|
||||||
|
|
||||||
|
configflag = CRUISE_SPD = $[SPEED]
|
||||||
|
//configflag = OSPOS = $[OSX],$[OSY]
|
||||||
|
|
||||||
|
activeflag = INFO=$[OWNSHIP]
|
||||||
|
activeflag = INFO=$[BHVNAME]
|
||||||
|
activeflag = INFO=$[BHVTYPE]
|
||||||
|
|
||||||
|
//cycleflag = CINFO=$[OSX],$[OSY]
|
||||||
|
|
||||||
|
wptflag = CurrentPointComplete=true
|
||||||
|
wptflag = PREV=$(PX),$(PY)
|
||||||
|
wptflag = NEXT=$(NX),$(NY)
|
||||||
|
wptflag = TEST=$(X),$(Y)
|
||||||
|
wptflag = OSPOS=$(OSX),$(OSY)
|
||||||
|
//wptflag_on_start = true
|
||||||
|
|
||||||
|
|
||||||
|
updates = WPT_UPDATE
|
||||||
|
//perpetual = true
|
||||||
|
|
||||||
|
templating = spawn
|
||||||
|
|
||||||
|
// speed_alt = 1.2
|
||||||
|
//use_alt_speed = true
|
||||||
|
lead = 8
|
||||||
|
lead_damper = 1
|
||||||
|
lead_to_start = false
|
||||||
|
speed = 1 // meters per second
|
||||||
|
capture_line = true
|
||||||
|
capture_radius = 5.0
|
||||||
|
slip_radius = 15.0
|
||||||
|
efficiency_measure = all
|
||||||
|
|
||||||
|
polygon = 60,-40
|
||||||
|
order = normal
|
||||||
|
//repeat = 3
|
||||||
|
|
||||||
|
visual_hints = nextpt_color=yellow
|
||||||
|
visual_hints = nextpt_vertex_size=8
|
||||||
|
visual_hints = nextpt_lcolor=gray70
|
||||||
|
visual_hints = vertex_color=dodger_blue, edge_color=white
|
||||||
|
visual_hints = vertex_size=5, edge_size=1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//--------------定深任务------------------
|
||||||
|
Behavior=BHV_ConstantDepth
|
||||||
|
{
|
||||||
|
name = const_depth
|
||||||
|
pwt = 100
|
||||||
|
//condition = DEPLOY = true
|
||||||
|
condition = MODE==T1
|
||||||
|
duration = no-time-limit
|
||||||
|
updates = DEPTH_UPDATE
|
||||||
|
depth = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------定向任务--------------------
|
||||||
|
|
||||||
|
Behavior=BHV_ConstantHeading
|
||||||
|
{
|
||||||
|
name = const_heading
|
||||||
|
pwt = 100
|
||||||
|
//condition = START_TURN = true
|
||||||
|
//condition = DEPLOY = true
|
||||||
|
condition = MODE==T3
|
||||||
|
perpetual = true
|
||||||
|
|
||||||
|
activeflag = TURN = started
|
||||||
|
|
||||||
|
//endflag = TURN = done
|
||||||
|
//endflag = RETURN = true
|
||||||
|
//endflag = START_TURN = false
|
||||||
|
endflag = START=false
|
||||||
|
|
||||||
|
heading = 225
|
||||||
|
complete_thresh = 5
|
||||||
|
duration = no-time-limit
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------定速任务--------------------
|
||||||
|
Behavior=BHV_ConstantSpeed
|
||||||
|
{
|
||||||
|
name = const_speed
|
||||||
|
pwt = 1000
|
||||||
|
condition = MODE==T1
|
||||||
|
perpetual = true
|
||||||
|
updates = SPEED_UPDATE
|
||||||
|
//endflag = START=false
|
||||||
|
|
||||||
|
speed = 5
|
||||||
|
|
||||||
|
duration = no-time-limit
|
||||||
|
//peakwidth = 0.5
|
||||||
|
//basewidth = 0.5
|
||||||
|
|
||||||
|
}
|
||||||
|
//----------------安全模式-----------------------
|
||||||
|
//----------------计时器---------------------
|
||||||
|
Behavior = BHV_Timer
|
||||||
|
{
|
||||||
|
name = mtime
|
||||||
|
condition = MODE==T1
|
||||||
|
pwt = 100
|
||||||
|
templating = spawn
|
||||||
|
//duration_status = MSTATUS
|
||||||
|
//duration = 10
|
||||||
|
endflag = TIME_OUT=true
|
||||||
|
|
||||||
|
updates = TIMER_UPDATES
|
||||||
|
|
||||||
|
//perpetual = true
|
||||||
|
}
|
||||||
|
//-------------最大深度限制--------------------------
|
||||||
|
Behavior = BHV_MaxDepth
|
||||||
|
{
|
||||||
|
name = maxdepth
|
||||||
|
pwt = 200
|
||||||
|
condition = MODE==ACTIVE
|
||||||
|
updates = MAXDEEP_UPDATES
|
||||||
|
max_depth = 20
|
||||||
|
tolerance = 0
|
||||||
|
duration = no-time-limit
|
||||||
|
}
|
||||||
|
//--------------安全区域设置-----------------------
|
||||||
|
|
||||||
|
Behavior = BHV_OpRegion
|
||||||
|
{
|
||||||
|
// General Behavior Parameters
|
||||||
|
// ---------------------------
|
||||||
|
name = op_region // example
|
||||||
|
pwt = 300 // default
|
||||||
|
condition = MODE==TN
|
||||||
|
updates = OPREGION_UPDATES // example
|
||||||
|
|
||||||
|
// Parameters specific to this behavior
|
||||||
|
// ------------------------------------
|
||||||
|
max_time = 20 // default (seconds)
|
||||||
|
max_depth = 25 // default (meters)
|
||||||
|
min_altitude = 0 // default (meters)
|
||||||
|
reset_var = OPREGION_RESET // example
|
||||||
|
trigger_entry_time = 1 // default (seconds)
|
||||||
|
trigger_exit_time = 0.5 // default (seconds)
|
||||||
|
|
||||||
|
polygon = pts={-80,-00:-30,-175:150,-100:95,25}
|
||||||
|
|
||||||
|
breached_altitude_flag = TaskFault = AltitudeOut
|
||||||
|
breached_depth_flag = TaskFault = DepthOut
|
||||||
|
breached_poly_flag = TaskFault = RegionOut
|
||||||
|
breached_time_flag = TaskFault = TimeOut
|
||||||
|
|
||||||
|
visual_hints = vertex_color = brown // default
|
||||||
|
visual_hints = vertex_size = 3 // default
|
||||||
|
visual_hints = edge_color = aqua // default
|
||||||
|
visual_hints = edge_size = 1 // default
|
||||||
|
}
|
||||||
63
src/pEmulator/main.cpp
Normal file
63
src/pEmulator/main.cpp
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-12 09:52:06
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-10-20 16:52:52
|
||||||
|
* @FilePath: /moos-ivp-extend/src/pEmulator/main.cpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#include<iostream>
|
||||||
|
using namespace std;
|
||||||
|
#include"MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
|
||||||
|
// #include "VarDataPair.h"
|
||||||
|
#include"Emulator.hpp"
|
||||||
|
#include <iostream>
|
||||||
|
#include<string>
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
// #include "MBUtils.h"
|
||||||
|
// #include "ColorParse.h"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
string mission_file;
|
||||||
|
string run_command = argv[0];
|
||||||
|
|
||||||
|
for(int i=1; i<argc; i++) {
|
||||||
|
string argi = argv[i];
|
||||||
|
if((argi=="-v") || (argi=="--version") || (argi=="-version"))
|
||||||
|
// showReleaseInfoAndExit();
|
||||||
|
cout << " Version : 0.01" << endl;
|
||||||
|
else if((argi=="-e") || (argi=="--example") || (argi=="-example"))
|
||||||
|
// showExampleConfigAndExit();
|
||||||
|
cout << " example : NULL" << endl;
|
||||||
|
else if((argi=="-h") || (argi == "--help") || (argi=="-help"))
|
||||||
|
// showHelpAndExit();
|
||||||
|
cout << " Low leave Control for UUV " << endl;
|
||||||
|
else if((argi=="-i") || (argi == "--interface"))
|
||||||
|
// showInterfaceAndExit();
|
||||||
|
cout << " UUV Motion Control " << endl;
|
||||||
|
else if(strEnds(argi, ".moos") || strEnds(argi, ".moos++"))
|
||||||
|
mission_file = argv[i];
|
||||||
|
else if(strBegins(argi, "--alias="))
|
||||||
|
run_command = argi.substr(8);
|
||||||
|
else if(i == 2)
|
||||||
|
run_command = argi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mission_file == "")
|
||||||
|
// showHelpAndExit();
|
||||||
|
|
||||||
|
cout << termColor("green");
|
||||||
|
cout << "Emulator launching as " << run_command << endl;
|
||||||
|
cout << termColor() << endl;
|
||||||
|
|
||||||
|
Emulator s;
|
||||||
|
s.Run(run_command.c_str(), mission_file.c_str(), argc, argv);
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
15
src/pEmulator/pEmulator.moos
Normal file
15
src/pEmulator/pEmulator.moos
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
ProcessConfig = pEmulator
|
||||||
|
{
|
||||||
|
AppTick = 5
|
||||||
|
CommsTick = 5
|
||||||
|
//matlab_host = 192.168.0.11
|
||||||
|
matlab_host = 10.25.0.206
|
||||||
|
matlab_port = 8085
|
||||||
|
local_port = 8080
|
||||||
|
prefix = NAV
|
||||||
|
|
||||||
|
start_x = 0
|
||||||
|
start_y = 0
|
||||||
|
start_z = 0
|
||||||
|
start_heading = 30
|
||||||
|
}
|
||||||
32
src/pFaultHandle/CMakeLists.txt
Normal file
32
src/pFaultHandle/CMakeLists.txt
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#--------------------------------------------------------
|
||||||
|
# The CMakeLists.txt for: pFaultHandle
|
||||||
|
# Author(s): wade
|
||||||
|
#--------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SET(SRC
|
||||||
|
FaultHandle.cpp
|
||||||
|
FaultHandle_Info.cpp
|
||||||
|
main.cpp
|
||||||
|
FaultHandle.h
|
||||||
|
)
|
||||||
|
|
||||||
|
# FIND_LIBRARY(/usr/local/lib)
|
||||||
|
# FIND_PATH(/usr/local/include)
|
||||||
|
|
||||||
|
include_directories(/usr/local/include/jsoncpp/)
|
||||||
|
link_directories(/usr/local/lib/)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(pFaultHandle ${SRC})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(pFaultHandle
|
||||||
|
${MOOS_LIBRARIES}
|
||||||
|
${CMAKE_DL_LIBS}
|
||||||
|
${SYSTEM_LIBS}
|
||||||
|
mbutil
|
||||||
|
pthread
|
||||||
|
jsoncpp
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
1460
src/pFaultHandle/FaultHandle.cpp
Normal file
1460
src/pFaultHandle/FaultHandle.cpp
Normal file
File diff suppressed because it is too large
Load Diff
211
src/pFaultHandle/FaultHandle.h
Normal file
211
src/pFaultHandle/FaultHandle.h
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: wade */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: FaultHandle.h */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#ifndef FaultHandle_HEADER
|
||||||
|
#define FaultHandle_HEADER
|
||||||
|
|
||||||
|
#include "MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
|
||||||
|
#include "MOOS/libMOOS/MOOSLib.h"
|
||||||
|
//#include "moos.h"
|
||||||
|
#include <json/json.h>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <map>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
//class FaultHandle : public CMOOSApp
|
||||||
|
class FaultHandle : public AppCastingMOOSApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FaultHandle();
|
||||||
|
~FaultHandle();
|
||||||
|
|
||||||
|
|
||||||
|
protected: // Standard MOOSApp functions to overload
|
||||||
|
bool OnNewMail(MOOSMSG_LIST &NewMail);
|
||||||
|
bool Iterate();
|
||||||
|
bool OnConnectToServer();
|
||||||
|
bool OnStartUp();
|
||||||
|
bool buildReport();
|
||||||
|
|
||||||
|
void RegisterVariables();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void handleMailNewDBClients();
|
||||||
|
void handleMailStatusUpdate(std::string);
|
||||||
|
|
||||||
|
bool handleConfigWatchList(std::string);
|
||||||
|
bool handleConfigWatchItem(std::string);
|
||||||
|
|
||||||
|
bool handleConfigExcludeList(std::string);
|
||||||
|
bool handleConfigExcludeItem(std::string);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
bool addToWatchList(std::string);
|
||||||
|
|
||||||
|
void checkForIndividualUpdates();
|
||||||
|
void postFullSummary();
|
||||||
|
|
||||||
|
bool isAlive(std::string);
|
||||||
|
void procNotedHere(std::string);
|
||||||
|
void procNotedGone(std::string);
|
||||||
|
void procNotedExcused(std::string);
|
||||||
|
|
||||||
|
void handlePostMapping(std::string);
|
||||||
|
std::string postVar(std::string);
|
||||||
|
|
||||||
|
void populateAntlerList();
|
||||||
|
|
||||||
|
bool processIncluded(const std::string& procname);
|
||||||
|
bool processExcluded(const std::string& procname);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
std::string convertSecondsToString(double);
|
||||||
|
|
||||||
|
void errorMsgInit();
|
||||||
|
|
||||||
|
void MoosAppStatusMonitor();
|
||||||
|
void MoosAppOverloadMonitor();
|
||||||
|
void MissionFaultMonitor();
|
||||||
|
void MotionControlMonitor();
|
||||||
|
void DeviceLeakageMonitor();
|
||||||
|
void BatteryStatusMonitor();
|
||||||
|
void EmergencyBatteryMonitor();
|
||||||
|
void ThrustStatusMonitor();
|
||||||
|
void CPUTempMonitor();
|
||||||
|
void FaultReset();
|
||||||
|
|
||||||
|
|
||||||
|
bool MoosAppMissing();
|
||||||
|
bool MoosAppOverload();
|
||||||
|
|
||||||
|
|
||||||
|
protected: // State Variables
|
||||||
|
bool m_proc_watch_summary_changed;
|
||||||
|
double m_last_posting_time;
|
||||||
|
|
||||||
|
// Clients and Summary stored across iterations
|
||||||
|
std::string m_db_clients;
|
||||||
|
std::string m_proc_watch_summary;
|
||||||
|
|
||||||
|
std::vector<std::string> m_watch_list;
|
||||||
|
std::vector<std::string> m_excused_list;
|
||||||
|
|
||||||
|
// Mapping from proc name to data
|
||||||
|
std::map<std::string, bool> m_map_alive;
|
||||||
|
std::map<std::string, bool> m_map_alive_prev;
|
||||||
|
std::map<std::string, unsigned int> m_map_noted_gone;
|
||||||
|
std::map<std::string, unsigned int> m_map_noted_here;
|
||||||
|
std::map<std::string, double> m_map_now_cpuload;
|
||||||
|
std::map<std::string, double> m_map_max_cpuload;
|
||||||
|
|
||||||
|
std::set<std::string> m_set_db_clients;
|
||||||
|
std::set<std::string> m_set_watch_clients;
|
||||||
|
std::set<std::string> m_set_antler_clients;
|
||||||
|
|
||||||
|
protected: // Configurations Variables
|
||||||
|
bool m_watch_all_db;
|
||||||
|
bool m_watch_all_antler;
|
||||||
|
double m_allow_retractions;
|
||||||
|
double m_min_wait;
|
||||||
|
double m_noted_gone_wait;
|
||||||
|
|
||||||
|
// Include List
|
||||||
|
std::vector<std::string> m_include_list;
|
||||||
|
std::vector<bool> m_include_list_prefix;
|
||||||
|
|
||||||
|
// Exclude List
|
||||||
|
std::vector<std::string> m_exclude_list;
|
||||||
|
std::vector<bool> m_exclude_list_prefix;
|
||||||
|
|
||||||
|
// A dedicated MOOS var for posting when a proc chgs status
|
||||||
|
std::map<std::string, std::string> m_map_proc_post;
|
||||||
|
|
||||||
|
// A map for changing the MOOS variable posted.
|
||||||
|
std::map<std::string, std::string> m_map_chgpost;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int m_Mission_fault_fb;
|
||||||
|
int m_Motion_fault_fb;
|
||||||
|
double m_CPU_temperature;
|
||||||
|
bool m_resetMsg_fb;
|
||||||
|
|
||||||
|
uint32_t m_faultBattery;
|
||||||
|
uint32_t m_faultEmergencyBattery;
|
||||||
|
uint32_t m_faultLeakSensor;
|
||||||
|
uint32_t m_faultThrust;
|
||||||
|
uint32_t m_batteryLevel;
|
||||||
|
|
||||||
|
Json::Value Device_monitor;
|
||||||
|
Json::Value MoosApp_cpuLoad;
|
||||||
|
Json::Value MoosAppStatus;
|
||||||
|
Json::Value uFH_ErrorMsg_fb;
|
||||||
|
|
||||||
|
Json::Value uFH_errorMsg1_fb;
|
||||||
|
Json::Value uFH_errorMsg2_fb;
|
||||||
|
Json::Value uFH_errorMsg3_fb;
|
||||||
|
|
||||||
|
|
||||||
|
Json::Value msg3_faultID_array;
|
||||||
|
Json::Value msg2_PSfaultID_array;
|
||||||
|
Json::Value msg2_emergencyPS_array;
|
||||||
|
Json::Value msg2_thrust_Status_array;
|
||||||
|
|
||||||
|
Json::Value msg1_faultID_array;
|
||||||
|
|
||||||
|
//--------------------------------------test------------------------------
|
||||||
|
//std::string ODO_StatusStr;
|
||||||
|
|
||||||
|
std::string BSC_StatusStr;
|
||||||
|
std::string DM_StatusStr;
|
||||||
|
std::string MC_StatusStr;
|
||||||
|
std::string SSC_StatusStr;
|
||||||
|
std::string TM_StatusStr;
|
||||||
|
|
||||||
|
|
||||||
|
std::string pOdometryCPUload;
|
||||||
|
std::string BSC_CPUloadStr;
|
||||||
|
std::string DM_CPUloadStr;
|
||||||
|
std::string MC_CPUloadStr;
|
||||||
|
std::string SSC_CPUloadStr;
|
||||||
|
std::string TM_CPUloadStr;
|
||||||
|
|
||||||
|
|
||||||
|
//double ABC;
|
||||||
|
double BSC_cpuload;
|
||||||
|
double DM_cpuload;
|
||||||
|
double MC_cpuload;
|
||||||
|
double SSC_cpuload;
|
||||||
|
double TM_cpuload;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//--------------------------------------test------------------------------
|
||||||
|
protected:
|
||||||
|
//Contingency variable
|
||||||
|
|
||||||
|
// bool uSensor_leakage_fb;
|
||||||
|
// bool uMission_deepOut_fb;
|
||||||
|
// bool uMission_timeOut_fb;
|
||||||
|
// bool uDrive_batteryLow_fb;
|
||||||
|
// double uSoftWare_appMiss_fb; //AppID
|
||||||
|
|
||||||
|
//------------------------------------------------
|
||||||
|
//subscribe variables
|
||||||
|
|
||||||
|
|
||||||
|
private: // Configuration variables
|
||||||
|
|
||||||
|
private: // State variables
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
115
src/pFaultHandle/FaultHandle_Info.cpp
Normal file
115
src/pFaultHandle/FaultHandle_Info.cpp
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: wade */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: FaultHandle_Info.cpp */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <iostream>
|
||||||
|
#include "FaultHandle_Info.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "ReleaseInfo.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showSynopsis
|
||||||
|
|
||||||
|
void showSynopsis()
|
||||||
|
{
|
||||||
|
blk("SYNOPSIS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" The pFaultHandle application is used for ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
blk(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showHelpAndExit
|
||||||
|
|
||||||
|
void showHelpAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("Usage: pFaultHandle file.moos [OPTIONS] ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("Options: ");
|
||||||
|
mag(" --alias","=<ProcessName> ");
|
||||||
|
blk(" Launch pFaultHandle with the given process name ");
|
||||||
|
blk(" rather than pFaultHandle. ");
|
||||||
|
mag(" --example, -e ");
|
||||||
|
blk(" Display example MOOS configuration block. ");
|
||||||
|
mag(" --help, -h ");
|
||||||
|
blk(" Display this help message. ");
|
||||||
|
mag(" --interface, -i ");
|
||||||
|
blk(" Display MOOS publications and subscriptions. ");
|
||||||
|
mag(" --version,-v ");
|
||||||
|
blk(" Display the release version of pFaultHandle. ");
|
||||||
|
blk(" ");
|
||||||
|
blk("Note: If argv[2] does not otherwise match a known option, ");
|
||||||
|
blk(" then it will be interpreted as a run alias. This is ");
|
||||||
|
blk(" to support pAntler launching conventions. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showExampleConfigAndExit
|
||||||
|
|
||||||
|
void showExampleConfigAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pFaultHandle Example MOOS Configuration ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
blk("ProcessConfig = pFaultHandle ");
|
||||||
|
blk("{ ");
|
||||||
|
blk(" AppTick = 4 ");
|
||||||
|
blk(" CommsTick = 4 ");
|
||||||
|
blk(" ");
|
||||||
|
blk("} ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showInterfaceAndExit
|
||||||
|
|
||||||
|
void showInterfaceAndExit()
|
||||||
|
{
|
||||||
|
blk(" ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blu("pFaultHandle INTERFACE ");
|
||||||
|
blu("=============================================================== ");
|
||||||
|
blk(" ");
|
||||||
|
showSynopsis();
|
||||||
|
blk(" ");
|
||||||
|
blk("SUBSCRIPTIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" NODE_MESSAGE = src_node=alpha,dest_node=bravo,var_name=FOO, ");
|
||||||
|
blk(" string_val=BAR ");
|
||||||
|
blk(" ");
|
||||||
|
blk("PUBLICATIONS: ");
|
||||||
|
blk("------------------------------------ ");
|
||||||
|
blk(" Publications are determined by the node message content. ");
|
||||||
|
blk(" ");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------
|
||||||
|
// Procedure: showReleaseInfoAndExit
|
||||||
|
|
||||||
|
void showReleaseInfoAndExit()
|
||||||
|
{
|
||||||
|
showReleaseInfo("pFaultHandle", "gpl");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
18
src/pFaultHandle/FaultHandle_Info.h
Normal file
18
src/pFaultHandle/FaultHandle_Info.h
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/****************************************************************/
|
||||||
|
/* NAME: wade */
|
||||||
|
/* ORGN: MIT Cambridge MA */
|
||||||
|
/* FILE: FaultHandle_Info.h */
|
||||||
|
/* DATE: Dec 29th 1963 */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
#ifndef FaultHandle_INFO_HEADER
|
||||||
|
#define FaultHandle_INFO_HEADER
|
||||||
|
|
||||||
|
void showSynopsis();
|
||||||
|
void showHelpAndExit();
|
||||||
|
void showExampleConfigAndExit();
|
||||||
|
void showInterfaceAndExit();
|
||||||
|
void showReleaseInfoAndExit();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
52
src/pFaultHandle/main.cpp
Normal file
52
src/pFaultHandle/main.cpp
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/************************************************************/
|
||||||
|
/* NAME: wade */
|
||||||
|
/* ORGN: MIT */
|
||||||
|
/* FILE: main.cpp */
|
||||||
|
/* DATE: */
|
||||||
|
/************************************************************/
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "ColorParse.h"
|
||||||
|
#include "FaultHandle.h"
|
||||||
|
#include "FaultHandle_Info.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
string mission_file;
|
||||||
|
string run_command = argv[0];
|
||||||
|
|
||||||
|
for(int i=1; i<argc; i++) {
|
||||||
|
string argi = argv[i];
|
||||||
|
if((argi=="-v") || (argi=="--version") || (argi=="-version"))
|
||||||
|
showReleaseInfoAndExit();
|
||||||
|
else if((argi=="-e") || (argi=="--example") || (argi=="-example"))
|
||||||
|
showExampleConfigAndExit();
|
||||||
|
else if((argi == "-h") || (argi == "--help") || (argi=="-help"))
|
||||||
|
showHelpAndExit();
|
||||||
|
else if((argi == "-i") || (argi == "--interface"))
|
||||||
|
showInterfaceAndExit();
|
||||||
|
else if(strEnds(argi, ".moos") || strEnds(argi, ".moos++"))
|
||||||
|
mission_file = argv[i];
|
||||||
|
else if(strBegins(argi, "--alias="))
|
||||||
|
run_command = argi.substr(8);
|
||||||
|
else if(i==2)
|
||||||
|
run_command = argi;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mission_file == "")
|
||||||
|
showHelpAndExit();
|
||||||
|
|
||||||
|
cout << termColor("green");
|
||||||
|
cout << "pFaultHandle launching as " << run_command << endl;
|
||||||
|
cout << termColor() << endl;
|
||||||
|
|
||||||
|
FaultHandle FaultHandle;
|
||||||
|
|
||||||
|
FaultHandle.Run(run_command.c_str(), mission_file.c_str());
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
9
src/pFaultHandle/pFaultHandle.moos
Normal file
9
src/pFaultHandle/pFaultHandle.moos
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
//------------------------------------------------
|
||||||
|
// pFaultHandle config block
|
||||||
|
|
||||||
|
ProcessConfig = pFaultHandle
|
||||||
|
{
|
||||||
|
AppTick = 4
|
||||||
|
CommsTick = 4
|
||||||
|
}
|
||||||
|
|
||||||
22
src/pMotionControler/CMakeLists.txt
Normal file
22
src/pMotionControler/CMakeLists.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#--------------------------------------------------------
|
||||||
|
# The CMakeLists.txt for: pTaskManger
|
||||||
|
# Author(s): zjk
|
||||||
|
#--------------------------------------------------------
|
||||||
|
|
||||||
|
FILE(GLOB SRC *.cpp *.hpp)
|
||||||
|
|
||||||
|
include_directories(/usr/include/jsoncpp/)
|
||||||
|
link_directories(/usr/local/lib/)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(pMotionControler ${SRC})
|
||||||
|
|
||||||
|
#需要把被依赖的库放到依赖库的后面
|
||||||
|
TARGET_LINK_LIBRARIES(pMotionControler
|
||||||
|
${MOOS_LIBRARIES}
|
||||||
|
geometry
|
||||||
|
mbutil
|
||||||
|
m
|
||||||
|
pthread
|
||||||
|
jsoncpp
|
||||||
|
)
|
||||||
|
|
||||||
43
src/pMotionControler/ControlParam.json
Normal file
43
src/pMotionControler/ControlParam.json
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"speed" :
|
||||||
|
{
|
||||||
|
"Kp" : 10.0,
|
||||||
|
"Ki" : 5.0,
|
||||||
|
"Kd" : 0.0,
|
||||||
|
"LimitDelta" : 50,
|
||||||
|
"MaxOut" : 100,
|
||||||
|
"MinOut" : 0
|
||||||
|
},
|
||||||
|
"heading" :
|
||||||
|
{
|
||||||
|
"Kp" : 0.8,
|
||||||
|
"Ki" : 0.05,
|
||||||
|
"Kd" : 2.2,
|
||||||
|
"LimitDelta" : 5,
|
||||||
|
"MaxOut" : 30,
|
||||||
|
"MinOut" : -30
|
||||||
|
},
|
||||||
|
"depth" :
|
||||||
|
{
|
||||||
|
"Kp" : 10.0,
|
||||||
|
"Ki" : 0.3,
|
||||||
|
"Kd" : 2.0,
|
||||||
|
"LimitDelta" : 5,
|
||||||
|
"MaxOut" : 10,
|
||||||
|
"MinOut" : -10
|
||||||
|
},
|
||||||
|
"pitch" :
|
||||||
|
{
|
||||||
|
"Kp" : 0.6,
|
||||||
|
"Ki" : 0.03,
|
||||||
|
"Kd" : 1.5,
|
||||||
|
"LimitDelta" : 5,
|
||||||
|
"MaxOut" : 30,
|
||||||
|
"MinOut" : -30
|
||||||
|
},
|
||||||
|
"const_thrust" : 0,
|
||||||
|
"dead_zone" : 10,
|
||||||
|
"speedCol" : true,
|
||||||
|
"depthCol" : true,
|
||||||
|
"HeadingCol" : true
|
||||||
|
}
|
||||||
424
src/pMotionControler/Controler.cpp
Normal file
424
src/pMotionControler/Controler.cpp
Normal file
@@ -0,0 +1,424 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-16 14:04:53
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-02 15:17:38
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pMotionControler/Controler.cpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#include"Controler.hpp"
|
||||||
|
|
||||||
|
Controler::Controler()
|
||||||
|
{
|
||||||
|
// Error_capacity = 10;
|
||||||
|
initVariable();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controler::initVariable()
|
||||||
|
{
|
||||||
|
ClearValTim(desired_speed);
|
||||||
|
ClearValTim(desired_heading);
|
||||||
|
ClearValTim(desired_depth);
|
||||||
|
ClearValTim(desired_pitch);
|
||||||
|
|
||||||
|
ClearValTim(current_speed);
|
||||||
|
ClearValTim(current_heading);
|
||||||
|
ClearValTim(current_pitch);
|
||||||
|
ClearValTim(current_depth);
|
||||||
|
current_time = 0;
|
||||||
|
start_time = 0;
|
||||||
|
|
||||||
|
ClearValTim(desired_thrust);
|
||||||
|
ClearValTim(desired_rudder);
|
||||||
|
ClearValTim(desired_elevator);
|
||||||
|
|
||||||
|
iterations = 0;
|
||||||
|
start_time = 0.0;
|
||||||
|
|
||||||
|
tardy_helm_thresh = 2.0;
|
||||||
|
tardy_nav_thresh = 2.0;
|
||||||
|
// current_error = 0;
|
||||||
|
// last_error = 0;
|
||||||
|
// Error.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Controler::setDesSpeed(double spd, double tim)
|
||||||
|
{
|
||||||
|
desired_speed.value = spd;
|
||||||
|
desired_speed.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setDesDepth(double dph, double tim)
|
||||||
|
{
|
||||||
|
desired_depth.value = dph;
|
||||||
|
desired_depth.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setDesPitch(double pth, double tim)
|
||||||
|
{
|
||||||
|
desired_pitch.value = pth;
|
||||||
|
desired_pitch.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setDesHeading(double hdg, double tim)
|
||||||
|
{
|
||||||
|
if(is_rad)
|
||||||
|
hdg = radToDegrees(hdg);
|
||||||
|
|
||||||
|
desired_heading.value = angle180(hdg);
|
||||||
|
desired_heading.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setCurSpeed(double spd, double tim)
|
||||||
|
{
|
||||||
|
current_speed.value = spd;
|
||||||
|
current_speed.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setCurDepth(double dph, double tim)
|
||||||
|
{
|
||||||
|
current_depth.value = dph;
|
||||||
|
current_depth.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setCurPitch(double pth, double tim)
|
||||||
|
{
|
||||||
|
current_pitch.value = pth;
|
||||||
|
current_pitch.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setCurHeading(double hdg, double tim)
|
||||||
|
{
|
||||||
|
current_heading.value = hdg;
|
||||||
|
current_heading.time = tim;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool Controler::setDesiredValues()
|
||||||
|
{
|
||||||
|
iterations++;
|
||||||
|
|
||||||
|
desired_thrust.value = 0;
|
||||||
|
desired_rudder.value = 0;
|
||||||
|
desired_elevator.value = 0;
|
||||||
|
|
||||||
|
//=============================================================
|
||||||
|
// Part 1: Ensure all nav and helm messages have been received
|
||||||
|
// for first time. If not, we simply wait, without declaring an
|
||||||
|
// override. After all messages have been received at least
|
||||||
|
// once, staleness is checked below.
|
||||||
|
//=============================================================
|
||||||
|
runMsg.push_back("desired_heading-time:" + doubleToString(desired_heading.time));
|
||||||
|
runMsg.push_back("desired_speed-time:" + doubleToString(desired_speed.time));
|
||||||
|
runMsg.push_back("current_heading-time:" + doubleToString(current_heading.time));
|
||||||
|
runMsg.push_back("current_speed-time:" + doubleToString(current_speed.time));
|
||||||
|
runMsg.push_back("desired_depth-time:" + doubleToString(desired_depth.time));
|
||||||
|
runMsg.push_back("current_depth-time:" + doubleToString(current_depth.time));
|
||||||
|
runMsg.push_back("current_pitch-time:" + doubleToString(current_pitch.time));
|
||||||
|
// runMsg.push_back("current_depth-time:" + doubleToString(current_depth.time));
|
||||||
|
|
||||||
|
if(has_speedCtrl)
|
||||||
|
{
|
||||||
|
if((desired_heading.time == 0) || (desired_speed.time == 0))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(has_headCtrl)
|
||||||
|
{
|
||||||
|
if((current_heading.time == 0) || (current_speed.time == 0))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(has_depthCtrl)
|
||||||
|
{
|
||||||
|
if(desired_depth.time == 0)
|
||||||
|
return true;
|
||||||
|
if((current_depth.time == 0) || (current_pitch.time == 0))
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//=============================================================
|
||||||
|
// Part 2: Critical info staleness (if not in simulation mode)
|
||||||
|
//=============================================================
|
||||||
|
//TODO: 验证信息过时操作
|
||||||
|
if(cheakStalensee)
|
||||||
|
{
|
||||||
|
bool is_stale = checkForStaleness();
|
||||||
|
if(is_stale)
|
||||||
|
{
|
||||||
|
has_override = true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================
|
||||||
|
// Part 3: Set the actuator values. Note: If desired thrust is
|
||||||
|
// zero others desired values will automatically be zero too.
|
||||||
|
//=============================================================
|
||||||
|
|
||||||
|
// m_desired_thrust = setDesiredThrust();
|
||||||
|
|
||||||
|
// if(m_desired_thrust > 0)
|
||||||
|
// m_desired_rudder = setDesiredRudder();
|
||||||
|
|
||||||
|
// if(m_desired_thrust > 0 && m_depth_control)
|
||||||
|
// m_desired_elevator = setDesiredElevator();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//TODO: 添加操控权判断
|
||||||
|
bool Controler::overrived(string sval)
|
||||||
|
{
|
||||||
|
if(tolower(sval) == "true")
|
||||||
|
{
|
||||||
|
if(has_override == false)
|
||||||
|
addPosting("HAS_CONTROL", "false");
|
||||||
|
has_override = true;
|
||||||
|
}
|
||||||
|
else if(tolower(sval) == "false")
|
||||||
|
{
|
||||||
|
// Upon lifting an override, the timestamps are reset. New values
|
||||||
|
// for all will need to be received before desired_* outputs will
|
||||||
|
// be produced. If we do not reset, it's possible we may
|
||||||
|
// interpret older pubs as being stale but they may have been
|
||||||
|
// paused also during an override.
|
||||||
|
if(has_override == true)
|
||||||
|
{
|
||||||
|
desired_speed.time = 0;
|
||||||
|
desired_heading.time = 0;
|
||||||
|
desired_depth.time = 0;
|
||||||
|
desired_pitch.time = 0;
|
||||||
|
|
||||||
|
current_speed.time = 0;
|
||||||
|
current_heading.time = 0;
|
||||||
|
current_pitch.time = 0;
|
||||||
|
current_depth.time = 0;
|
||||||
|
}
|
||||||
|
has_override = false;
|
||||||
|
addPosting("HAS_CONTROL", "true");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Controler::checkForStaleness()
|
||||||
|
{
|
||||||
|
bool is_stale = false;
|
||||||
|
|
||||||
|
// =========================================================
|
||||||
|
// Part 1: Check for Helm staleness
|
||||||
|
// =========================================================
|
||||||
|
double hdg_delta = (current_time - desired_heading.time);
|
||||||
|
if(hdg_delta > tardy_helm_thresh) {
|
||||||
|
string staleness = doubleToStringX(hdg_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale DesHdg:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
double spd_delta = (current_time - desired_speed.time);
|
||||||
|
if(spd_delta > tardy_helm_thresh) {
|
||||||
|
string staleness = doubleToStringX(spd_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale DesSpd:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// =========================================================
|
||||||
|
// Part 2B: Check for Nav staleness
|
||||||
|
// =========================================================
|
||||||
|
double nav_hdg_delta = (current_time - current_heading.time);
|
||||||
|
if(nav_hdg_delta > tardy_nav_thresh) {
|
||||||
|
string staleness = doubleToStringX(nav_hdg_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale NavHdg:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
double nav_spd_delta = (current_time - current_speed.time);
|
||||||
|
if(nav_spd_delta > tardy_nav_thresh) {
|
||||||
|
string staleness = doubleToStringX(nav_spd_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale NavSpd:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
// =========================================================
|
||||||
|
// Part 2C: If depth control, check for Helm Depth staleness
|
||||||
|
// =========================================================
|
||||||
|
if(has_depthCtrl) {
|
||||||
|
double dep_delta = (current_time - desired_depth.time);
|
||||||
|
if(dep_delta > tardy_helm_thresh) {
|
||||||
|
string staleness = doubleToStringX(dep_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale DesDepth:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// =========================================================
|
||||||
|
// Part 2D: If depth control, check for Nav Depth staleness
|
||||||
|
// =========================================================
|
||||||
|
if(has_depthCtrl) {
|
||||||
|
double nav_dep_delta = (current_time - current_depth.time);
|
||||||
|
if(nav_dep_delta > tardy_nav_thresh) {
|
||||||
|
string staleness = doubleToStringX(nav_dep_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale NavDep:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
double nav_pit_delta = (current_time - current_pitch.time);
|
||||||
|
if(nav_pit_delta > tardy_nav_thresh) {
|
||||||
|
string staleness = doubleToStringX(nav_pit_delta,3);
|
||||||
|
addPosting("PID_STALE", "Stale NavPitch:" + staleness);
|
||||||
|
is_stale = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return(is_stale);
|
||||||
|
}
|
||||||
|
|
||||||
|
// bool Controler::setLimit(double max_thrush, double min_thrush, double max_rudder, double min_rubber, double max_elevator, double min_elevator)
|
||||||
|
// {
|
||||||
|
// limit_thrust[0] = min_thrush;
|
||||||
|
// limit_thrust[1] = max_thrush;
|
||||||
|
|
||||||
|
// limit_rudder[0] = min_rubber;
|
||||||
|
// limit_rudder[1] = max_rudder;
|
||||||
|
|
||||||
|
// limit_elevator[0] = min_elevator;
|
||||||
|
// limit_elevator[1] = max_elevator;
|
||||||
|
// }
|
||||||
|
|
||||||
|
bool Controler::Limit(double &a, double max, double min)
|
||||||
|
{
|
||||||
|
a = (a < min) ? min : a;
|
||||||
|
a = (a > max) ? max : a;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Controler::setCtrl(bool speed, bool heading, bool depth)
|
||||||
|
{
|
||||||
|
has_speedCtrl = speed;
|
||||||
|
has_headCtrl = heading;
|
||||||
|
has_depthCtrl = depth;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controler::addPosting(std::string var, std::string sval)
|
||||||
|
{
|
||||||
|
VarDataPair pair(var, sval);
|
||||||
|
postings.push_back(pair);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controler::addPosting(std::string var, double val)
|
||||||
|
{
|
||||||
|
VarDataPair pair(var, val);
|
||||||
|
postings.push_back(pair);
|
||||||
|
}
|
||||||
|
|
||||||
|
double Controler::getFrequency() const
|
||||||
|
{
|
||||||
|
double elapsed = current_time - start_time;
|
||||||
|
|
||||||
|
double frequency = 0;
|
||||||
|
if(elapsed > 0)
|
||||||
|
frequency = ((double)(iterations)) / elapsed;
|
||||||
|
|
||||||
|
return(frequency);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Controler::ClearValTim(vlaTim &a)
|
||||||
|
{
|
||||||
|
if(&a == NULL)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
a.value = 0;
|
||||||
|
a.time = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//TODO: 控制器参数配置函数
|
||||||
|
list<std::string> Controler::setConfigParams(std::list<std::string>)
|
||||||
|
{
|
||||||
|
list<string> unhandled_params;
|
||||||
|
list<string>::iterator p;
|
||||||
|
// for(p=param_lines.begin(); p!=param_lines.end(); p++) {
|
||||||
|
// string orig = *p;
|
||||||
|
// string line = tolower(orig);
|
||||||
|
// string param = biteStringX(line, '=');
|
||||||
|
// if(param == "speed_factor")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "simulation")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "sim_instability")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "tardy_helm_threshold")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "tardy_nav_threshold")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "yaw_pid_kp")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "yaw_pid_kd")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "yaw_pid_ki")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "yaw_pid_integral_limit")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "yaw_pid_ki_limit")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "maxrudder")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "heading_debug")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
|
||||||
|
// else if(param == "speed_pid_kp")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "speed_pid_kd")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "speed_pid_ki")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "speed_pid_integral_limit")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "maxthrust")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "speed_debug")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
|
||||||
|
// else if(param == "depth_control")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "z_to_pitch_pid_kp")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "z_to_pitch_pid_kd")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "z_to_pitch_pid_ki")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "z_to_pitch_pid_integral_limit")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "maxpitch")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "depth_debug")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
|
||||||
|
// else if(param == "pitch_pid_kp")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "pitch_pid_kd")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "pitch_pid_ki")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "pitch_pid_integral_limit")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
// else if(param == "maxelevator")
|
||||||
|
// m_config_params.push_front(orig);
|
||||||
|
|
||||||
|
// else
|
||||||
|
// unhandled_params.push_front(orig);
|
||||||
|
// }
|
||||||
|
return(unhandled_params);
|
||||||
|
}
|
||||||
|
|
||||||
|
Json::Value Controler::getConfig(string path)
|
||||||
|
{
|
||||||
|
ifstream ifs;
|
||||||
|
ifs.open(path, ios::in);
|
||||||
|
Json::Reader taskConfigureReader;
|
||||||
|
Json::Value inputJsonValue;
|
||||||
|
taskConfigureReader.parse(ifs, inputJsonValue);
|
||||||
|
ifs.close();
|
||||||
|
return inputJsonValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controler::setCheakStalensee(string s)
|
||||||
|
{
|
||||||
|
if(s == "true")
|
||||||
|
cheakStalensee = true;
|
||||||
|
else
|
||||||
|
cheakStalensee = false;
|
||||||
|
}
|
||||||
155
src/pMotionControler/Controler.hpp
Normal file
155
src/pMotionControler/Controler.hpp
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-16 14:05:16
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-02 14:31:16
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pMotionControler/Controler.hpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#ifndef __COBTROLLER_H
|
||||||
|
#define __CONTROLLER_H
|
||||||
|
#include<iostream>
|
||||||
|
#include<vector>
|
||||||
|
#include "VarDataPair.h"
|
||||||
|
#include "MBUtils.h"
|
||||||
|
#include "AngleUtils.h"
|
||||||
|
#include <list>
|
||||||
|
#include "json/json.h"
|
||||||
|
#include <fstream>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
// #include "VarDataPair.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
double value;
|
||||||
|
double time;
|
||||||
|
} vlaTim;
|
||||||
|
|
||||||
|
class Controler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Controler();
|
||||||
|
~Controler(){};
|
||||||
|
|
||||||
|
virtual int step(){return 0;}
|
||||||
|
virtual bool setConfigParams(){return false;}
|
||||||
|
virtual bool overrived(string sval);
|
||||||
|
|
||||||
|
virtual bool handleYawSettings(){return false;}
|
||||||
|
virtual bool handleSpeedSettings(){return false;};
|
||||||
|
virtual bool handleDepthSettings(){return false;};
|
||||||
|
virtual bool hasConfigSettings() const{return false;};
|
||||||
|
// bool setError(double err);
|
||||||
|
|
||||||
|
bool setDesSpeed(double spd, double tim);
|
||||||
|
bool setDesDepth(double dph, double tim);
|
||||||
|
bool setDesPitch(double pth, double tim);
|
||||||
|
bool setDesHeading(double hdg, double tim);
|
||||||
|
|
||||||
|
bool setCurSpeed(double spd, double tim);
|
||||||
|
bool setCurDepth(double dph, double tim);
|
||||||
|
bool setCurPitch(double pth, double tim);
|
||||||
|
bool setCurHeading(double hdg, double tim);
|
||||||
|
// bool setCurTime(double tim){current_time = tim;}
|
||||||
|
void updateTime(double tim){current_time = tim;}
|
||||||
|
double getCurTime(){return current_time;}
|
||||||
|
void setStartTime(double tim){start_time = tim;}
|
||||||
|
void setOverride(bool v){has_override = v;}
|
||||||
|
void setTardyHelm(double t){ tardy_helm_thresh = t;}
|
||||||
|
void setTardyNav(double t){ tardy_nav_thresh = t;}
|
||||||
|
void setCheakStalensee(string s);
|
||||||
|
void setConstThrust(double v){const_thrust = v;}
|
||||||
|
void setDeadZone(double v){dead_zone=v;}
|
||||||
|
void setDepthControl(bool v){has_depthCtrl=v;}
|
||||||
|
void setSpeedControl(bool v){has_speedCtrl=v;}
|
||||||
|
void setHeadingControl(bool v){has_headCtrl=v;}
|
||||||
|
bool setDesiredValues();
|
||||||
|
|
||||||
|
// bool setLimit(double max_thrush, double min_thrush, double max_rudder, double min_rubber, double max_elevator, double min_elevator);
|
||||||
|
bool setCtrl(bool speed, bool heading, bool depth);
|
||||||
|
bool Limit(double &a, double max, double min);
|
||||||
|
|
||||||
|
bool checkForStaleness();
|
||||||
|
void addPosting(std::string var, std::string sval);
|
||||||
|
void addPosting(std::string var, double val);
|
||||||
|
vector<VarDataPair> getPostings() {return(postings);}
|
||||||
|
void clearPostings() {postings.clear();}
|
||||||
|
bool ClearValTim(vlaTim &a);
|
||||||
|
list<std::string> setConfigParams(std::list<std::string>); //使用MOOS风格配置参数函数
|
||||||
|
Json::Value getConfig(string path);
|
||||||
|
|
||||||
|
double getFrequency() const;
|
||||||
|
bool hasControl(){return(!has_override);}
|
||||||
|
bool hasSpdCtrl(){return has_speedCtrl;}
|
||||||
|
bool hasDphCtrl(){return has_depthCtrl;}
|
||||||
|
bool hasHdgCtrl(){return has_headCtrl;}
|
||||||
|
|
||||||
|
double getDesiredRudder() const {return(desired_rudder.value);}
|
||||||
|
double getDesiredThrust() const {return(desired_thrust.value);}
|
||||||
|
double getDesiredElevator() const {return(desired_elevator.value);}
|
||||||
|
// bool setErrorCap(int c){Error_capacity = c;}
|
||||||
|
|
||||||
|
inline void initVariable();
|
||||||
|
list<string> getConfigParams(){return config_params;}
|
||||||
|
vector<string> getConfigErrors(){return config_errors;}
|
||||||
|
vector<string> getConfigInfo(){return config_info;}
|
||||||
|
vector<string> getRunMsg(){return runMsg;}
|
||||||
|
Json::Value getReport(){return RepList;}
|
||||||
|
void ClearRunMsg(){runMsg.clear();}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
vlaTim desired_speed;
|
||||||
|
vlaTim desired_heading;
|
||||||
|
vlaTim desired_depth;
|
||||||
|
vlaTim desired_pitch;
|
||||||
|
|
||||||
|
vlaTim current_speed;
|
||||||
|
vlaTim current_heading;
|
||||||
|
vlaTim current_pitch;
|
||||||
|
vlaTim current_depth;
|
||||||
|
double current_time;
|
||||||
|
double start_time;
|
||||||
|
|
||||||
|
vlaTim desired_thrust;
|
||||||
|
vlaTim desired_rudder;
|
||||||
|
vlaTim desired_elevator;
|
||||||
|
|
||||||
|
double limit_thrust[2];
|
||||||
|
double limit_rudder[2];
|
||||||
|
double limit_elevator[2];
|
||||||
|
double max_rudder;
|
||||||
|
double max_thrust;
|
||||||
|
double max_pitch;
|
||||||
|
double max_elevator;
|
||||||
|
|
||||||
|
bool has_speedCtrl = true;
|
||||||
|
bool has_headCtrl = true;
|
||||||
|
bool has_depthCtrl = true;
|
||||||
|
bool has_override = true;
|
||||||
|
bool cheakStalensee = true;
|
||||||
|
|
||||||
|
vector<VarDataPair> postings;
|
||||||
|
unsigned int iterations;
|
||||||
|
|
||||||
|
double tardy_helm_thresh;
|
||||||
|
double tardy_nav_thresh;
|
||||||
|
double const_thrust;
|
||||||
|
double dead_zone;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
double is_rad = false;
|
||||||
|
|
||||||
|
list<string> config_params;
|
||||||
|
vector<string> config_errors;
|
||||||
|
vector<string> config_info;
|
||||||
|
vector<string> runMsg;
|
||||||
|
Json::Value RepList;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
242
src/pMotionControler/MotionControler.cpp
Normal file
242
src/pMotionControler/MotionControler.cpp
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-12 09:52:27
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-07 12:01:57
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pMotionControler/MotionControler.cpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
// #define DEBUG
|
||||||
|
#include"MotionControler.hpp"
|
||||||
|
//TODO:增加启用哪个控制器功能
|
||||||
|
bool MotionControler::OnNewMail(MOOSMSG_LIST &NewMail)
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::OnNewMail(NewMail);
|
||||||
|
MOOSMSG_LIST::iterator p;
|
||||||
|
for(p=NewMail.begin(); p!=NewMail.end(); p++)
|
||||||
|
{
|
||||||
|
CMOOSMsg &msg = *p;
|
||||||
|
|
||||||
|
string key = msg.m_sKey;
|
||||||
|
string sval = msg.m_sVal;
|
||||||
|
double dval = msg.m_dfVal;
|
||||||
|
double dfT;
|
||||||
|
msg.IsSkewed(m_curr_time, &dfT);
|
||||||
|
if(fabs(dfT) < ok_skew)
|
||||||
|
{
|
||||||
|
if((key == "MOOS_MANUAL_OVERIDE") || (key == "MOOS_MANUAL_OVERRIDE"))
|
||||||
|
pengine.overrived(sval);
|
||||||
|
else if(key == "DESIRED_HEADING")
|
||||||
|
pengine.setDesHeading(dval, MOOSTime());
|
||||||
|
else if(key == "DESIRED_SPEED")
|
||||||
|
pengine.setDesSpeed(dval, MOOSTime());
|
||||||
|
else if(key == "DESIRED_DEPTH")
|
||||||
|
pengine.setDesDepth(dval, MOOSTime());
|
||||||
|
else if(key == "NAV_HEADING")
|
||||||
|
pengine.setCurHeading(angle360(dval), MOOSTime());
|
||||||
|
else if(key == "NAV_SPEED")
|
||||||
|
pengine.setCurSpeed(dval, MOOSTime());
|
||||||
|
else if(key == "NAV_DEPTH")
|
||||||
|
pengine.setCurDepth(dval, MOOSTime());
|
||||||
|
else if(key == "NAV_PITCH")
|
||||||
|
pengine.setCurPitch(dval, MOOSTime());
|
||||||
|
else if(key == MSG_ReadConfig) //重新读取配置参数可以清除故障码
|
||||||
|
{
|
||||||
|
int e = pengine.setParam(configFilePath);
|
||||||
|
pengine.setOverride(true);
|
||||||
|
if(e != 0)
|
||||||
|
faultCode = 10 + e;
|
||||||
|
else
|
||||||
|
faultCode = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool MotionControler::Iterate()
|
||||||
|
{
|
||||||
|
bool a;
|
||||||
|
AppCastingMOOSApp::Iterate();
|
||||||
|
pengine.updateTime(m_curr_time);
|
||||||
|
int i = pengine.step();
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
RepList["State : "] = "Run";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
RepList["State : "] = "Ready";
|
||||||
|
break;
|
||||||
|
case -1:
|
||||||
|
RepList["State : "] = "Fault";
|
||||||
|
faultCode = 1;//信息超时
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
postPengineResults();
|
||||||
|
postPenginePostings();
|
||||||
|
postCharStatus();
|
||||||
|
Notify(MSG_FALUT,faultCode);
|
||||||
|
AppCastingMOOSApp::PostReport();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool MotionControler::OnConnectToServer()
|
||||||
|
{
|
||||||
|
registerVariables();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool MotionControler::OnStartUp()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::OnStartUp();
|
||||||
|
pengine.setStartTime(MOOSTime());
|
||||||
|
STRING_LIST sParams;
|
||||||
|
m_MissionReader.GetConfiguration(GetAppName(), sParams);
|
||||||
|
//pengine.setConfigParams(sParams);
|
||||||
|
//bool handled = true;
|
||||||
|
STRING_LIST::iterator p;
|
||||||
|
for(p=sParams.begin(); p!=sParams.end(); p++) {
|
||||||
|
string orig = *p;
|
||||||
|
string line = (orig); //识别大小写
|
||||||
|
string param = biteStringX(line, '=');
|
||||||
|
string value = line;
|
||||||
|
double dval = atof(value.c_str());
|
||||||
|
if(param == "config_file")
|
||||||
|
configFilePath = value;
|
||||||
|
else if(param == "tardy_helm_thresh")
|
||||||
|
pengine.setTardyHelm(dval);
|
||||||
|
else if(param == "tardy_nav_thresh")
|
||||||
|
pengine.setTardyNav(dval);
|
||||||
|
else if(param == "cheak_stalensee")
|
||||||
|
pengine.setCheakStalensee(value);
|
||||||
|
else if(param == "AppTick")
|
||||||
|
setFrequency = dval;
|
||||||
|
else if(param == "delta_freqency")
|
||||||
|
frequency_delta = dval;
|
||||||
|
else
|
||||||
|
reportUnhandledConfigWarning(orig);
|
||||||
|
}
|
||||||
|
int e = pengine.setParam(configFilePath);
|
||||||
|
if(e != 0)
|
||||||
|
{
|
||||||
|
faultCode = 10 + e;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MotionControler::registerVariables()
|
||||||
|
{
|
||||||
|
AppCastingMOOSApp::RegisterVariables();
|
||||||
|
|
||||||
|
Register("NAV_HEADING", 0);
|
||||||
|
Register("NAV_SPEED", 0);
|
||||||
|
Register("NAV_DEPTH", 0);
|
||||||
|
Register("NAV_PITCH", 0);
|
||||||
|
Register("DESIRED_HEADING", 0);
|
||||||
|
Register("DESIRED_SPEED", 0);
|
||||||
|
Register("DESIRED_DEPTH", 0);
|
||||||
|
Register("PID_VERBOSE", 0);
|
||||||
|
Register("SPEED_FACTOR", 0);
|
||||||
|
Register("MOOS_MANUAL_OVERIDE", 0);
|
||||||
|
Register("MOOS_MANUAL_OVERRIDE", 0);
|
||||||
|
Register(MSG_ReadConfig,0);
|
||||||
|
}
|
||||||
|
bool MotionControler::buildReport()
|
||||||
|
{
|
||||||
|
double frequency = pengine.getFrequency();
|
||||||
|
double delta_freq = 100.0*(setFrequency - frequency) / setFrequency;
|
||||||
|
if(abs(delta_freq) > frequency_delta)
|
||||||
|
faultCode = 2;
|
||||||
|
|
||||||
|
m_msgs << "Frequency Delta : " << frequency << endl;
|
||||||
|
m_msgs << "PID has_control : " << boolToString(pengine.hasControl()) << endl;
|
||||||
|
m_msgs << "Config File Path : " << configFilePath << endl;
|
||||||
|
m_msgs << "S : H : D : | " << intToString(pengine.hasSpdCtrl())+ " | "
|
||||||
|
<< intToString(pengine.hasHdgCtrl())+" | "
|
||||||
|
<< intToString(pengine.hasDphCtrl())+" |" << endl;
|
||||||
|
|
||||||
|
RepList["to BS"] = colVar;
|
||||||
|
RepList["PID"] = pengine.getReport()["W"];
|
||||||
|
string rep = Json::writeString(RepJsBuilder, RepList);
|
||||||
|
m_msgs << rep << endl;
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MotionControler::postPenginePostings()
|
||||||
|
{
|
||||||
|
vector<VarDataPair> m_postings = pengine.getPostings();
|
||||||
|
for(unsigned int i=0; i<m_postings.size(); i++)
|
||||||
|
{
|
||||||
|
VarDataPair pair = m_postings[i];
|
||||||
|
string var = pair.get_var();
|
||||||
|
if(pair.is_string() && pair.get_sdata_set())
|
||||||
|
Notify(var, pair.get_sdata());
|
||||||
|
else if(!pair.is_string() && pair.get_ddata_set())
|
||||||
|
Notify(var, pair.get_ddata());
|
||||||
|
}
|
||||||
|
pengine.clearPostings();
|
||||||
|
}
|
||||||
|
void MotionControler::postPengineResults()
|
||||||
|
{
|
||||||
|
bool all_stop = true;
|
||||||
|
if(pengine.hasControl())
|
||||||
|
all_stop = false;
|
||||||
|
|
||||||
|
if(all_stop)
|
||||||
|
{
|
||||||
|
if(allstop_posted)
|
||||||
|
return;
|
||||||
|
Notify("DESIRED_RUDDER", 0.0);
|
||||||
|
Notify("DESIRED_THRUST", 0.0);
|
||||||
|
// if(pengine.hasDphCtrl())
|
||||||
|
Notify("DESIRED_ELEVATOR", 0.0);
|
||||||
|
postColVarToBS(0,0,0);
|
||||||
|
allstop_posted = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int T=0,S=0,R=0;
|
||||||
|
if(pengine.hasHdgCtrl())
|
||||||
|
{
|
||||||
|
Notify("DESIRED_RUDDER", pengine.getDesiredRudder());
|
||||||
|
R = (int)pengine.getDesiredRudder();
|
||||||
|
}
|
||||||
|
if(pengine.hasSpdCtrl())
|
||||||
|
{
|
||||||
|
Notify("DESIRED_THRUST", pengine.getDesiredThrust());
|
||||||
|
T = (int)pengine.getDesiredThrust();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(pengine.hasDphCtrl())
|
||||||
|
{
|
||||||
|
Notify("DESIRED_ELEVATOR", pengine.getDesiredElevator());
|
||||||
|
S = pengine.getDesiredElevator();
|
||||||
|
}
|
||||||
|
postColVarToBS(T,S,R);
|
||||||
|
allstop_posted = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void MotionControler::postCharStatus()
|
||||||
|
{
|
||||||
|
if(!verbose)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(pengine.hasControl())
|
||||||
|
cout << "$" << flush;
|
||||||
|
else
|
||||||
|
cout << "*" << flush;
|
||||||
|
}
|
||||||
|
void MotionControler::postColVarToBS(int T, int S, int R)
|
||||||
|
{
|
||||||
|
string s_msg;
|
||||||
|
colVar["mode"] = 2;
|
||||||
|
colVar["thrust"] = T;
|
||||||
|
colVar["rudder"] = R;
|
||||||
|
colVar["elevator"] = S;
|
||||||
|
s_msg = Json::writeString(RepJsBuilder,colVar);
|
||||||
|
Notify(MSG_TO_BS, s_msg);
|
||||||
|
}
|
||||||
66
src/pMotionControler/MotionControler.hpp
Normal file
66
src/pMotionControler/MotionControler.hpp
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zjk 1553836110@qq.com
|
||||||
|
* @Date: 2023-10-12 15:57:27
|
||||||
|
* @LastEditors: zjk 1553836110@qq.com
|
||||||
|
* @LastEditTime: 2023-11-07 11:33:04
|
||||||
|
* @FilePath: /moos-ivp-pi/src/pMotionControler/MotionControler.hpp
|
||||||
|
* @Description:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
||||||
|
*/
|
||||||
|
#ifndef TESTAPP
|
||||||
|
#define TESEAPP
|
||||||
|
#include"MOOS/libMOOS/Thirdparty/AppCasting/AppCastingMOOSApp.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include"pidControl.hpp"
|
||||||
|
#include<vector>
|
||||||
|
// #include"MOOS/libMOOS/Comms/XPCUdpSocket.h"
|
||||||
|
using namespace std;
|
||||||
|
class MotionControler : public AppCastingMOOSApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MotionControler(){};
|
||||||
|
~MotionControler(){};
|
||||||
|
bool OnNewMail(MOOSMSG_LIST &NewMail);
|
||||||
|
bool Iterate();
|
||||||
|
bool OnConnectToServer();
|
||||||
|
bool OnStartUp();
|
||||||
|
void registerVariables();
|
||||||
|
bool buildReport();
|
||||||
|
|
||||||
|
void postPenginePostings();
|
||||||
|
void postPengineResults();
|
||||||
|
void postColVarToBS(int T, int S, int R);
|
||||||
|
void postCharStatus();
|
||||||
|
|
||||||
|
const string MSG_FALUT = "uMotion_fault_fb";
|
||||||
|
const string MSG_ReadConfig = "uMotion_config_cmd";
|
||||||
|
const string MSG_TO_BS = "uMotion_control_cmd";
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool ignore_nav_yaw;
|
||||||
|
bool allstop_posted;
|
||||||
|
bool verbose;
|
||||||
|
bool override;
|
||||||
|
double ok_skew = 2;
|
||||||
|
int faultCode = 0;
|
||||||
|
double setFrequency;
|
||||||
|
double frequency_delta;
|
||||||
|
|
||||||
|
Json::Value RepList;
|
||||||
|
Json::StreamWriterBuilder RepJsBuilder;
|
||||||
|
Json::Value colVar;
|
||||||
|
|
||||||
|
pidControl pengine;
|
||||||
|
string configFilePath;
|
||||||
|
int e;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//1.读取参数配置错误 faultCode = 10~
|
||||||
|
//2.信息过时错误 faultCode=1
|
||||||
|
//3.频率相差过大错误 faultCode=2
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user