LingxinMeng hai 6 meses
pai
achega
958b0f496c

+ 1 - 0
src/python2/pjibot/callback-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
+rm -rf log/callback-pjibot_guide.out log/callback-pjibot_guide.log log/callback.log log/callback.out
 nohup python2 callback-pjibot_guide.py > log/callback-pjibot_guide.out 2>&1 &

+ 0 - 7
src/python2/pjibot/callback-pjibot_guide.py

@@ -53,23 +53,16 @@ if __name__ == '__main__':
 
                         done1 = False
                         done2 = False
-                        # done3 = False
-                        # done4 = False
                         done5 = False
                         done6 = False
                         done7 = False
                         done8 = False
                         done9 = False
-                        # print '检测是否文件完整:', prefix
                         for obj2 in oss2.ObjectIterator(bucket, prefix=prefix):
                             if '/EgoState_pji.csv' in str(obj2.key):
                                 done1 = True
                             if '/build_map.bag' in str(obj2.key):
                                 done2 = True
-                            # if '/camera.mp4' in str(obj2.key):
-                            #     done3 = True
-                            # if '/camera2.mp4' in str(obj2.key):
-                            #     done4 = True
                             if '/costmap.bag' in str(obj2.key):
                                 done5 = True
                             if '/map.bag' in str(obj2.key):

+ 11 - 1
src/python2/pjibot/camera-errorBag.json

@@ -48,5 +48,15 @@
     "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-10-53-53_obstacledetection_44/", 
     "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-14-36-20_obstacledetection_30/", 
     "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-14-37-08_obstacledetection_3/", 
-    "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-16-02-26_obstacledetection_30/"
+    "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-16-02-26_obstacledetection_30/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/"
 ]

+ 10 - 1
src/python2/pjibot/csv-errorBag.json

@@ -69,5 +69,14 @@
     "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-14-17-59-21_obstacledetection_30/", 
     "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-10-36-14_obstacledetection_30/", 
     "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-10-53-53_obstacledetection_44/", 
-    "pjibot/pjibot-P1YNYD1M223000101/data_parse/2024-11-15-16-02-26_obstacledetection_30/"
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/"
 ]

+ 1 - 0
src/python2/pjibot/csv-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
+rm -rf log/csv-pjibot_guide.out log/csv-pjibot_guide.log log/csv.log log/csv.out
 nohup python2 csv-pjibot_guide.py > log/csv-pjibot_guide.out 2>&1 &

+ 22 - 6
src/python2/pjibot/csv-pjibot_guide.py

@@ -3,6 +3,7 @@ import os
 import time
 import oss2
 import json
+import subprocess
 
 from resource import bagtocsv_rebot
 
@@ -18,7 +19,7 @@ logging.basicConfig(filename=path1 + 'log/csv-pjibot_guide.log', level=logging.I
                     format='%(asctime)s - %(levelname)s - %(message)s')
 
 key1 = 'pjibot/'
-sleep_time = 30  # 每多少秒扫描一次
+sleep_time = 10  # 每多少秒扫描一次
 error_bag_json = "/mnt/disk001/dcl_data_process/src/python2/pjibot/csv-errorBag.json"
 def parse_json_to_string_array(file_path):
     try:
