Compare commits

1 Commits

Author SHA1 Message Date
d53da684d0 更新项目文件:清理数据文件并更新代码 2025-12-10 10:05:47 +08:00
16 changed files with 124 additions and 151691 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,318 +0,0 @@
{"text": "仿真环境中有一个名为 'wall' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.0, 49.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall_2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.0, -49.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [49.0, 0.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-49.0, 0.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'law_office_82' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.47, 9.356, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'thrift_shop_83' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.35, 9.356, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'salon_84' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [15.7, 9.356, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'oak_tree_85' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-6.418, 10.37, 0.0, 0.0, -0.0, 0.55]。"}
{"text": "仿真环境中有一个名为 'apartment_86' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.573, 27.565, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'osrf_first_office_87' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.003, 20.15, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'pine_tree_88' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [16.096, 34.82, 0.0, 0.0, -0.0, 2.24546]。"}
{"text": "仿真环境中有一个名为 'pine_tree_89' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [18.7, 29.33, 0.0, 0.0, -0.0, 0.605226]。"}
{"text": "仿真环境中有一个名为 'pine_tree_90' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [22.56, 34.58, 0.0, 0.0, -0.0, 0.34397]。"}
{"text": "仿真环境中有一个名为 'oak_tree_91' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [31.49, 35.89, 0.0, 0.0, 0.0, -3.03]。"}
{"text": "仿真环境中有一个名为 'postbox_92' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.0, 4.33, 0.15, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'fast_food_93' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [28.25, -13.93, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'dumpster_94' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [15.94, -13.63, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'fire_hydrant_95' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [38.5, -4.38, 0.15, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'house_2_125' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.61, -14.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'house_2_126' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-0.59, -26.6, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'pine_tree_127' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -37.0, 0.0, 0.0, -0.0, 0.124132]。"}
{"text": "仿真环境中有一个名为 'pine_tree_128' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-2.0, -37.0, 0.0, 0.0, -0.0, 0.143519]。"}
{"text": "仿真环境中有一个名为 'pine_tree_129' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [3.0, -37.0, 0.0, 0.0, -0.0, 1.74324]。"}
{"text": "仿真环境中有一个名为 'pine_tree_130' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.0, -37.0, 0.0, 0.0, -0.0, 2.04822]。"}
{"text": "仿真环境中有一个名为 'pine_tree_131' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.0, -37.0, 0.0, 0.0, -0.0, 0.035642]。"}
{"text": "仿真环境中有一个名为 'pine_tree_132' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -32.0, 0.0, 0.0, -0.0, 2.69167]。"}
{"text": "仿真环境中有一个名为 'pine_tree_133' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -27.0, 0.0, 0.0, -0.0, 1.45432]。"}
{"text": "仿真环境中有一个名为 'pine_tree_134' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -22.0, 0.0, 0.0, -0.0, 2.10283]。"}
{"text": "仿真环境中有一个名为 'pine_tree_135' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -17.0, 0.0, 0.0, -0.0, 1.33207]。"}
{"text": "仿真环境中有一个名为 'pine_tree_136' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -12.0, 0.0, 0.0, -0.0, 2.93245]。"}
{"text": "仿真环境中有一个名为 'pine_tree_137' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -7.0, 0.0, 0.0, -0.0, 0.63871]。"}
{"text": "仿真环境中有一个名为 'pine_tree_138' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-2.0, -8.0, 0.0, 0.0, -0.0, 0.416833]。"}
{"text": "仿真环境中有一个名为 'pine_tree_139' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [3.0, -8.0, 0.0, 0.0, -0.0, 1.84106]。"}
{"text": "仿真环境中有一个名为 'pine_tree_140' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.0, -8.0, 0.0, 0.0, -0.0, 2.21107]。"}
{"text": "仿真环境中有一个名为 'pine_tree_141' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.0, -8.0, 0.0, 0.0, -0.0, 0.145852]。"}
{"text": "仿真环境中有一个名为 'pine_tree_142' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [18.0, -8.0, 0.0, 0.0, -0.0, 2.31415]。"}
{"text": "仿真环境中有一个名为 'post_office_143' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-26.686, 11.119, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'postbox_144' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.58, 4.33, 0.15, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'pine_tree_145' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-30.709, 7.15, 0.0, 0.0, -0.0, 2.2424]。"}
{"text": "仿真环境中有一个名为 'house_1_146' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-27.49, 25.344, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'pickup_147' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-36.72, 21.02, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'oak_tree_148' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.811, 11.78, 0.0, 0.0, -0.0, 0.55]。"}
{"text": "仿真环境中有一个名为 'pine_tree_149' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-22.97, 15.87, 0.0, 0.0, -0.0, 1.82]。"}
{"text": "仿真环境中有一个名为 'oak_tree_150' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-36.78, 36.47, 0.0, 0.0, -0.0, 1.7]。"}
{"text": "仿真环境中有一个名为 'pine_tree_151' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-23.94, 34.92, 0.0, 0.0, -0.0, 0.56]。"}
{"text": "仿真环境中有一个名为 'cardboard_box_152' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-32.0, 8.0, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'salon_154' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-27.65, -9.35, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'law_office_155' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-34.886, -9.408, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'house_3_156' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-33.39, -21.3, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'house_3_157' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.126, -32.93, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'house_3_158' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.739, -19.38, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'pine_tree_159' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-37.48, -13.67, 0.0, 0.0, -0.0, 2.99694]。"}
{"text": "仿真环境中有一个名为 'pine_tree_160' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-22.26, -7.39, 0.0, 0.0, -0.0, 0.002426]。"}
{"text": "仿真环境中有一个名为 'pine_tree_161' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-22.26, -10.46, 0.0, 0.0, -0.0, 0.646469]。"}
{"text": "仿真环境中有一个名为 'pine_tree_162' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.045, -28.058, 0.0, 0.0, -0.0, 2.2678]。"}
{"text": "仿真环境中有一个名为 'pine_tree_163' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-37.48, -36.76, 0.0, 0.0, -0.0, 1.67752]。"}
{"text": "仿真环境中有一个名为 'pine_tree_164' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-33.06, -37.17, 0.0, 0.0, -0.0, 0.584309]。"}
{"text": "仿真环境中有一个名为 'pine_tree_165' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.34, -29.166, 0.0, 0.0, -0.0, 2.40377]。"}
{"text": "仿真环境中有一个名为 'fire_hydrant_166' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-20.34, -4.38, 0.15, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_169' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_170' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_171' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_172' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_174' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-48.7, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_175' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_176' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_177' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_178' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_180' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-48.7, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_181' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_sign_183' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_sign_184' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -41.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_sign_185' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_sign_186' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_sign_187' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'lamp_post_189' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'lamp_post_190' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'lamp_post_191' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-3.0, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'lamp_post_192' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [9.0, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'lamp_post_193' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [21.0, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'lamp_post_194' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.0, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_199' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_200' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_201' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_202' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_203' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_204' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_205' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_206' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_207' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_208' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_211' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_212' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_213' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_214' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_215' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_216' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_218' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_219' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_220' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_223' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_224' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_225' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_226' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_227' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_228' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_229' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.8, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_230' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.6, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_231' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.8, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_232' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.6, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_233' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.8, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_234' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.6, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'hatchback_blue_241' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-17.55, -32.5226, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_242' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-12.45, -20.8953, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'suv_243' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [42.45, -34.7406, 0.0, 0.0, 0.0, -1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_244' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [47.55, -27.5423, 0.0, 0.0, 0.0, -1.5708]。"}
{"text": "仿真环境中有一个名为 'hatchback_blue_245' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-17.55, 32.931, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_246' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-12.45, 30.6875, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'hatchback_247' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [42.45, 28.0591, 0.0, 0.0, 0.0, -1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_249' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-24.9957, -2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'hatchback_250' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-21.6052, 2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'suv_251' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [21.4393, -2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'hatchback_blue_252' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [7.08835, 2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'apartment_86' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.573, 27.565, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'cardboard_box_152' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-32.0, 8.0, 0.149, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'dumpster_94' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [15.94, -13.63, 0.000918, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'fast_food_93' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [28.25, -13.93, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'fire_hydrant_166' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-20.34, -4.38, 0.15, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'fire_hydrant_95' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [38.5, -4.38, 0.15, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'ground_plane_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.0, 0.0, -0.1, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'hatchback_247' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [42.45, 28.0591, 0.0, 0.0, 0.0, -1.5708]。"}
{"text": "仿真环境中有一个名为 'hatchback_250' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-21.6052, 2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'hatchback_blue_241' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-17.55, -32.5226, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'hatchback_blue_245' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-17.55, 32.931, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'hatchback_blue_252' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [7.08835, 2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'house_1_146' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-27.49, 25.344, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'house_2_125' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.61, -14.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'house_2_125_clone' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [14.3003, -27.3963, 0.0, 0.0, -0.0, 3.14159]。"}
{"text": "仿真环境中有一个名为 'house_2_125_clone_clone' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [28.4365, -27.4764, 0.0, 0.0, -0.0, 3.14159]。"}
{"text": "仿真环境中有一个名为 'house_2_126' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-0.59, -26.6, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'house_3_156' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-33.39, -21.3, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'house_3_157' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.126, -32.93, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'house_3_158' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.739, -19.38, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'lamp_post_189' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'lamp_post_190' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'lamp_post_191' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-3.0, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'lamp_post_192' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [9.0, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'lamp_post_193' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [21.0, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'lamp_post_194' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.0, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'law_office_155' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-34.886, -9.408, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'law_office_82' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.47, 9.356, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'oak_tree_148' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.811, 11.78, 0.0, 0.0, -0.0, 0.55]。"}
{"text": "仿真环境中有一个名为 'oak_tree_150' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-36.78, 36.47, 0.0, 0.0, -0.0, 1.7]。"}
{"text": "仿真环境中有一个名为 'oak_tree_85' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-6.418, 10.37, 0.0, 0.0, -0.0, 0.55]。"}
{"text": "仿真环境中有一个名为 'oak_tree_91' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [31.49, 35.89, 0.0, 0.0, 0.0, -3.03]。"}
{"text": "仿真环境中有一个名为 'osrf_first_office_87' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.003, 20.15, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'pickup_147' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-36.72, 21.02, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'pickup_242' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-12.45, -20.8953, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_244' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [47.55, -27.5423, 0.0, 0.0, 0.0, -1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_246' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-12.45, 30.6875, 0.0, 0.0, -0.0, 1.5708]。"}
{"text": "仿真环境中有一个名为 'pickup_249' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-24.9957, -2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'pine_tree_127' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -37.0, 0.0, 0.0, -0.0, 0.124132]。"}
{"text": "仿真环境中有一个名为 'pine_tree_128' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-2.0, -37.0, 0.0, 0.0, -0.0, 0.143519]。"}
{"text": "仿真环境中有一个名为 'pine_tree_129' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [3.0, -37.0, 0.0, 0.0, -0.0, 1.74324]。"}
{"text": "仿真环境中有一个名为 'pine_tree_130' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.0, -37.0, 0.0, 0.0, -0.0, 2.04822]。"}
{"text": "仿真环境中有一个名为 'pine_tree_131' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.0, -37.0, 0.0, 0.0, -0.0, 0.035642]。"}
{"text": "仿真环境中有一个名为 'pine_tree_132' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -32.0, 0.0, 0.0, -0.0, 2.69167]。"}
{"text": "仿真环境中有一个名为 'pine_tree_133' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -27.0, 0.0, 0.0, -0.0, 1.45432]。"}
{"text": "仿真环境中有一个名为 'pine_tree_134' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -22.0, 0.0, 0.0, -0.0, 2.10283]。"}
{"text": "仿真环境中有一个名为 'pine_tree_135' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -17.0, 0.0, 0.0, -0.0, 1.33207]。"}
{"text": "仿真环境中有一个名为 'pine_tree_136' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -12.0, 0.0, 0.0, -0.0, 2.93245]。"}
{"text": "仿真环境中有一个名为 'pine_tree_137' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-7.0, -7.0, 0.0, 0.0, -0.0, 0.63871]。"}
{"text": "仿真环境中有一个名为 'pine_tree_138' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-2.0, -8.0, 0.0, 0.0, -0.0, 0.416833]。"}
{"text": "仿真环境中有一个名为 'pine_tree_139' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [3.0, -8.0, 0.0, 0.0, -0.0, 1.84106]。"}
{"text": "仿真环境中有一个名为 'pine_tree_140' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.0, -8.0, 0.0, 0.0, -0.0, 2.21107]。"}
{"text": "仿真环境中有一个名为 'pine_tree_141' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.0, -8.0, 0.0, 0.0, -0.0, 0.145852]。"}
{"text": "仿真环境中有一个名为 'pine_tree_142' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [18.0, -8.0, 0.0, 0.0, -0.0, 2.31415]。"}
{"text": "仿真环境中有一个名为 'pine_tree_145' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-30.709, 7.15, 0.0, 0.0, -0.0, 2.2424]。"}
{"text": "仿真环境中有一个名为 'pine_tree_149' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-22.97, 15.87, 0.0, 0.0, -0.0, 1.82]。"}
{"text": "仿真环境中有一个名为 'pine_tree_151' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-23.94, 34.92, 0.0, 0.0, -0.0, 0.56]。"}
{"text": "仿真环境中有一个名为 'pine_tree_159' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-37.48, -13.67, 0.0, 0.0, -0.0, 2.99694]。"}
{"text": "仿真环境中有一个名为 'pine_tree_160' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-22.26, -7.39, 0.0, 0.0, -0.0, 0.002426]。"}
{"text": "仿真环境中有一个名为 'pine_tree_161' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-22.26, -10.46, 0.0, 0.0, -0.0, 0.646469]。"}
{"text": "仿真环境中有一个名为 'pine_tree_162' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.045, -28.058, 0.0, 0.0, -0.0, 2.2678]。"}
{"text": "仿真环境中有一个名为 'pine_tree_163' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-37.48, -36.76, 0.0, 0.0, -0.0, 1.67752]。"}
{"text": "仿真环境中有一个名为 'pine_tree_164' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-33.06, -37.17, 0.0, 0.0, -0.0, 0.584309]。"}
{"text": "仿真环境中有一个名为 'pine_tree_165' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.34, -29.166, 0.0, 0.0, -0.0, 2.40377]。"}
{"text": "仿真环境中有一个名为 'pine_tree_88' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [16.096, 34.82, 0.0, 0.0, -0.0, 2.24546]。"}
{"text": "仿真环境中有一个名为 'pine_tree_89' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [18.7, 29.33, 0.0, 0.0, -0.0, 0.605226]。"}
{"text": "仿真环境中有一个名为 'pine_tree_90' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [22.56, 34.58, 0.0, 0.0, -0.0, 0.34397]。"}
{"text": "仿真环境中有一个名为 'post_office_143' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-26.686, 11.119, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'postbox_144' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.58, 4.33, 0.15, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'postbox_92' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.0, 4.33, 0.15, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'salon_154' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-27.65, -9.35, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'salon_84' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [15.7, 9.356, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_169' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_170' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_171' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_172' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_174' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-48.7, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_175' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_176' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_177' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_178' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, 3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_180' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-48.7, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_light_post_181' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_sign_183' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -3.7, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'stop_sign_184' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -41.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_sign_185' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 3.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'stop_sign_186' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'stop_sign_187' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -3.7, 0.0, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'suv_243' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [42.45, -34.7406, 0.0, 0.0, 0.0, -1.5708]。"}
{"text": "仿真环境中有一个名为 'suv_251' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [21.4393, -2.55, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_199' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_200' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_201' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_202' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_203' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_204' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_205' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_206' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_206_clone' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_207' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -30.15, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_208' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, -15.3, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_211' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_212' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-41.3, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_213' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_214' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-11.3, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_215' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_216' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-18.7, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_218' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.7, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_219' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 14.85, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_220' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [41.3, 29.7, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_223' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_224' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_225' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_226' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_227' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-35.1, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_228' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.2, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_229' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.8, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_230' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.6, -41.3, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_231' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.8, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_232' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.6, 3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_233' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.8, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_234' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.6, -3.7, 0.0, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'text_model1' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.626, 29.3431, 1.5636, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.5396, 9.27041, 1.52314, 0.0, -0.0, 3.1384]。"}
{"text": "仿真环境中有一个名为 'text_model1_1' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-34.6937, -19.4703, 1.23472, 0.0, -0.0, 1.58393]。"}
{"text": "仿真环境中有一个名为 'text_model1_10' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.85316, -27.5651, 1.06281, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'text_model1_11' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.1838, -29.0718, 1.3, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model1_12' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.2798, -29.1869, 1.3, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model1_2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-24.4421, -21.2078, 1.23942, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'text_model1_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-29.9588, -34.22, 1.21346, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model1_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-34.8868, -8.05648, 1.65897, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_5' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [9.49647, 25.4469, 1.93202, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'text_model1_6' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-0.959037, 7.52929, 2.3312, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model1_7' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [24.485, 8.07813, 1.9831, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'text_model1_8' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [28.6711, -17.7386, 2.25038, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model1_9' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.6481, -15.5815, 1.21912, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-24.9409, 28.6794, 1.57869, 0.0, 0.0, -1.52716]。"}
{"text": "仿真环境中有一个名为 'text_model2_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-32.0989, -20.9209, 1.20285, 0.0, 0.0, -1.56366]。"}
{"text": "仿真环境中有一个名为 'text_model2_1' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-27.0336, -19.7574, 1.20887, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'text_model2_10' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.4714, -25.2341, 1.3, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_11' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.6367, -25.3145, 1.3, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.5112, -31.6317, 1.21235, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.3234, -7.52915, 1.96408, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-6.48868, 24.506, 1.93221, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'text_model2_5' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.51104, 7.97486, 1.5687, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model2_6' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [29.5159, 8.05862, 1.68793, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'text_model2_7' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [28.6861, -10.0987, 1.62563, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_8' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.18864, -12.1442, 1.04206, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_9' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-2.59305, -27.0309, 1.08359, 0.0, -0.0, 1.57]。"}
{"text": "仿真环境中有一个名为 'text_model3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [16.0786, -29.8724, 1.3, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model3_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [30.5156, -30.1889, 1.3, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model3_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.3752, 7.56599, 2.29163, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model3_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [3.82571, -16.4045, 0.823551, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'text_model3_5' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.66214, -24.3491, 0.831783, 0.0, 0.0, -1.57]。"}
{"text": "仿真环境中有一个名为 'thrift_shop_83' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.35, 9.356, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.0, 49.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall_2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.0, -49.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [49.0, 0.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'wall_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-49.0, 0.0, 2.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-31.827, 31.5085, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-25.6311, 30.6182, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-26.8003, 8.35325, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_1' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-37.6617, -20.0872, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-31.2117, -23.79, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-23.4712, -20.896, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_1' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-27.3657, -20.3372, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-29.8503, -35.7088, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_2' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.8359, -31.3351, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-34.1638, -5.49078, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-28.8844, -5.77655, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_5' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [12.5719, 24.0672, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-9.74093, 24.1795, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_6' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-0.52561, 3.27106, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_5' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [8.06137, 6.29462, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_7' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [21.4701, 4.0873, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_6' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [31.9781, 5.86941, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_8' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.8526, -31.0723, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_7' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [31.517, -2.96729, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_9' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [0.448999, -17.1905, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_8' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [1.08878, -11.5143, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_10' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [11.1354, -29.1096, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_9' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-4.35234, -25.1903, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model3_3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [14.0061, 1.63948, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model3_4' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [4.2153, -19.7779, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model3_5' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [3.52886, -24.2947, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'ground_plane_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [-10.2583, 20.1204, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'telephone_pole_206_clone' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [48.6722, 16.6841, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'house_2_125_clone' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [11.3102, -26.491, 0.0, 0.0, -0.0, 3.14]。"}
{"text": "仿真环境中有一个名为 'house_2_125_clone_clone' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [28.4365, -27.4764, 0.0, 0.0, -0.0, 3.14159]。"}
{"text": "仿真环境中有一个名为 'text_model1_11' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.1838, -29.0718, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model3' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [16.0786, -29.8724, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_10' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [13.4714, -25.2341, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model2_11' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.6367, -25.3145, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model1_12' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [27.2798, -29.1869, 0.0, 0.0, -0.0, 0.0]。"}
{"text": "仿真环境中有一个名为 'text_model3_0' 的物体,其位置和姿态(x, y, z, roll, pitch, yaw)为: [30.5156, -30.1889, 0.0, 0.0, -0.0, 0.0]。"}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
import os
from tools.core.common_functions import read_json_file
from tools.memory_mag.rag.rag import set_embeddings
from langchain.vectorstores import Chroma
# 1. 读取 rag_config.json确保和 groundcontrol 用的是同一套配置
ai_agent_root = "/home/huangfukk/AI_Agent/scripts/ai_agent"
rag_config_path = os.path.join(ai_agent_root, "config", "rag_config.json")
rag_config = read_json_file(rag_config_path)
rag_mag = rag_config["rag_mag"]
persist_directory = rag_mag["vectorstore_persist_directory"]
collection_name = rag_mag["collection_name"] # 应该是 "drone_docs"
embedding_model_path = rag_mag["embedding_model_path"]
embedding_type = rag_mag["embedding_framework_type"] # "llamacpp_embedding" -> 我们要转成 "llamacpp_embeddings"
if embedding_type == "llamacpp_embedding":
embedding_type = "llamacpp_embeddings"
# 2. 初始化 embeddings和正式流程一致
model_config = rag_mag.get("model_config_llamacpp", {})
embeddings = set_embeddings(
embedding_model_path=embedding_model_path,
embedding_type=embedding_type,
model_config=model_config
)
# 3. 加载向量数据库(同样的目录和 collection_name
vector_db = Chroma(
persist_directory=persist_directory,
embedding_function=embeddings,
collection_name=collection_name
)
# 4. 测试一个你关心的 query看原始分数
query = "基础实验楼" # 你可以换成各种中文地标测试
docs_and_scores = vector_db.similarity_search_with_score(query, k=5)
print(f"共返回 {len(docs_and_scores)} 条(不加阈值,只看原始分数):\n")
for i, (doc, score) in enumerate(docs_and_scores, 1):
print(f"=== 结果 {i} ===")
print(f"score: {score}")
print(f"source: {doc.metadata.get('source', '未知')}")
text_preview = doc.page_content[:200].replace("\n", " ")
print(f"text : {text_preview}")
print("-" * 80)

