|
@@ -93,7 +93,7 @@ func PrepareTimeWindowProducerQueue() {
|
|
Node: commonConfig.RosNode,
|
|
Node: commonConfig.RosNode,
|
|
Topic: topic,
|
|
Topic: topic,
|
|
Callback: func(data *kinglong_msgs.PerceptionObjects) {
|
|
Callback: func(data *kinglong_msgs.PerceptionObjects) {
|
|
- // 更新共享变量
|
|
|
|
|
|
+ // ------- 触发前更新共享变量
|
|
mutexOfTpperception.RLock()
|
|
mutexOfTpperception.RLock()
|
|
{
|
|
{
|
|
for _, obj := range data.Objs {
|
|
for _, obj := range data.Objs {
|
|
@@ -124,6 +124,17 @@ func PrepareTimeWindowProducerQueue() {
|
|
subscribersMutexes[i].Unlock()
|
|
subscribersMutexes[i].Unlock()
|
|
}
|
|
}
|
|
subscribersTimeMutexes[i].Unlock()
|
|
subscribersTimeMutexes[i].Unlock()
|
|
|
|
+
|
|
|
|
+ // -------- 触发后更新共享变量
|
|
|
|
+ mutexOfTpperception.RLock()
|
|
|
|
+ {
|
|
|
|
+ for _, obj := range data.Objs {
|
|
|
|
+ extendParam.ObjTypeDicOfTpperception[obj.Id] = obj.Type
|
|
|
|
+ extendParam.ObjSpeedDicOfTpperception[obj.Id] = math.Pow(math.Pow(float64(obj.Vxabs), 2)+math.Pow(float64(obj.Vyabs), 2), 0.5)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ mutexOfTpperception.RUnlock()
|
|
|
|
+
|
|
},
|
|
},
|
|
})
|
|
})
|
|
}
|
|
}
|