@@ -95,9 +96,21 @@ def parse_csv(costmap_bag, data_bag, parse_prefix, local_parse_dir, local_delete
 
         # 根据 merged_obstacles 和 机器人指定的pgm文件 生成新的 merged_obstacles 文件
         os.chdir(path3)
-        command2 = 'python3 ' + path4 + ' ' + pgm_path + ' ' + local_csv_file_path3
-        logging.info("调用命令 merged_obstacles_new.csv 生成命令: %s" % str(command2))
-        os.system(command2)
+
+        # 构建命令
+        command2 = "python2 {} {} {}".format(path4, pgm_path, local_csv_file_path3)
+        logging.info("调用命令 merged_obstacles_new.csv 生成命令: %s", command2)
+
+        try:
+            # 使用 Popen 执行命令并捕获输出
+            process = subprocess.Popen(command2, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+            stdout, stderr = process.communicate()  # 获取标准输出和错误输出
+            if process.returncode == 0:
+                logging.info("命令输出: %s", stdout)
+            else:
+                logging.error("命令执行失败,错误信息: %s", stderr)
+        except Exception as e:
+            logging.error("执行命令时出现异常: %s", str(e))
         time.sleep(2)
         bucket.put_object_from_file(oss_csv_object_key3.replace('merged_obstacles', 'merged_obstacles_new'),
                                     local_csv_file_path3)  # 因为生成的文件是同名覆盖的
@@ -139,6 +152,7 @@ if __name__ == '__main__':
                     csv1_done = False
                     csv2_done = False
                     csv3_done = False
+                    pdf_done = False
                     for obj2 in oss2.ObjectIterator(bucket, prefix=parse_prefix_full):
                         if '/pos_pji.csv' in str(obj2.key):
                             csv1_done = True
@@ -146,12 +160,14 @@ if __name__ == '__main__':
                             csv2_done = True
                         if '/merged_obstacles.csv' in str(obj2.key):
                             csv3_done = True
-                    if csv1_done and csv2_done and csv3_done:
+                        if '/report.pdf' in str(obj2.key):
+                            pdf_done = True
+                    if csv1_done and csv2_done and csv3_done and pdf_done:
                         continue
                     error_bag_list = parse_json_to_string_array(error_bag_json)
                     if parse_prefix_full in error_bag_list:
                         continue
-                    logging.info("开始生成场景还原csv: %s" % str(obj1.key))
+                    logging.info("开始解析csv并生成评价报告: %s" % str(obj1.key))
                     local_merged_bag_path = path1 + 'camera/' + merged_bag_object_key
                     local_merged_dir = '/'.join(local_merged_bag_path.split('/')[:-1])
                     local_parse_dir = local_merged_dir.replace('data_merge', 'data_parse')

+ 11 - 1
src/python2/pjibot/pcd-errorBag.json

@@ -1,5 +1,15 @@
 [
     "pjibot/pjibot-P1YNYD1M227000116/data_parse/2024-11-07-16-39-17_obstacledetection_30/", 
     "pjibot/pjibot-P1YNYD1M229000131/data_parse/2024-11-11-02-40-36_obstacledetection_30/", 
-    "pjibot/pjibot-P1YNYD1M229000131/data_parse/2024-11-11-02-45-56_obstacledetection_30/"
+    "pjibot/pjibot-P1YNYD1M229000131/data_parse/2024-11-11-02-45-56_obstacledetection_30/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot/pjibot-P1YNYD1M225000112/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/"
 ]

+ 2 - 1
src/python2/pjibot_delivery/callback-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
-nohup python2 callback-pjibot_delivery.py > log/callback.out 2>&1 &
+rm -rf log/callback-pjibot_delivery.out log/callback.out log/callback-pjibot_delivery.log log/callback.log
+nohup python2 callback-pjibot_delivery.py > log/callback-pjibot_delivery.out 2>&1 &

+ 5 - 5
src/python2/pjibot_delivery/callback-pjibot_delivery.py

@@ -49,7 +49,7 @@ if __name__ == '__main__':
                         file1 = False
                         file2 = False
                         file3 = False
-                        file4 = False
+                        # file4 = False
                         file5 = False
                         file7 = False
                         file8 = False
@@ -61,8 +61,8 @@ if __name__ == '__main__':
                                 file2 = True
                             if '/objects_pji.csv' in str(obj2.key):
                                 file3 = True
-                            if '/pcd_overlook.mp4' in str(obj2.key):
-                                file4 = True
+                            # if '/pcd_overlook.mp4' in str(obj2.key):
+                            #     file4 = True
                             if '/pos_pji.csv' in str(obj2.key):
                                 file5 = True
                             if '/scenario_orig.mp4' in str(obj2.key):
@@ -71,7 +71,7 @@ if __name__ == '__main__':
                                 file8 = True
                             if '/trajectory_pji.csv' in str(obj2.key):
                                 file9 = True
-                        if not file1 or not file2 or not file3 or not file4 or not file5 or not file7 or not file8 or not file9:
+                        if not file1 or not file2 or not file3 or not file5 or not file7 or not file8 or not file9:
                             continue
                         time.sleep(1)
                         logging.info("发送:%s", prefix)
@@ -162,6 +162,6 @@ if __name__ == '__main__':
                         logging.info("回调接口请求结果为: %s", result_object2)
                 except Exception as e:
                     logging.exception("局部异常处理: %s" % str(e))
-            time.sleep(30)
+            time.sleep(10)
         except Exception as e:
             logging.exception("全局错误处理: %s" % str(e))

+ 2 - 1
src/python2/pjibot_delivery/camera-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
-nohup python2 camera-pjibot_delivery.py > log/camera.out 2>&1 &
+rm -rf log/camera-pjibot_delivery.out log/camera.out log/camera-pjibot_delivery.log log/camera.log
+nohup python2 camera-pjibot_delivery.py > log/camera-pjibot_delivery.out 2>&1 &

+ 52 - 1
src/python2/pjibot_delivery/csv-errorBag.json

@@ -108,5 +108,56 @@
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-43/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-10/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-47-05/"
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-47-05/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/2024-10-23-14-10-28_obstacledetection_30/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-31-57/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-32-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-33-17/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-34-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-34-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-35-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-37-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-37-29/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-38-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-43-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-11/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-53-23/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-56-50/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-50-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-54-17/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-55-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-57-57/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-58-52/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-02-11/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-52-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-00-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-05-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-07-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-08-46/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-09-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-10-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-11-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-12-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-15-02/"
 ]

+ 289 - 0
src/python2/pjibot_delivery/pcd-errorBag.json

@@ -0,0 +1,289 @@
+[
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/2024-10-23-14-10-28_obstacledetection_30/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-23-26/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-24-07/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-24-29/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-25-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-26-31/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-27-16/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-28-34/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-29-11/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-29-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-32-12/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-33-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-33-27/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-35-02/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-35-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-36-22/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-37-34/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-38-21/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-38-50/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-43-32/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-44-11/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-44-41/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-45-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-45-50/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-46-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-09-38/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-11-59/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-13-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-14-16/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-15-16/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-15-56/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-16-33/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-17-11/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-17-39/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-18-15/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-19-14/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-21-09/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-22-41/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-24-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-25-26/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-27-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-28-56/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-29-48/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-14-37/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-15-36/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-16-14/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-16-46/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-17-43/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-18-26/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-19-37/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-20-30/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-21-44/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-22-34/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-32-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-34-43/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-44-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-45-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-46-03/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-46-40/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-47-16/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-47-55/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-48-25/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-49-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-50-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-51-26/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-52-46/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-54-12/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-55-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-00-26/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-01-26/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-02-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-03-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-04-06/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-04-43/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-05-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-14/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-59/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-26-54/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-27-39/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-28-17/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-30-32/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-33-35/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-35-15/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-36-31/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-53-24/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-09-52-53/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-06-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-09-05/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-11-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-12-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-33-53/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-34-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-37-46/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-40-05/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-42-33/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-43-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-16-05-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-14/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-20/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-26-54/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-27-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-28-17/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-30-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-33-35/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-35-15/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-36-31/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-53-24/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-26-31/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-29-07/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-31-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-36-33/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-37-51/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-39-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-45-05/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-46-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-48-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前倾10°_2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前方障碍物穿梭2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前方障碍物遮挡2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩右偏斜30°_2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩右偏移15cm_2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩左偏移30°_2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩有电 轮廓遮挡2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩没电 轮廓遮挡2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩没电2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/障碍物跟随2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-33-17/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-34-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-32-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-35-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-34-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-37-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-11/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-31-57/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-37-29/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-38-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-43-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-38-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-53-23/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-56-50/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-55-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-50-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-50-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-54-17/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-57-57/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-54-17/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-02-11/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-02-11/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-52-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-52-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-58-52/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-05-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-58-52/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-00-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-00-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-10-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-09-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-09-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-11-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-11-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-07-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-07-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-08-46/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-08-46/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-12-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-12-44/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-17-47-50/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-17-52-58/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-17-45-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-17-50-25/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-17-51-19/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-17-53-56/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-15-05/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-15-55/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-17-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-17-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-20-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-20-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-22-37/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-22-37/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-23-27/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-24-41/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-23-27/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-25-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-14-18-25-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-15-14-49-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-15-14-50-40/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-15-14-49-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-15-14-51-37/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-15-14-52-29/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-11-15-14-51-37/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M20-BJ-dock-2024-11-14-18-31-39/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M20-BJ-dock-2024-11-14-18-31-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-25-48/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-25-48/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-18-40/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-18-40/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-20-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-20-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-24-03/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-24-03/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-12-24/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-12-24/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-15-01/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-15-01/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-37-20/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-37-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-17-58/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-17-58/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-12-16-46-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-12-16-46-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-09-38/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-09-38/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-15-02/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-15-02/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-21-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-21-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-41-18/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-19-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-13-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-22-34/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-22-34/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-42-27/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-42-27/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-43-31/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-43-31/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-00-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-01-53/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-00-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-12-11-29-38/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-23-22/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-21-24/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-27-01/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-27-01/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-09-55-03/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-09-55-03/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-09-56-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-03-19/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-09-56-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-17-10/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-16-24/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-17-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-16-24/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-21-10/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-21-10/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-21-43/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-21-43/"
+]

+ 2 - 1
src/python2/pjibot_delivery/pcd-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
-nohup python2 pcd-pjibot_delivery.py > log/pcd.out 2>&1 &
+rm -rf log/pcd-pjibot_delivery.out log/pcd.out log/pcd-pjibot_delivery.log log/pcd.log
+nohup python2 pcd-pjibot_delivery.py > log/pcd-pjibot_delivery.out 2>&1 &

+ 66 - 7
src/python2/pjibot_delivery/pcd-pjibot_delivery.py

@@ -1,19 +1,77 @@
 # -*- coding: utf-8 -*-
+import sys
+reload(sys)
+sys.setdefaultencoding("utf-8")
 import os
 import time
 import oss2
+import json
 
 from resource import pcdtovideo_monitor_overlook
 
 import logging
 
 path1 = '/mnt/disk001/dcl_data_process/src/python2/pjibot_delivery/'
-logging.basicConfig(filename=path1 + 'log/pcd.log', level=logging.INFO,
+logging.basicConfig(filename=path1 + 'log/pcd-pjibot_delivery.log', level=logging.INFO,
                     format='%(asctime)s - %(levelname)s - %(message)s')
 
 key1 = 'pjibot_delivery/'
 path1 = '/root/'
-sleep_time = 30  # 每多少秒扫描一次
+sleep_time = 10  # 每多少秒扫描一次
+error_bag_json = "/mnt/disk001/dcl_data_process/src/python2/pjibot_delivery/pcd-errorBag.json"
+
+
+def parse_json_to_string_array(file_path):
+    try:
+        # 打开并读取JSON文件(Python 2中不支持encoding参数,需要使用codecs模块或处理文件读取后的编码)
+        with open(file_path, 'r') as file:
+            # 读取文件内容
+            file_content = file.read()
+            # 解析JSON内容(Python 2中json.loads用于解析字符串)
+            data = json.loads(file_content.decode('utf-8'))  # 假设文件是UTF-8编码,这里需要手动解码
+
+        # 检查数据是否是一个列表,并且列表中的元素是否是字符串
+        if isinstance(data, list):
+            for item in data:
+                if not isinstance(item, basestring):  # Python 2中字符串类型包括str和unicode,用basestring检查
+                    raise ValueError("JSON数组中的元素不是字符串")
+            return data
+        else:
+            return []
+    except Exception as e:
+        return []
+
+
+def list_to_json_file(data, file_path):
+    """
+    将列表转换为JSON格式并写入指定的文件路径。
+    如果文件已存在,则覆盖它。
+
+    参数:
+    data (list): 要转换为JSON的列表。
+    file_path (str): 要写入JSON数据的文件路径。
+    """
+        # 确保所有字符串都是 Unicode 类型
+    def ensure_unicode(obj):
+        if isinstance(obj, dict):
+            return {ensure_unicode(k): ensure_unicode(v) for k, v in obj.items()}
+        elif isinstance(obj, list):
+            return [ensure_unicode(i) for i in obj]
+        elif isinstance(obj, str):  # Python 2 的 `str`
+            return obj.decode('utf-8')  # 解码为 Unicode
+        else:
+            return obj
+
+    # 转换数据
+    data = ensure_unicode(data)
+    # 将列表转换为JSON格式的字符串,并确保输出为UTF-8编码的字符串
+    json_data = json.dumps(data, ensure_ascii=False, indent=4)
+    json_data_utf8 = json_data.encode('utf-8')  # 编码为UTF-8
+
+    # 以二进制写入模式打开文件
+    with open(file_path, 'wb') as file:  # 使用 'wb' 模式
+        # 将UTF-8编码的JSON字符串写入文件
+        file.write(json_data_utf8)
 
 
 def parse_to_pcd_mp4(merged_bag_file_path, parse_prefix2, local_parse_dir, local_delete_list):
@@ -26,6 +84,9 @@ def parse_to_pcd_mp4(merged_bag_file_path, parse_prefix2, local_parse_dir, local
         bucket.put_object_from_file(oss_csv_object_key3, str(local_pcd_mp4_dir) + '/' + pcd_mp4_file_name + '.mp4')
         logging.info("上传点云视频到: %s", oss_csv_object_key3)
     except Exception as e:
+        error_bag_list = parse_json_to_string_array(error_bag_json)
+        error_bag_list.append(parse_prefix2)
+        list_to_json_file(error_bag_list, error_bag_json)
         logging.exception("生成点云视频报错: %s" % str(e))
 
 
@@ -59,16 +120,14 @@ if __name__ == '__main__':
                         parse_prefix = merged_prefix.replace('data_merge', 'data_parse')
                         parse_prefix_full = merged_bag_object_key.replace('data_merge', 'data_parse')[:-4] + '/'
                         pcd_done = False
-                        callback_done = False
                         for obj2 in oss2.ObjectIterator(bucket, prefix=parse_prefix_full):
-                            if '/callback.json' in str(obj2.key):
-                                callback_done = True
                             if '/pcd_overlook.mp4' in str(obj2.key):
                                 pcd_done = True
-                        if not callback_done:
-                            continue
                         if pcd_done:
                             continue
+                        error_bag_list = parse_json_to_string_array(error_bag_json)
+                        if str(parse_prefix_full) in error_bag_list:
+                            continue
                         logging.info("%s 需要生成点云视频 pcd_overlook.mp4" % str(parse_prefix_full))
                         local_merged_bag_path = path1 + 'pcd/' + merged_bag_object_key
                         local_merged_dir = '/'.join(local_merged_bag_path.split('/')[:-1])

+ 2 - 1
src/python2/pjibot_delivery/simulation-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
-nohup python2 simulation-pjibot_delivery.py > log/simulation.out 2>&1 &
+rm -rf log/simulation-pjibot_delivery.out log/simulation.out log/simulation-pjibot_delivery.log log/simulation.log
+nohup python2 simulation-pjibot_delivery.py > log/simulation-pjibot_delivery.out 2>&1 &

+ 141 - 140
src/python2/pjibot_delivery/xosc-errorBag.json

@@ -1,172 +1,173 @@
 [
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-17-06/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-18-01/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-21-42/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-14/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-59/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-23-55/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-20/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-43/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-26-54/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-27-39/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-28-17/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-00/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-30-32/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-31-59/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-32-50/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-33-35/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-35-15/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-36-31/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-10/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-53/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-38-36/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-44-44/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-11-32/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-34-39/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-37-46/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-39-09/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-44-12/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-45-19/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-47-05/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-48-07/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-49-34/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-51-51/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-52-51/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-53-24/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-19-15/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-19-58/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-21-06/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-22-23/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-23-05/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-24-00/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-26-31/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-27-50/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-29-07/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-31-59/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-33-01/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-33-52/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-36-33/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-37-51/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-38-55/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-39-44/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-43-11/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-45-05/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-46-29/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-11-08-16-48-55/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-09-52-53/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-06-42/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-09-05/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-12-43/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-33-53/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-40-05/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-42-33/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-43-45/", 
-    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-16-05-42/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-13-08/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-19-14/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-22-41/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-16-14/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-09-38/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-16-33/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-25-26/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-27-42/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-14-37/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-15-36/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-17-43/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-18-26/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-19-37/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-20-30/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-22-34/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-32-20/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-34-43/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-44-45/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-46-03/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-46-40/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-47-16/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-47-55/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-48-25/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-50-00/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-52-46/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-54-12/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-55-20/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-01-26/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-02-28/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-04-43/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-11-59/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-14-16/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-15-16/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-15-56/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-17-11/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-17-39/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-18-15/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-21-09/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-24-08/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-28-56/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-22-17-29-48/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-16-46/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-21-44/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-45-23/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-49-08/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-51-26/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-00-26/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-03-20/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-04-06/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-15-05-51/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-23-26/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-24-07/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-24-29/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-25-51/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-26-31/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-27-16/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-28-34/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-29-11/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-29-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前倾10°_2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前方障碍物穿梭2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前方障碍物遮挡2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩右偏斜30°_2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩右偏移15cm_2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩左偏移30°_2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩有电 轮廓遮挡2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩没电 轮廓遮挡2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩没电2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/障碍物跟随2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/2024-10-23-14-10-28_obstacledetection_30/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/充电桩前方障碍物穿梭2024-09-29-15-32-26/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-32-12/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-33-00/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-33-27/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-35-02/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-35-42/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-36-22/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-37-34/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-38-21/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-38-50/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-43-32/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-44-11/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-44-41/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-45-08/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-45-50/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-10-23-17-46-23/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-17-06/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-18-01/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-21-44/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-47-55/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-10-23-14-54-12/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-21-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-14/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-59/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-23-55/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-43/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-26-54/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-27-39/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-28-17/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-30-32/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-31-59/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-32-50/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-33-35/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-35-15/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-36-31/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-10/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-53/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-38-36/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-39-09/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-44-12/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-44-44/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-45-19/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-48-07/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-49-34/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-51-51/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-52-51/", 
     "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-53-24/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-21-42/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-14/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-20/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-43/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-10/", 
-    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M6-BJ-Perception2024-10-24-15-47-05/"
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-09-52-53/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-06-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-09-05/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-11-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-12-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-33-53/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-34-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-37-46/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-40-05/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-42-33/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-10-43-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Locate-2024-09-29-16-05-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-21-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-14/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-22-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-23-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-20/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-24-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-26-54/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-27-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-28-17/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-29-33/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-30-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-31-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-32-50/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-33-35/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-35-15/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-36-31/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-37-53/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-38-36/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-39-09/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-44-12/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-44-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-45-19/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-51-51/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-52-51/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-Perception2024-10-24-15-53-24/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-31-57/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-32-42/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-33-17/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-34-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-34-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-35-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-37-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-37-29/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-14-17-38-45/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-43-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-11/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-Perception2024-11-15-15-44-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-53-23/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-56-50/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-50-39/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-54-17/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-55-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-57-57/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-58-52/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-02-11/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-15-52-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-00-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-05-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-07-32/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-08-46/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-09-43/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-10-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-11-42/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-movebase-2024-09-29-16-12-44/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M6-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-25-48/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-18-40/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-11-39-55/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-27-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-31-10/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-32-26/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-34-00/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-30-25/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-43-02/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-47-59/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-20-45/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-40-28/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/TS100M36-BJ-dock-2024-09-29-15-45-29/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-24-03/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-12-24/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-15-01/", 
+    "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/VD100M21-BJ-dock-2024-09-26-10-37-20/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-17-58/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-12-16-46-00/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-09-38/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-15-02/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-21-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-13-28/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-19-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-41-18/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-42-27/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-11-22-34/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-14-43-31/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-00-23/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-01-53/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-23-22/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-27-01/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-12-11-29-38/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-14-15-21-24/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-09-55-03/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-09-56-08/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-03-19/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-17-10/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-17-51/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-21-10/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-16-24/", 
+    "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/VD100M21-BJ-movebase-2024-09-20-10-21-43/"
 ]

+ 2 - 1
src/python2/pjibot_delivery/xosc-nohup.sh

@@ -5,4 +5,5 @@ if [ ! -d "./log" ]; then
 else
     echo "Directory './log' already exists."
 fi
-nohup python2 xosc-pjibot_delivery.py > log/xosc.out 2>&1 &
+rm -rf log/xosc-pjibot_delivery.out log/xosc.out log/xosc-pjibot_delivery.log log/xosc.log
+nohup python2 xosc-pjibot_delivery.py > log/xosc-pjibot_delivery.out 2>&1 &

+ 37 - 6
src/python2/pjibot_delivery/xosc-pjibot_delivery.py

@@ -1,9 +1,13 @@
 # -*- coding: utf-8 -*-
+import sys
+reload(sys)
+sys.setdefaultencoding("utf-8")
 import os
 import time
 import oss2
 import logging
 import json
+import subprocess
 
 path1 = '/mnt/disk001/dcl_data_process/src/python2/pjibot_delivery/'
 path2 = '/mnt/disk001/dcl_data_process/src/python3/pjibot_outdoor/'
@@ -12,7 +16,7 @@ logging.basicConfig(filename=path1 + 'log/xosc-pjibot_delivery.log', level=loggi
                     format='%(asctime)s - %(levelname)s - %(message)s')
 
 key1 = 'pjibot_delivery/'
-sleep_time = 30  # 每多少秒扫描一次
+sleep_time = 10  # 每多少秒扫描一次
 error_bag_json = "/mnt/disk001/dcl_data_process/src/python2/pjibot_delivery/xosc-errorBag.json"
 
 
@@ -46,21 +50,48 @@ def list_to_json_file(data, file_path):
     data (list): 要转换为JSON的列表。
     file_path (str): 要写入JSON数据的文件路径。
     """
+        # 确保所有字符串都是 Unicode 类型
+    def ensure_unicode(obj):
+        if isinstance(obj, dict):
+            return {ensure_unicode(k): ensure_unicode(v) for k, v in obj.items()}
+        elif isinstance(obj, list):
+            return [ensure_unicode(i) for i in obj]
+        elif isinstance(obj, str):  # Python 2 的 `str`
+            return obj.decode('utf-8')  # 解码为 Unicode
+        else:
+            return obj
+
+    # 转换数据
+    data = ensure_unicode(data)
     # 将列表转换为JSON格式的字符串,并确保输出为UTF-8编码的字符串
     json_data = json.dumps(data, ensure_ascii=False, indent=4)
     json_data_utf8 = json_data.encode('utf-8')  # 编码为UTF-8
 
-    # 以写入模式打开文件,如果文件已存在则覆盖
-    with open(file_path, 'w') as file:
+    # 以二进制写入模式打开文件
+    with open(file_path, 'wb') as file:  # 使用 'wb' 模式
         # 将UTF-8编码的JSON字符串写入文件
         file.write(json_data_utf8)
 
 def generate_xosc(parse_prefix, local_parse_dir, local_delete_list):
     try:
+        # 进入指定目录
         os.chdir(path2)
-        command2 = 'python3 jiqiren_outdoor.py ' + local_parse_dir[:-1] + ' 0'  # 配送机器人0 巡检机器人1
-        logging.info("进入目录 %s 调用命令2: %s", path2, str(command2))
-        os.system(command2)
+
+        # 构造命令
+        command2 = 'python3 jiqiren_outdoor.py {} 0'.format(local_parse_dir[:-1])  # 配送机器人0 巡检机器人1
+        logging.info("进入目录 %s 调用命令2: %s", path2, command2)
+
+        # 使用 subprocess.Popen 运行命令并捕获输出
+        try:
+            process = subprocess.Popen(command2, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+            stdout, stderr = process.communicate()  # 等待进程执行完成并获取输出
+            if process.returncode == 0:
+                logging.info("命令输出: %s", stdout.decode("utf-8"))
+            else:
+                logging.error("命令执行失败,错误码: %d", process.returncode)
+                logging.error("命令错误输出: %s", stderr.decode("utf-8"))
+        except Exception as e:
+            logging.error("命令执行过程中发生异常: %s", e)
         local_xosc_path2 = local_parse_dir + 'simulation/xosc/openx_outdoor0.xosc'
         bucket.put_object_from_file(parse_prefix + 'scenario.xosc', local_xosc_path2)
         bucket.put_object_from_file(parse_prefix + 'scenario_hmi.xosc', local_xosc_path2)

+ 12 - 9
src/python3/pjibot_outdoor/jiqiren_outdoor.py

@@ -79,17 +79,20 @@ class Batchrun:
             anqing_longitude = 117.1850840
 
             points = [(taiheqiao_latitude, taiheqiao_longitude), (anqing_latitude, anqing_longitude)]
-            cur_latitude = df.loc[(df['latitude'] != 0) & (df['longitude'] != 0), 'latitude'].iloc[0]
-            cur_longitude = df.loc[(df['latitude'] != 0) & (df['longitude'] != 0), 'longitude'].iloc[0]
+            if len(df.loc[(df['latitude'] != 0) & (df['longitude'] != 0), 'latitude']) == 0:
+                nearest_index = 0
+            else:
+                cur_latitude = df.loc[(df['latitude'] != 0) & (df['longitude'] != 0), 'latitude'].iloc[0]
+                cur_longitude = df.loc[(df['latitude'] != 0) & (df['longitude'] != 0), 'longitude'].iloc[0]
 
-            # Calculate distances to each point
-            distances = []
-            for lat, lon in points:
-                distance = np.sqrt((lon - cur_longitude) ** 2 + (lat - cur_latitude) ** 2)
-                distances.append(distance)
+                # Calculate distances to each point
+                distances = []
+                for lat, lon in points:
+                    distance = np.sqrt((lon - cur_longitude) ** 2 + (lat - cur_latitude) ** 2)
+                    distances.append(distance)
 
-            # Find the index of the nearest point
-            nearest_index = np.argmin(distances)
+                # Find the index of the nearest point
+                nearest_index = np.argmin(distances)
 
             return nearest_index