mrp_bench icon indicating copy to clipboard operation
mrp_bench copied to clipboard

Repeatedly getting "Waiting for flag to exist at /tmp/spawn_ready_flag.txt" in terminal on launching top_level_launch.py.

Open arushikhokhar opened this issue 1 year ago • 4 comments

Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt Waiting for flag to exist at /tmp/spawn_ready_flag.txt [schedule_visualizer_node-5] [INFO] [1678898853.997213545] [schedule_data_node]: Requesting new schedule update because update timed out [schedule_visualizer_node-5] [INFO] [1678898853.997492808] [schedule_data_node]: [rmf_traffic_ros2::MirrorManager::request_update] Requesting changes for query ID [1] since beginning of recorded history [rmf_traffic_schedule-2] [INFO] [1678898854.002426581] [rmf_traffic_schedule_primary]: [ScheduleNode::update_mirrors] Sending remedial update starting from the beginning going to 0 for query 1

rqt_graph

rosgraph_mrp_bench

map_markers

Also, on running ros2 topic echo /map_markers there is no output in the terminal.

arushikhokhar avatar Mar 15 '23 16:03 arushikhokhar

Hi, could you share the config.yaml that you've used here?

smnschfr avatar Mar 19 '23 21:03 smnschfr

https://drive.google.com/file/d/1Y3AX-q39GYaBUv2qdYl87zjx3hTw1Ml8/view?usp=sharing

Here's the link to the config.yaml file.

Also, bench_node.py is stuck here:

def main(args=None):
    rclpy.init(args=args)

    bm = BenchManager()
    while rclpy.ok() and not bm.inputReady():
        try:
            rclpy.spin_once(bm)                     
        except KeyboardInterrupt:
            break

It seems as if rclpy.spin_once(bm) goes on for infinite time. Hence the control doesn't shift to the next piece of code.

if bm.generateGoalsAndCallLibrary():
    print('grid stats: ', bm.cellGrid.getGridStatics())
    bm.generatePathRequests()
    bm.signalReadiness()

The signalReadiness function is not being called because the code is stuck in the while loop mentioned above. That's why the flag isn't written.

arushikhokhar avatar Mar 20 '23 06:03 arushikhokhar

Thanks for the info, config.yaml looks fine so far.

After fixing issues with my local docker setup, I can confirm that the docker build now works for me. I've successfully run the simple experiment that is started by the default config that is provided with the image.

Please note that there are currently two mrp_bench folders in the container (/mrp_bench/mrp_bench) and the experiments folder in the document root (/experiments) is used if you follow the README word by word. This is something we'll probably update to avoid confusion.

If you look at the recent changes to the Dockerfile, you can see what was done and could copy these changes to the manual setup

Or, what I'd recommend at this point, go back to using docker. For fixing the manual installation, this is something that makes more sense with a port to Humble at the same time, instead of working on an EOL distro. Docker provides a good way to replicate the environment used in the experiments that are described in the paper.

smnschfr avatar Mar 21 '23 22:03 smnschfr

Hello Simon! Thank you for replying.

We were able to bringup the docker version. Thank you so much. We will try manual installation on humble using the changes in docker accordingly.

a2a4 avatar Mar 24 '23 05:03 a2a4