数据结构
DEFAULT_PYDANTIC_MODEL_CONFIG
module-attribute
¶
DEFAULT_PYDANTIC_MODEL_CONFIG = ConfigDict(strict=False, arbitrary_types_allowed=True, extra='ignore', validate_by_alias=True, validate_by_name=True, coerce_numbers_to_str=True, alias_generator=camelize, populate_by_name=True)
BlueprintKind ¶
蓝图的类型,如果不够用,可以修改此类或者继承并添加新的类型
源代码位于: logis/biz/sim/data_type/component.py
ComponentConfig ¶
ComponentConfigItem ¶
组件配置项,用于前端展示和后端处理
源代码位于: logis/biz/sim/data_type/component.py
ComponentLoader ¶
组件加载器、解析器
源代码位于: logis/biz/sim/iface/component.py
load ¶
加载组件
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
item
|
ComponentConfigItem
|
组件配置项 |
必需 |
返回:
| 类型 | 描述 |
|---|---|
Type[IComponent]
|
Type[IComponent]: 组件类 |
IBlueprintRegistry ¶
IComponent ¶
类型标识 历史逻辑区分蓝图和空间标记两种概念,为了统一衍生出此接口 但后续在改造的过程中,逐步把空间标记也视为蓝图,因此此接口似乎就没太多必要,不过作为更抽象的接口,还是保留着
源代码位于: logis/biz/sim/iface/component.py
IExpose ¶
用于通过SDK向外暴露参数
源代码位于: logis/biz/sim/iface/base.py
IJsonParser ¶
源代码位于: logis/biz/sim/iface/base.py
__init__ ¶
源代码位于: logis/biz/sim/iface/base.py
ILocationGetter ¶
位置获取器接口
源代码位于: logis/biz/sim/__init__.py
IOrder ¶
源代码位于: logis/biz/sim/iface/order.py
ISimProxy ¶
仿真模块接口
源代码位于: logis/biz/sim/iface/proxy.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | |
OldSimEvent ¶
旧版仿真事件结构体,包含了仿真过程中产生的事件可能用到的所有字段
源代码位于: logis/biz/sim/data_type/__init__.py
entity_id
class-attribute
instance-attribute
¶
entity_id: Optional[TmpId] = Field(validation_alias=AliasChoices('entity_id', 'agent_id', 'id'), default=None)
payload_id
class-attribute
instance-attribute
¶
payload_id: Optional[TmpId] = Field(validation_alias=AliasChoices('shelf_id', 'payload_id'), default=None)
OrderPickingConfig ¶
订单拣选配置项
源代码位于: logis/biz/sim/iface/picking.py
OrderPickingStrategy ¶
订单拣选策略 1. 合并size均为1时,退化为按单拣选 2. 合并size均>1时,即是合并拣选 3. 合并size>=1时,即是混合拣选
源代码位于: logis/biz/sim/iface/picking.py
__init__ ¶
merge
abstractmethod
¶
订单合并逻辑
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
orders
|
List[IOrder]
|
待合并的订单列表 |
必需 |
config
|
Union[OrderPickingConfig, None]
|
订单拣选配置 |
None
|
返回:
| 类型 | 描述 |
|---|---|
List[IOrder]
|
合并后的订单列表 |
源代码位于: logis/biz/sim/iface/picking.py
Point ¶
此类不通用,历史遗留,不建议使用,如有需要建议使用GenericPoint 支持x,y,z三维坐标点,也可当作二维坐标使用 TODO: 处理单位
源代码位于: logis/data_type/point.py
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | |
__hash__ ¶
源代码位于: logis/data_type/point.py
__init__ ¶
支持[x,y]、x,y、[x,y,z]、x,y,z传参赋值 默认x=y=z=0
TODO: 不应该自动转float、不应该自动保留两位小数
源代码位于: logis/data_type/point.py
__lt__ ¶
__repr__ ¶
__str__ ¶
__sub__ ¶
源代码位于: logis/data_type/point.py
from_tuple
classmethod
¶
of
classmethod
¶
to_tuple ¶
try_parse
classmethod
¶
尝试读取X、Y、Z坐标,返回一个Point对象
源代码位于: logis/data_type/point.py
SimConfig ¶
源代码位于: logis/biz/sim/data_type/__init__.py
SimContext ¶
仿真上下文
源代码位于: logis/biz/sim/data_type/__init__.py
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | |
__terminate_event__
class-attribute
instance-attribute
¶
event_emitter
class-attribute
instance-attribute
¶
ws_conn
class-attribute
instance-attribute
¶
is_finished ¶
is_over ¶
is_terminated ¶
resolve_model_name ¶
resolve_model_path ¶
优先读取sim_config中的model_path,其次是本结构体中的model_path
resolve_sim_id ¶
trigger_finish_event_if_not ¶
SimEvent ¶
仿真过程中产生的事件
此结构体起初是个大杂烩,包含了仿真过程中产生的事件可能用到的所有字段,后来逐步改造成泛型
TODO: 这里只所以还继承OldSimEvent,是因为历史代码里有很多地方已经用了SimEvent\ 实际上是OldSimEvent,后续会逐步替换掉并去除这里的继承
源代码位于: logis/biz/sim/data_type/__init__.py
SimMetadata ¶
仿真元数据
源代码位于: logis/biz/sim/data_type/__init__.py
client_version
class-attribute
instance-attribute
¶
client_version: Optional[str] = Field(validation_alias=AliasChoices('client_version', 'version'), default=None)
model_path
class-attribute
instance-attribute
¶
model_path: Optional[Path] = Field(validation_alias=AliasChoices('model_path', 'modelPath'), default=None)
send_step_info_realtime
class-attribute
instance-attribute
¶
send_step_info_realtime: Optional[bool] = Field(None, validation_alias=AliasChoices('send_step_info_realtime', 'sendStepInfoRealtime'))
server_version
class-attribute
instance-attribute
¶
server_version: Optional[str] = Field(validation_alias=AliasChoices('server_version', 'serverVersion'), default=None)
sim_id
class-attribute
instance-attribute
¶
user_id
class-attribute
instance-attribute
¶
Storable ¶
可存储的
使用鸭子类型实现,相比ABC更灵活
源代码位于: logis/iface/container.py
TaskGraph ¶
以任务id作为节点id组成的任务树,内部数据结构是一个有向无环图
源代码位于: logis/task/manager.py
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
__contains__ ¶
__init__ ¶
add_task ¶
源代码位于: logis/task/manager.py
add_task_if_absent ¶
find_by ¶
get_children_id ¶
get_parents_id ¶
get_task ¶
has_parent_child_relationship ¶
源代码位于: logis/task/manager.py
is_status_at ¶
源代码位于: logis/task/manager.py
is_task_finished ¶
parse_task_id ¶
remove_task ¶
源代码位于: logis/task/manager.py
remove_task_if_present ¶
task_size ¶
tasks ¶
update_task_status ¶
TimeWindowWaveStrategy ¶
基于时间窗口的波次划分策略
源代码位于: logis/biz/sim/iface/wave.py
group ¶
源代码位于: logis/biz/sim/iface/wave.py
UnitConfig ¶
有关单位的配置项
源代码位于: logis/data_type/unitable.py
__or__ ¶
alias ¶
get_float_ratio ¶
get_int_ratio ¶
get_ratio ¶
获取 src 到 dst 的倍率
源代码位于: logis/data_type/unitable.py
WaveGroupingConfig ¶
波次划分配置
源代码位于: logis/biz/sim/iface/wave.py
WaveGroupingStrategy ¶
波次划分策略
源代码位于: logis/biz/sim/iface/wave.py
__init__ ¶
group
abstractmethod
¶
对订单列表进行波次划分
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
orders
|
List[IOrder]
|
订单列表 |
必需 |
config
|
WaveGroupingConfig
|
波次拣选配置 |
必需 |
返回:
| 类型 | 描述 |
|---|---|
List[List[IOrder]]
|
波次列表 |
WaveSizeStrategy ¶
基于波次大小的波次划分策略