-
Notifications
You must be signed in to change notification settings - Fork 104
Description
I experiencing a couple of strange behaviors on cloudsim.
First, I am still fighting with how to know when everything is ready to start. First suggestion was to wait for /clock but that is not enough (even when /clock is available, other stuff is not). At the end, I am waiting almost for everything the solution might need, one by one. This is an example or rosout from one such a run (it is short so I include it in full):
0.000000000 Node Startup
95.872000000 INFO /rosbag_robot_data [/tmp/binarydeb/ros-melodic-rosbag-1.14.5/src/recorder.cpp:394(Recorder::startWriting)] [topics: /rosout] Recording to '/home/developer/.ros/robot_data_0.bag'.
0.000000000 INFO /tf_world_static [/tmp/binarydeb/ros-melodic-tf2-ros-0.6.5/src/static_transform_broadcaster_program.cpp:142(main)] [topics: /rosout, /tf_static] Spinning until killed publishing world to simple_urban_01
0.000000000 DEBUG /cudatest [tcpros_base.py:559(TCPROSTransport.connect)] [topics: /clock, /rosout] connecting to 10.44.0.2 52869
341.904000000 INFO /cudatest [entrypoint.py:17(main)] [topics: /clock, /rosout] got rosout logger
341.904000000 INFO /cudatest [entrypoint.py:19(main)] [topics: /clock, /rosout] waiting for clock
341.908000000 INFO /cudatest [entrypoint.py:21(main)] [topics: /clock, /rosout] rospy.Time[341908000000]
341.908000000 DEBUG /cudatest [tcpros_service.py:112(contact_service)] [topics: /clock, /rosout] connecting to ('10.44.0.2', 38949)
341.912000000 DEBUG /cudatest [tcpros_service.py:112(contact_service)] [topics: /clock, /rosout] connecting to ('10.44.0.2', 38949)
341.912000000 DEBUG /cudatest [tcpros_base.py:559(TCPROSTransport.connect)] [topics: /clock, /rosout] connecting to 10.44.0.2 38949
341.920000000 INFO /cudatest [entrypoint.py:27(main)] [topics: /clock, /rosout] /subt/start: True
344.384000000 INFO /cudatest [entrypoint.py:32(main)] [topics: /clock, /rosout] torch ok
344.388000000 INFO /cudatest [entrypoint.py:32(main)] [topics: /clock, /rosout] tf ok
344.388000000 DEBUG /cudatest [tcpros_base.py:559(TCPROSTransport.connect)] [topics: /clock, /rosout] connecting to 10.44.0.2 38949
344.392000000 INFO /cudatest [entrypoint.py:36(main)] [topics: /clock, /rosout] /subt/finish: True
One of the things I started to wait for is at least one subscriber on /rosout
because without it, our /rosout is not logged. Here the subscriber surfaced only after 341s of simulation (in other run it was 375s). Before that I was waiting only for subscriber on /robot_data
and that usually happened between 80 to 100s of simulation time.
This is the contents of the resulting summary.yml:
was_started: 1
sim_time_duration_sec: 3
real_time_duration_sec: 2
model_count: 1
But it took over 12h to get this result! The ID of the run is 3afb2077-590d-4f45-90a4-068d2bea84d5
and it was started 5/3/20, 9:50 AM (local time) and the summary email was received at Sun, 3 May, 22:09 (again local time).
I have started some other simulations that finished over the night but I got no summary email about it, so I don't have the exact time when they finished.
I am right now running almost the same thing under the ID of 0d63b81a-a066-4538-aa9d-81fa4b2437f1 which has started 5/4/20, 9:48 AM and now is 14:13. The test running locally takes about 5 seconds and on cloudsim it is still running.
To summarize:
- Do we really have to explicitly wait & check for every single piece of the infrastructure ourselves? Can there be one topic or service or something that would notify us, that now everything should be ready to go and if it is not, it is a reportable error?
- Why did rosout logging attached only after 341s of simulation in run 3afb2077-590d-4f45-90a4-068d2bea84d5?
- Why did it take so long for 3afb2077-590d-4f45-90a4-068d2bea84d5 to finish?
- Why am I missing most of the emails about simulations ending? They are not in spam.