また,
opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.pyのresponse = convert_return_to_response(self.handler(request), self.response_class)で
/opt/ros/melodic/lib/jsk_data/data_collection_server.p line 292, in sync_service_cbはどのような原理で呼ばれているのかがよくわかりませんでした.
ということで,
/opt/ros/melodic/lib/jsk_data/data_collection_server.py
のL224は,stamp = self.msg[self.topics[0]['name']]['stamp']
なのですが,となり,self.msgが空であることが原因であることがわかりました. 複数のトピックではなく,単一のトピックに絞ると,self.msgは例えば
{{[58, 63,........ 0, 0, 128, 63]}}
というように出力されました.また,
opt/ros/melodic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py
のresponse = convert_return_to_response(self.handler(request), self.response_class)
で/opt/ros/melodic/lib/jsk_data/data_collection_server.p
line 292, in sync_service_cbはどのような原理で呼ばれているのかがよくわかりませんでした.とにかく,syncではなく,approximateに処理できれば,self.msgが空になるのを防げるのかなと思いました.