View File

@@ -1,6 +1,7 @@
# 该代码用于将本地知识库中的文档导入到ChromaDB中并使用远程嵌入模型进行向量化 # 该代码用于将本地知识库中的文档导入到ChromaDB中并使用远程嵌入模型进行向量化
import os import os
from pathlib import Path from pathlib import Path
import sys
import chromadb import chromadb
# from chromadb.utils import embedding_functions - 不再需要 # from chromadb.utils import embedding_functions - 不再需要
from chromadb.api.types import Documents, EmbeddingFunction, Embeddings, Embeddable from chromadb.api.types import Documents, EmbeddingFunction, Embeddings, Embeddable
@@ -9,6 +10,7 @@ from rich.progress import track
import logging import logging
import requests # 导入requests import requests # 导入requests
import json # 导入json模块 import json # 导入json模块
from langchain.schema import Document # ✅ 新增:用于构造 LangChain 文档对象
# 配置日志 # 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
@@ -16,11 +18,27 @@ logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(
# --- 配置 --- # --- 配置 ---
# 获取脚本所在目录,确保路径的正确性 # 获取脚本所在目录,确保路径的正确性
SCRIPT_DIR = Path(__file__).resolve().parent SCRIPT_DIR = Path(__file__).resolve().parent
KNOWLEDGE_BASE_DIR = SCRIPT_DIR / "knowledge_base" KNOWLEDGE_BASE_DIR = Path("/home/huangfukk/AI_Agent/scripts/ai_agent/memory/knowledge_base/map/src_data")
VECTOR_STORE_DIR = SCRIPT_DIR / "vector_store" VECTOR_STORE_DIR = Path("/home/huangfukk/AI_Agent/scripts/ai_agent/memory/knowledge_base/map/vector_store/osm_map1")
COLLECTION_NAME = "drone_docs" COLLECTION_NAME = "drone_docs"
# EMBEDDING_MODEL_NAME = "bge-small-zh-v1.5" # 不再需要,模型名在函数内部处理 # EMBEDDING_MODEL_NAME = "bge-small-zh-v1.5" # 不再需要,模型名在函数内部处理
# ✅ 新增:定位项目根目录并加入 sys.path方便复用 rag 模块和工具函数
# 当前文件路径:
# .../scripts/ai_agent/tools/memory_mag/rag/map_rag/osm_map/ingest.py
# 向上 4 级即可到达 scripts/ai_agent
# parents[0] = map_rag
# parents[1] = rag
# parents[2] = memory_mag
# parents[3] = tools
# parents[4] = ai_agent ✅
PROJECT_ROOT = SCRIPT_DIR.parents[4] # /home/.../scripts/ai_agent
if str(PROJECT_ROOT) not in sys.path:
sys.path.append(str(PROJECT_ROOT))
from tools.core.common_functions import read_json_file
from tools.memory_mag.rag.rag import set_embeddings, build_vector_database
# --- 自定义远程嵌入函数 --- # --- 自定义远程嵌入函数 ---
class RemoteEmbeddingFunction(EmbeddingFunction[Embeddable]): class RemoteEmbeddingFunction(EmbeddingFunction[Embeddable]):
""" """
@@ -143,51 +161,72 @@ def main():
logging.warning("在知识库中未找到可处理的文档。") logging.warning("在知识库中未找到可处理的文档。")
return return
# 2. 初始化ChromaDB客户端和远程嵌入函数 # 2. 读取 rag_config.json使用与在线 RAG 相同的嵌入配置
orin_ip = os.getenv("ORIN_IP", "localhost") rag_config_path = PROJECT_ROOT / "config" / "rag_config.json"
embedding_api_url = f"http://{orin_ip}:8090/v1/embeddings" logging.info(f"正在读取 RAG 配置: {rag_config_path}")
rag_config = read_json_file(str(rag_config_path))
if not rag_config or "rag_mag" not in rag_config:
logging.error("rag_config.json 中缺少 'rag_mag' 配置,终止入库。")
return
logging.info(f"正在初始化远程嵌入函数,目标服务地址: {embedding_api_url}") rag_mag = rag_config["rag_mag"]
embedding_func = RemoteEmbeddingFunction(api_url=embedding_api_url)
client = chromadb.PersistentClient(path=str(VECTOR_STORE_DIR)) # 向量库目录与集合名:保持和后端一致
persist_directory = rag_mag["vectorstore_persist_directory"]
collection_name = rag_mag.get("collection_name", COLLECTION_NAME)
# 3. 创建或获取集合 # 嵌入模型配置
logging.info(f"正在访问ChromaDB集合: {COLLECTION_NAME}") embedding_model_path = rag_mag["embedding_model_path"]
collection = client.get_or_create_collection( embedding_type = rag_mag.get("embedding_framework_type", "llamacpp_embedding")
name=COLLECTION_NAME, if embedding_type == "llamacpp_embedding":
embedding_function=embedding_func embedding_type = "llamacpp_embeddings" # 与 rag.py 中 set_embeddings 的约定保持一致
if embedding_type == "llamacpp_embeddings":
model_config = rag_mag["model_config_llamacpp"]
else:
model_config = rag_mag["model_config_huggingFace"]
logging.info(f"使用嵌入模型: {embedding_model_path}")
logging.info(f"向量库目录: {persist_directory}, 集合名: {collection_name}")
# 3. 初始化嵌入模型(与 rag.py 完全一致)
embeddings = set_embeddings(
embedding_model_path=embedding_model_path,
embedding_type=embedding_type,
model_config=model_config
) )
if embeddings is None:
logging.error("嵌入模型初始化失败,终止入库。")
return
# 4. 将文档向量化并存入数据库 # 4. 将 docs_to_ingest 转成 LangChain 的 Document 列表
logging.info(f"开始将 {len(docs_to_ingest)} 个文档块入库...") documents = [
Document(page_content=doc["text"], metadata=doc["metadata"])
for doc in docs_to_ingest
]
logging.info(f"准备入库的文档块数量: {len(documents)}")
# 为了避免重复添加,可以先检查 # 5. 使用 rag.py 的 build_vector_database 构建/覆盖向量库
# (这里为了简单,我们每次都重新添加,生产环境需要更复杂的逻辑) vector_db = build_vector_database(
documents=documents,
doc_texts = [doc['text'] for doc in docs_to_ingest] embeddings=embeddings,
metadatas = [doc['metadata'] for doc in docs_to_ingest] persist_directory=persist_directory,
ids = [f"doc_{KNOWLEDGE_BASE_DIR.name}_{i}" for i in range(len(doc_texts))] collection_name=collection_name
)
if vector_db is None:
logging.error("构建向量数据库失败。")
return
# ✅ 打印统计信息,确认入库成功
try: try:
# ChromaDB的add方法会自动处理嵌入 count = vector_db._collection.count() # Chroma 内部集合统计
collection.add( except Exception:
documents=doc_texts, count = None
metadatas=metadatas, logging.info(f"数据库中现在有 {count if count is not None else '未知'} 个条目。")
ids=ids
)
logging.info("所有文档块已成功入库!")
except Exception as e:
logging.error(f"向ChromaDB添加文档时出错: {e}")
# 验证一下
count = collection.count()
logging.info(f"数据库中现在有 {count} 个条目。")
print("\n✅ 数据入库完成!") print("\n✅ 数据入库完成!")
print(f"知识库位于: {KNOWLEDGE_BASE_DIR}") print(f"知识库位于: {KNOWLEDGE_BASE_DIR}")
print(f"向量数据库位于: {VECTOR_STORE_DIR}") print(f"向量数据库位于: {persist_directory}")
if __name__ == "__main__": if __name__ == "__main__":