Code Monkey home page Code Monkey logo

rmf_demos's Issues

Robot path optimization

I am encountering a problem of the robot trying to take a wrong path and hits the wall.

When I send a request, the robot seems to be trying to take the optimum path by traveling in a straight line
image
but it would end up being stuck as the door
image

I am building a new map and here is my repo. I am using the branch feature/add_lift_demo.

To reproduce this behavior:

  1. Clone the repo into the RMF workspace with rmf_core, rmf_schedule_visualizer, and traffic_editor
  2. Do colcon build
  3. Source the setup.bash and run ros2 launch demos hotel.launch.xml
  4. In the RViZ RMF panel, select fleet magni and send a loop request from guest_pickup2 to table2

Missing .world file in install folder

thanks for doing up a multi-level demo. There are no build errors but I have issues when running the clinic scenario. In /rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/map folder there's only airport and office .world files.

Running on eloquent and master branch for all repos.

New to cmake. For rebuilding, I use this command CXX=g++-8 colcon build --cmake-args -DCMAKE_BUILD_TYPE=RELEASE

leia@txlei-ubuntu18:~/rmf_demos_ws$ ros2 launch demos clinic.launch.xml gazebo_version:=9^C
[INFO] [launch]: All log files can be found below /home/leia/.ros/log/2020-09-15-18-03-10-182508-txlei-ubuntu18-18775
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [rmf_traffic_schedule-1]: process started with pid [18786]
[INFO] [building_map_server-2]: process started with pid [18787]
[INFO] [rviz2-3]: process started with pid [18788]
[INFO] [fleet_state_visualizer-4]: process started with pid [18789]
[INFO] [building_systems_visualizer-5]: process started with pid [18790]
[INFO] [rviz2-6]: process started with pid [18791]
[INFO] [door_supervisor-7]: process started with pid [18792]
[INFO] [lift_supervisor-8]: process started with pid [18793]
[INFO] [gzserver-9]: process started with pid [18795]
[INFO] [gzclient-10]: process started with pid [18807]
[INFO] [hospitalRobot_fleet_adapter-11]: process started with pid [18816]
[INFO] [hospitalRobot_state_aggregator-12]: process started with pid [18824]
[INFO] [tinyRobot_fleet_adapter-13]: process started with pid [18825]
[INFO] [tinyRobot_state_aggregator-14]: process started with pid [18826]
[INFO] [deliveryRobot_fleet_adapter-15]: process started with pid [18836]
[INFO] [deliveryRobot_state_aggregator-16]: process started with pid [18853]
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [discovery_timeout] set to: 60.000000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [linear_velocity] set to: 0.700000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [angular_velocity] set to: 0.300000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [linear_acceleration] set to: 0.750000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [angular_acceleration] set to: 2.000000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [footprint_radius] set to: 0.500000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [vicinity_radius] set to: 2.000000
[hospitalRobot_fleet_adapter-11] [INFO] [hospitalRobot_fleet_adapter]: Parameter [reversible] set to: 0
[hospitalRobot_fleet_adapter-11]  ===== We have an irreversible robot
[hospitalRobot_fleet_adapter-11] terminate called after throwing an instance of 'YAML::BadFile'
[hospitalRobot_fleet_adapter-11]   what():  yaml-cpp: error at line 0, column 0: bad file
[tinyRobot_fleet_adapter-13] terminate called after throwing an instance of 'YAML::BadFile'
[tinyRobot_fleet_adapter-13]   what():  yaml-cpp: error at line 0, column 0: bad file
[gzclient-10] Gazebo multi-robot simulator, version 9.14.0
[gzclient-10] Copyright (C) 2012 Open Source Robotics Foundation.
[gzclient-10] Released under the Apache 2 License.
[gzclient-10] http://gazebosim.org
[gzclient-10] 
[gzserver-9] Gazebo multi-robot simulator, version 9.14.0
[gzserver-9] Copyright (C) 2012 Open Source Robotics Foundation.
[gzserver-9] Released under the Apache 2 License.
[gzserver-9] http://gazebosim.org
[gzserver-9] 
[ERROR] [hospitalRobot_fleet_adapter-11]: process has died [pid 18816, exit code -6, cmd '/home/leia/rmf_demos_ws/install/rmf_fleet_adapter/lib/rmf_fleet_adapter/full_control --ros-args -r __node:=hospitalRobot_fleet_adapter --params-file /tmp/launch_params_7i5grtt5 --params-file /tmp/launch_params_equply0u --params-file /tmp/launch_params_lo384nbf --params-file /tmp/launch_params_5euxbhbb --params-file /tmp/launch_params_pbhdqj0a --params-file /tmp/launch_params_60qp2fta --params-file /tmp/launch_params_rdlrjgk9 --params-file /tmp/launch_params_myc8phsi --params-file /tmp/launch_params_2lsjfncu --params-file /tmp/launch_params_7w9gnmmu --params-file /tmp/launch_params_77vvpitl --params-file /tmp/launch_params_zdewi7h1 --params-file /tmp/launch_params_3q5b9ehv --params-file /tmp/launch_params_sg588del --params-file /tmp/launch_params_8cr7trtk'].
[deliveryRobot_fleet_adapter-15] terminate called after throwing an instance of 'YAML::BadFile'
[deliveryRobot_fleet_adapter-15]   what():  yaml-cpp: error at line 0, column 0: bad file
[ERROR] [tinyRobot_fleet_adapter-13]: process has died [pid 18825, exit code -6, cmd '/home/leia/rmf_demos_ws/install/rmf_fleet_adapter/lib/rmf_fleet_adapter/full_control --ros-args -r __node:=tinyRobot_fleet_adapter --params-file /tmp/launch_params_eykjhj09 --params-file /tmp/launch_params_h637b9qg --params-file /tmp/launch_params_r7wodtfl --params-file /tmp/launch_params_npnased3 --params-file /tmp/launch_params_ho1az88x --params-file /tmp/launch_params_y4v5ngas --params-file /tmp/launch_params_8m270gzh --params-file /tmp/launch_params_r310u7az --params-file /tmp/launch_params_1i0t5it1 --params-file /tmp/launch_params_x8czq6kg --params-file /tmp/launch_params_iv4z85_8 --params-file /tmp/launch_params_py6cbsis --params-file /tmp/launch_params_4y8ppoc6 --params-file /tmp/launch_params_q3tmk_b7 --params-file /tmp/launch_params_v7ge3vl9'].
[ERROR] [deliveryRobot_fleet_adapter-15]: process has died [pid 18836, exit code -6, cmd '/home/leia/rmf_demos_ws/install/rmf_fleet_adapter/lib/rmf_fleet_adapter/full_control --ros-args -r __node:=deliveryRobot_fleet_adapter --params-file /tmp/launch_params_2x48mcdr --params-file /tmp/launch_params_3qy8zbs5 --params-file /tmp/launch_params_aaokym1q --params-file /tmp/launch_params_jrumt_jh --params-file /tmp/launch_params_3p4736cl --params-file /tmp/launch_params_vvn835c0 --params-file /tmp/launch_params_44ruwsa8 --params-file /tmp/launch_params_yjfge1ww --params-file /tmp/launch_params_1pxi49js --params-file /tmp/launch_params_q92tswb_ --params-file /tmp/launch_params_7ipn1u2s --params-file /tmp/launch_params_dfcyep37 --params-file /tmp/launch_params_s61472_b --params-file /tmp/launch_params_ht2uus0c --params-file /tmp/launch_params_7doabh53'].
[gzserver-9] [Msg] Waiting for master.
[gzserver-9] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
[gzserver-9] [Msg] Publicized address: 192.168.1.117
[gzserver-9] [Err] [RTShaderSystem.cc:469] Unable to find shader lib. Shader generating will fail.[Wrn] [SystemPaths.cc:464] File or path does not exist ["/home/leia/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/clinic/clinic.world"] [/home/leia/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/clinic/clinic.world]
[gzserver-9] [Err] [Server.cc:391] Could not open file[/home/leia/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/clinic/clinic.world]
[gzserver-9] [Wrn] [Server.cc:350] Falling back on worlds/empty.world

side note when I do a rosdep again, I get these errors.

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
building_sim_common: Cannot locate rosdep definition for [menge]
traffic_editor: Cannot locate rosdep definition for [libignition-common3-dev]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully

RuntimeError: Signal event received before subprocess transport available.

running office.launch.xml on foxy and gazebo11
not sure whether the node related parameter error is a separate issue.

[INFO] [launch]: All log files can be found below /home/leia/.ros/log/2020-09-02-10-42-30-703418-leia-ubuntu-20-68254
[INFO] [launch]: Default logging verbosity is set to INFO
/opt/ros/foxy/lib/python3.8/site-packages/launch/frontend/expose.py:39: UserWarning: The parameter 'node_name' is deprecated, use 'name' instead
  return action_type(**kwargs)
[ERROR] [launch]: Caught exception in launch (see debug for traceback): Caught exception when trying to load file of format [xml]: Passing both 'node_name' and 'name' parameters. Only use 'name'.
Task exception was never retrieved
future: <Task finished name='Task-40' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:271> exception=RuntimeError('Signal event received before subprocess transport available.')>
Traceback (most recent call last):
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 273, in _process_one_event
    await self.__process_event(next_event)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 293, in __process_event
    visit_all_entities_and_collect_futures(entity, self.__context))
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures
    sub_entities = entity.visit(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/action.py", line 108, in visit
    return self.execute(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/opaque_function.py", line 75, in execute
    return self.__function(context, *self.__args, **self.__kwargs)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py", line 421, in __on_signal_process_event
    raise RuntimeError('Signal event received before subprocess transport available.')
RuntimeError: Signal event received before subprocess transport available.
[INFO] [rmf_traffic_schedule-1]: process started with pid [68256]
[INFO] [building_map_server-2]: process started with pid [68258]
[INFO] [rviz2-3]: process started with pid [68260]
[INFO] [fleet_state_visualizer-4]: process started with pid [68262]
[INFO] [building_systems_visualizer-5]: process started with pid [68264]
[INFO] [rviz2-6]: process started with pid [68266]
[INFO] [door_supervisor-7]: process started with pid [68268]
[INFO] [gzserver-8]: process started with pid [68270]
[INFO] [gzclient-9]: process started with pid [68272]
Task exception was never retrieved
future: <Task finished name='Task-41' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:271> exception=RuntimeError('Signal event received before subprocess transport available.')>
Traceback (most recent call last):
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 273, in _process_one_event
    await self.__process_event(next_event)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 293, in __process_event
    visit_all_entities_and_collect_futures(entity, self.__context))
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures
    sub_entities = entity.visit(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/action.py", line 108, in visit
    return self.execute(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/opaque_function.py", line 75, in execute
    return self.__function(context, *self.__args, **self.__kwargs)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py", line 421, in __on_signal_process_event
    raise RuntimeError('Signal event received before subprocess transport available.')
RuntimeError: Signal event received before subprocess transport available.
[INFO] [door_supervisor-7]: sending signal 'SIGINT' to process[door_supervisor-7]
[INFO] [rviz2-6]: sending signal 'SIGINT' to process[rviz2-6]
[INFO] [building_systems_visualizer-5]: sending signal 'SIGINT' to process[building_systems_visualizer-5]
[INFO] [fleet_state_visualizer-4]: sending signal 'SIGINT' to process[fleet_state_visualizer-4]
[ERROR] [rviz2-6]: process has died [pid 68266, exit code -2, cmd 'rviz2 -d /home/leia/rmf_demos_ws/install/demos/share/demos/include/office/office.rviz'].
[INFO] [rviz2-3]: sending signal 'SIGINT' to process[rviz2-3]
[INFO] [building_map_server-2]: sending signal 'SIGINT' to process[building_map_server-2]
[ERROR] [fleet_state_visualizer-4]: process has died [pid 68262, exit code 1, cmd '/home/leia/rmf_demos_ws/install/fleet_state_visualizer/lib/fleet_state_visualizer/fleet_state_visualizer -m L1 --ros-args --params-file /tmp/launch_params_ody2ms3b'].
[INFO] [rmf_traffic_schedule-1]: sending signal 'SIGINT' to process[rmf_traffic_schedule-1]
[ERROR] [building_systems_visualizer-5]: process has died [pid 68264, exit code 1, cmd '/home/leia/rmf_demos_ws/install/building_systems_visualizer/lib/building_systems_visualizer/building_systems_visualizer -m L1 --ros-args --params-file /tmp/launch_params_m5tl2zzc'].
[ERROR] [building_map_server-2]: process has died [pid 68258, exit code -2, cmd '/home/leia/rmf_demos_ws/install/building_map_tools/lib/building_map_tools/building_map_server /home/leia/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/office/office.building.yaml --ros-args'].
[door_supervisor-7] [INFO] [1599014550.858789824] [rclcpp]: signal_handler(signal_value=2)
[building_systems_visualizer-5] Fatal Python error: init_import_size: Failed to import the site module
[building_systems_visualizer-5] Python runtime state: initialized
[fleet_state_visualizer-4] Fatal Python error: init_import_size: Failed to import the site module
[fleet_state_visualizer-4] Python runtime state: initialized
[rmf_traffic_schedule-1] [INFO] [1599014550.867316715] [rmf_traffic_schedule_node]: Beginning traffic schedule node
[fleet_state_visualizer-4] Traceback (most recent call last):
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/site.py", line 597, in <module>
[fleet_state_visualizer-4]     main()
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/site.py", line 584, in main
[fleet_state_visualizer-4]     known_paths = addsitepackages(known_paths)
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/site.py", line 367, in addsitepackages
[fleet_state_visualizer-4]     addsitedir(sitedir, known_paths)
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/site.py", line 214, in addsitedir
[fleet_state_visualizer-4]     addpackage(sitedir, name, known_paths)
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/site.py", line 175, in addpackage
[fleet_state_visualizer-4]     exec(line)
[fleet_state_visualizer-4]   File "<string>", line 1, in <module>
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/importlib/util.py", line 14, in <module>
[fleet_state_visualizer-4]     from contextlib import contextmanager
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/contextlib.py", line 5, in <module>
[fleet_state_visualizer-4]     from collections import deque
[fleet_state_visualizer-4]   File "/usr/lib/python3.8/collections/__init__.py", line 27, in <module>
[fleet_state_visualizer-4]     from reprlib import recursive_repr as _recursive_repr
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap>", line 971, in _find_and_load_unlocked
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap>", line 914, in _find_spec
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap_external>", line 1342, in find_spec
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap_external>", line 1314, in _get_spec
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap_external>", line 1470, in find_spec
[fleet_state_visualizer-4]   File "<frozen importlib._bootstrap_external>", line 1426, in _get_spec
[fleet_state_visualizer-4] KeyboardInterrupt
[rviz2-3] [INFO] [1599014550.867699720] [rclcpp]: signal_handler(signal_value=2)
[rviz2-3] [ERROR] [1599014550.867839163] [viz]: Mirror was not initialized in enough time [120.000000s]!
[rviz2-3] Failed to publish log message to rosout: publisher's context is invalid, at /tmp/binarydeb/ros-foxy-rcl-1.1.7/src/rcl/publisher.c:395
[building_map_server-2] Traceback (most recent call last):
[building_map_server-2]   File "/home/leia/rmf_demos_ws/install/building_map_tools/lib/building_map_tools/building_map_server", line 4, in <module>
[building_map_server-2]     import re
[building_map_server-2]   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
[building_map_server-2]   File "<frozen importlib._bootstrap>", line 971, in _find_and_load_unlocked
[building_map_server-2]   File "<frozen importlib._bootstrap>", line 914, in _find_spec
[building_map_server-2]   File "<frozen importlib._bootstrap_external>", line 1342, in find_spec
[building_map_server-2]   File "<frozen importlib._bootstrap_external>", line 1314, in _get_spec
[building_map_server-2]   File "<frozen importlib._bootstrap_external>", line 1467, in find_spec
[building_map_server-2]   File "<frozen importlib._bootstrap>", line 222, in _verbose_message
[building_map_server-2] KeyboardInterrupt
[building_systems_visualizer-5] Traceback (most recent call last):
[building_systems_visualizer-5]   File "/usr/lib/python3.8/site.py", line 597, in <module>
[building_systems_visualizer-5]     main()
[building_systems_visualizer-5]   File "/usr/lib/python3.8/site.py", line 584, in main
[building_systems_visualizer-5]     known_paths = addsitepackages(known_paths)
[building_systems_visualizer-5]   File "/usr/lib/python3.8/site.py", line 367, in addsitepackages
[building_systems_visualizer-5]     addsitedir(sitedir, known_paths)
[building_systems_visualizer-5]   File "/usr/lib/python3.8/site.py", line 214, in addsitedir
[building_systems_visualizer-5]     addpackage(sitedir, name, known_paths)
[building_systems_visualizer-5]   File "/usr/lib/python3.8/site.py", line 175, in addpackage
[building_systems_visualizer-5]     exec(line)
[building_systems_visualizer-5]   File "<string>", line 1, in <module>
[building_systems_visualizer-5]   File "/usr/lib/python3.8/importlib/util.py", line 2, in <module>
[building_systems_visualizer-5]     from . import abc
[building_systems_visualizer-5]   File "/usr/lib/python3.8/importlib/abc.py", line 183, in <module>
[building_systems_visualizer-5]     class ResourceLoader(Loader):
[building_systems_visualizer-5]   File "/usr/lib/python3.8/importlib/abc.py", line 193, in ResourceLoader
[building_systems_visualizer-5]     def get_data(self, path):
[building_systems_visualizer-5]   File "/usr/lib/python3.8/abc.py", line 7, in abstractmethod
[building_systems_visualizer-5]     def abstractmethod(funcobj):
[building_systems_visualizer-5] KeyboardInterrupt
[rmf_traffic_schedule-1] [INFO] [1599014550.872657087] [rclcpp]: signal_handler(signal_value=2)
[rmf_traffic_schedule-1] [INFO] [1599014550.872884514] [rmf_traffic_schedule_node]: Closing down traffic schedule node
[rviz2-3] [WARN] [1599014550.877980496] [viz]: [rmf_traffic_ros2::~MirrorManagerFuture] Timeout while waiting for the acknowlegment of a query registration.
[gzclient-9] Gazebo multi-robot simulator, version 11.1.0
[gzclient-9] Copyright (C) 2012 Open Source Robotics Foundation.
[gzclient-9] Released under the Apache 2 License.
[gzclient-9] http://gazebosim.org
[gzclient-9] 
[gzserver-8] Gazebo multi-robot simulator, version 11.1.0
[gzserver-8] Copyright (C) 2012 Open Source Robotics Foundation.
[gzserver-8] Released under the Apache 2 License.
[gzserver-8] http://gazebosim.org
[gzserver-8] 
[rviz2-3] Failed to initialize the visualizer node
[INFO] [door_supervisor-7]: process has finished cleanly [pid 68268]
[ERROR] [rviz2-3]: process has died [pid 68260, exit code 1, cmd '/home/leia/rmf_demos_ws/install/rmf_schedule_visualizer/lib/rmf_schedule_visualizer/rviz2 -r 10 -m L1 --ros-args --params-file /tmp/launch_params_dbj3iydb'].
[INFO] [rmf_traffic_schedule-1]: process has finished cleanly [pid 68256]
[gzserver-8] [INFO] [1599014552.280639660] [teleport_dispenser]: Started TeleportDispenserPlugin node...
[gzserver-8] [INFO] [1599014552.281115024] [teleport_dispenser]: Found dispenser item: [Coke]
[gzserver-8] [INFO] [1599014552.298344478] [teleport_ingestor]: Started TeleportIngestorPlugin node...
[gzserver-8] [INFO] [1599014552.326725561] [slotcar_tinyRobot2]: Setting nominal drive speed to: 0.500000
[gzserver-8] [INFO] [1599014552.326753280] [slotcar_tinyRobot2]: Setting nominal drive acceleration to: 0.250000
[gzserver-8] [INFO] [1599014552.326760771] [slotcar_tinyRobot2]: Setting max drive acceleration to: 0.750000
[gzserver-8] [INFO] [1599014552.326767045] [slotcar_tinyRobot2]: Setting nominal turn speed to:0.600000
[gzserver-8] [INFO] [1599014552.326773478] [slotcar_tinyRobot2]: Setting nominal turn acceleration to:1.500000
[gzserver-8] [INFO] [1599014552.326779514] [slotcar_tinyRobot2]: Setting max turn acceleration to:2.000000
[gzserver-8] [INFO] [1599014552.326785777] [slotcar_tinyRobot2]: Setting stop distance to:0.750000
[gzserver-8] [INFO] [1599014552.326805302] [slotcar_tinyRobot2]: Setting stop radius to:0.750000
[gzserver-8] [INFO] [1599014552.326810761] [slotcar_tinyRobot2]: Setting tire radius to:0.100000
[gzserver-8] [INFO] [1599014552.326835281] [slotcar_tinyRobot2]: Setting base width to:0.320600
[gzserver-8] [INFO] [1599014552.326840703] [slotcar_tinyRobot2]: Setting name to: tinyRobot2
[gzserver-8] [INFO] [1599014552.333716811] [slotcar_tinyRobot2]: Initialising slotcar for tinyRobot2
[gzserver-8] [INFO] [1599014552.333827531] [slotcar_tinyRobot1]: Setting nominal drive speed to: 0.500000
[gzserver-8] [INFO] [1599014552.333838149] [slotcar_tinyRobot1]: Setting nominal drive acceleration to: 0.250000
[gzserver-8] [INFO] [1599014552.333844697] [slotcar_tinyRobot1]: Setting max drive acceleration to: 0.750000
[gzserver-8] [INFO] [1599014552.333850877] [slotcar_tinyRobot1]: Setting nominal turn speed to:0.600000
[gzserver-8] [INFO] [1599014552.333856909] [slotcar_tinyRobot1]: Setting nominal turn acceleration to:1.500000
[gzserver-8] [INFO] [1599014552.333862933] [slotcar_tinyRobot1]: Setting max turn acceleration to:2.000000
[gzserver-8] [INFO] [1599014552.333882660] [slotcar_tinyRobot1]: Setting stop distance to:0.750000
[gzserver-8] [INFO] [1599014552.333888107] [slotcar_tinyRobot1]: Setting stop radius to:0.750000
[gzserver-8] [INFO] [1599014552.333893839] [slotcar_tinyRobot1]: Setting tire radius to:0.100000
[gzserver-8] [INFO] [1599014552.333899497] [slotcar_tinyRobot1]: Setting base width to:0.320600
[gzserver-8] [INFO] [1599014552.333903299] [slotcar_tinyRobot1]: Setting name to: tinyRobot1
[gzserver-8] [WARN] [1599014552.333951812] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[gzserver-8] [INFO] [1599014552.337128062] [slotcar_tinyRobot1]: Initialising slotcar for tinyRobot1
[gzserver-8] [INFO] [1599014552.350486518] [door]: Loading DoorPlugin for [main_door]
[gzserver-8] [Msg] Waiting for master.
[gzserver-8] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
[gzserver-8] [Msg] Publicized address: 192.168.1.117
[gzserver-8] Using specified value [0.5] for property [v_max_door]
[gzserver-8] Using specified value [0.3] for property [a_max_door]
[gzserver-8] Using specified value [0.15] for property [a_nom_door]
[gzserver-8] Using specified value [0.01] for property [dx_min_door]
[gzserver-8] Using specified value [500] for property [f_max_door]
[gzserver-8] Using specified attribute value [left_joint] for property [left_joint_name]
[gzserver-8] Using specified attribute value [right_joint] for property [right_joint_name]
[gzserver-8] Using specified attribute value [DoubleSwingDoor] for property [type]
[gzserver-8] Using specified attribute value [right_joint] for property [name]
[gzserver-8] Using specified value [0] for property [lower]
[gzserver-8] Using specified value [1.57] for property [upper]
[gzserver-8] Using specified attribute value [right_joint] for property [name]
[gzserver-8] Using specified value [0] for property [lower]
[gzserver-8] Using specified value [1.57] for property [upper]
[gzserver-8] Using specified attribute value [left_joint] for property [name]
[gzserver-8] Using specified value [-1.57] for property [lower]
[gzserver-8] Using specified value [0] for property [upper]
[gzserver-8] [INFO] [1599014552.355054487] [door]: Finished loading [main_door]
[gzserver-8] [WARN] [1599014552.355178371] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[gzserver-8] [INFO] [1599014552.356725309] [door]: Loading DoorPlugin for [coe_door]
[gzserver-8] Using specified value [0.5] for property [v_max_door]
[gzserver-8] Using specified value [0.3] for property [a_max_door]
[gzserver-8] Using specified value [0.15] for property [a_nom_door]
[gzserver-8] Using specified value [0.01] for property [dx_min_door]
[gzserver-8] Using specified value [500] for property [f_max_door]
[gzserver-8] Using specified attribute value [left_joint] for property [left_joint_name]
[gzserver-8] Using specified attribute value [empty_joint] for property [right_joint_name]
[gzserver-8] Using specified attribute value [SwingDoor] for property [type]
[gzserver-8] Using specified attribute value [left_joint] for property [name]
[gzserver-8] Using specified value [-1.57] for property [lower]
[gzserver-8] Using specified value [0] for property [upper]
[gzserver-8] Using specified attribute value [left_joint] for property [name]
[gzserver-8] Using specified value [-1.57] for property [lower]
[gzserver-8] Using specified value [0] for property [upper]
[gzserver-8] [INFO] [1599014552.359435644] [door]: Finished loading [coe_door]
[gzserver-8] [WARN] [1599014552.359577651] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[gzserver-8] [INFO] [1599014552.361515281] [door]: Loading DoorPlugin for [hardware_door]
[gzserver-8] Using specified value [0.5] for property [v_max_door]
[gzserver-8] Using specified value [0.3] for property [a_max_door]
[gzserver-8] Using specified value [0.15] for property [a_nom_door]
[gzserver-8] Using specified value [0.01] for property [dx_min_door]
[gzserver-8] Using specified value [500] for property [f_max_door]
[gzserver-8] Using specified attribute value [left_joint] for property [left_joint_name]
[gzserver-8] Using specified attribute value [empty_joint] for property [right_joint_name]
[gzserver-8] Using specified attribute value [SwingDoor] for property [type]
[gzserver-8] Using specified attribute value [left_joint] for property [name]
[gzserver-8] Using specified value [-1.57] for property [lower]
[gzserver-8] Using specified value [0] for property [upper]
[gzserver-8] Using specified attribute value [left_joint] for property [name]
[gzserver-8] Using specified value [-1.57] for property [lower]
[gzserver-8] Using specified value [0] for property [upper]
[gzserver-8] [INFO] [1599014552.363879555] [door]: Finished loading [hardware_door]
[ERROR] [gzclient-9]: process[gzclient-9] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[ERROR] [gzserver-8]: process[gzserver-8] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [gzclient-9]: sending signal 'SIGTERM' to process[gzclient-9]
[INFO] [gzserver-8]: sending signal 'SIGTERM' to process[gzserver-8]
[ERROR] [gzserver-8]: process has died [pid 68270, exit code -15, cmd 'gzserver --verbose -s libgazebo_ros_factory.so -s libgazebo_ros_init.so /home/leia/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/office/office.world'].
[ERROR] [gzclient-9]: process has died [pid 68272, exit code -15, cmd 'gzclient --verbose /home/leia/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/office/office.world'].

ROS 2 Foxy support

There are a few branches of dependencies (for example, the foxy branch of rmf_core) that add Foxy support. This issue is intended as a meta-ticket to track progress on those dependencies, as well as "deeper" dependencies such as rmw implementations.

Improve visualization of the maps

Moved over from open-rmf/rmf-web#137


Since we agreed to have a sandbox for the tutorial, with a particular map (which could be the office map), I think it would be interesting to improve this map (make something similar to the airport maybe), because it will be displayed in all Romi-dashboard instances that future clients will have.
Current office blueprint:

image

Simulation map viewed from above
office

gazebo_ros/node.hpp build errors

i believe the following lines require the addition of ${gazebo_ros_INCLUDE_DIRS}

https://github.com/osrf/traffic_editor/blob/master/building_gazebo_plugins/CMakeLists.txt#L60
https://github.com/osrf/traffic_editor/blob/master/building_gazebo_plugins/CMakeLists.txt#L99
https://github.com/osrf/rmf_demos/blob/master/rmf_gazebo_plugins/CMakeLists.txt#L56
https://github.com/osrf/rmf_demos/blob/master/rmf_gazebo_plugins/CMakeLists.txt#L82
https://github.com/osrf/rmf_demos/blob/master/rmf_gazebo_plugins/CMakeLists.txt#L108

Otherwise these errors seem to appear non-deterministically :

11:30

--- stderr: rmf_gazebo_plugins                                                                                                                                                                                                                                                                                    
/home/bhan/rmf_integration_challenge/challenge_trials_workspace/src/rmf/rmf_demos/rmf_gazebo_plugins/src/readonly.cpp:22:10: fatal error: gazebo_ros/node.hpp: No such file or directory                                                                                                                          
 #include <gazebo_ros/node.hpp>                                                                                                                                                                                                                                                                                   
          ^~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                   
compilation terminated.                                                                                                                                                                                                                                                                                           
make[2]: *** [CMakeFiles/readonly.dir/src/readonly.cpp.o] Error 1                                                                                                                                                                                                                                                 
make[1]: *** [CMakeFiles/readonly.dir/all] Error 2                                                                                                                                                                                                                                                                
make[1]: *** Waiting for unfinished jobs....                                                                                                                                                                                                                                                                      
/home/bhan/rmf_integration_challenge/challenge_trials_workspace/src/rmf/rmf_demos/rmf_gazebo_plugins/src/TeleportDispenser.cpp:27:10: fatal error: gazebo_ros/node.hpp: No such file or directory                                                                                                                 
 #include <gazebo_ros/node.hpp>                                                                                                                                                                                                                                                                                   
          ^~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                   
compilation terminated.                                                                                                                                                                                                                                                                                           
make[2]: *** [CMakeFiles/teleport_dispenser.dir/src/TeleportDispenser.cpp.o] Error 1                                                                                                                                                                                                                              
make[1]: *** [CMakeFiles/teleport_dispenser.dir/all] Error 2                                                                                                                                                                                                                                                      
/home/bhan/rmf_integration_challenge/challenge_trials_workspace/src/rmf/rmf_demos/rmf_gazebo_plugins/src/TeleportIngestor.cpp:27:10: fatal error: gazebo_ros/node.hpp: No such file or directory                                                                                                                  
 #include <gazebo_ros/node.hpp>                                                                                                                                                                                                                                                                                   
          ^~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                   
compilation terminated.               

This affects both master and develop.

Coke Can does not move during Delivery

The default building pipeline causes the coke can to be a static object, and thus when delivery is being carried out, the coke can does not move with the magnis.

This command, run in the rmf_demos_ws folder, should fix this temporarily:
sed -i '/<name>Coke_58<\/name>/{n;n;n; s/true/false/g}' install/rmf_demo_maps/share/rmf_demo_maps/maps/office/office.world

Error during launching the Office World

Hi,

after following the installation instructions, I've been able to launch the Terminal Airport launch file along with spawning and sending commands to robots, but I wasn't able to launch the Office World.
After running both

$ source ~/rmf_demos_ws/install/setup.bash
$ ros2 launch demos office.launch.xml

I got the following errors:

[gzclient-8] [Msg] Waiting for master.
[gzclient-8] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
[gzclient-8] [Msg] Publicized address: 192.168.8.100
[gzclient-8] [Err] [Node.cc:105] No namespace found
[ERROR] [gzserver-7]: process has died [pid 28191, exit code -11, cmd 'gzserver --verbose -s libgazebo_ros_factory.so -s libgazebo_ros_init.so /home/shyngys/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/office/office.world'].
[gzclient-8] [Err] [TransportIface.cc:396] Unable to connect to master.
[gzclient-8] [Err] [GLWidget.cc:881] Unable to connect to a running Gazebo master.

I have tried launching
gzserver --verbose -s libgazebo_ros_factory.so -s libgazebo_ros_init.so /home/shyngys/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/office/office.world
and have found that

No namespace found

leads to the following parts:

[Err] [ModelDatabase.cc:414] Unable to download model[model://OfficeChairBlack]
[Err] [SystemPaths.cc:412] File or path does not exist[""]
....
Error Code: 11 Msg: Unable to find uri[model://OfficeChairBlack]
Error Code: 11 Msg: Unable to find uri[model://OfficeChairBlack]
....

I've tried to dig deeper and have found that variable "model_path" was linking to a path that does not contain models folder inside. As I have found out rmf_demo_assets package was actually linking to the /rmf_demos_ws/install/rmf_demo_assets path which contains /share/rmf_demo_assets/ folders which one actually has the desired /models/ folder.
I understand that this package may possibly was confused with~/rmf_demos_ws/src/rmf/rmf_demos/rmf_demo_assets.

Finally, updating office.launch.xml file with the following makes everything work just fine:

<let name="model_path" value="$(find-pkg-share rmf_demo_maps)/maps/office/models:$(find-pkg-share rmf_demo_assets)/share/rmf_demo_assets/models:/usr/share/gazebo-9/models" />

The gazebo dependencies environment

Hi, I'm trying to learn this repo, and I'm trying to create a docker image to make a stable environment.

I found there might be an issue in rmf_gazebo_plugins.

Following the previous issue https://github.com/osrf/rmf_demos/issues/50, I found there are some bugs when launching this demo with gazebo 9.0.0 (no namespace found issue) after building procedures in README.md. And I found that the built target can be successfully launched with gazebo 9.13.0.

In order to get rid of downloading all of the pkgs everytime I start the docker container, I decided to install the dependencies inside the Dockerfile. But the building process always gets stuck in the rmf_gazebo_plugins pkg.

Here is what I found:

Configure the latest gazebo sources list (with version 9.13.0) in the Dockerfile. Starting the container and install all the dependencies with rosdep install, the following building error pops:

root@5c51ae7a41c4:~/rmf_demos_ws# colcon build --packages-select rmf_gazebo_plugins
Starting >>> rmf_gazebo_plugins
--- stderr: rmf_gazebo_plugins
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libignition-common1.so.1.0.1', needed by 'libteleport.so'.  Stop.
make[1]: *** [CMakeFiles/teleport.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libignition-common1.so.1.0.1', needed by 'libreadonly.so'.  Stop.
make[1]: *** [CMakeFiles/readonly.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< rmf_gazebo_plugins	[ Exited with code 2 ]

And I checked the /usr/lib/x86_64-linux-gnu/, the dynamic link library is libignition-common1.so.1.1.1. Seems that the lib for gazebo 9.13.0 is updated. But this repo still uses the old one to compile.

The only procedure I have successfully built and launch is :
first, following the repo instruction to build the repo
second, upgrade the gazebo 9.13.0 and launch

I haven't tried additionally add the dll file libignition-common1.so.1.0.1 to the library for building, which should be working. But this might be too much for configuring the environment. Is it possible to update the dependencies of this repo? The API between 1.0.1 and 1.1.1 should be the same.

rmf_demos installation - colcon build error (stderr: test_maps...)

To install and run rmf_demos, I followed steps in rmf_demos_installation.

Everything went as expected until Compiling-Ubuntu20.04. I got the following error:

`--- stderr: test_maps
Traceback (most recent call last):
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/building_map_tools/building_map_generator", line 11, in <module>
    load_entry_point('building-map-tools==0.0.0', 'console_scripts', 'building_map_generator')()
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map_generator/building_map_generator.py", line 16, in main
    g.generate_gazebo_sdf(
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/generator.py", line 59, in generate_gazebo_sdf
    self.generate_sdf(
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/generator.py", line 44, in generate_sdf
    sdf = building.generate_sdf_world(options)
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/building.py", line 207, in generate_sdf_world
    level.generate_doors(world, options)
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/level.py", line 174, in generate_doors
    self.generate_door(door_edge, world_ele, options)
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/level.py", line 189, in generate_door
    door = DoubleSwingDoor(door_edge, self.elevation)
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/doors/double_swing_door.py", line 7, in __init__
    super().__init__(door_edge, level_elevation)
  File "/home/albert/rmf_demos_ws/install/building_map_tools/lib/python3.8/site-packages/building_map/doors/door.py", line 9, in __init__
    self.plugin = door_edge.params['plugin'].value
KeyError: 'plugin'
make[2]: *** [CMakeFiles/generate_door_madness.dir/build.make:61: maps/door_madness/door_madness.world] Error 1
make[1]: *** [CMakeFiles/Makefile2:78: CMakeFiles/generate_door_madness.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed   <<< test_maps [0.84s, exited with code 2]

Summary: 35 packages finished [20.7s]
  1 package failed: test_maps
  1 package had stderr output: test_maps`


Attached is the build log. Let me know if you need any additional info. Thanks.
rmf_demos_github_issues_tracker.txt

RobotState floor name

I am now getting the following error in my rmf_demo scenario after pulling the latest rmf_core and rmf_schedule_visualizer. The built in scenarios do not generate this error.

[magni_fleet_adapter-10] [ERROR] [magni_fleet_adapter]: Robot named [magni2] belonging to fleet [magni] is lost because we cannot figure out what floor it is on. Please publish the robot's current floor name in the level_name field of its RobotState.

There seems to be something wrong when the RobotState message is published. I am wondering aspects of the scenario may cause this error. Does it have something to do with how I set the floors?

Error launching demos

I have followed the installation instructions and tried to run
$ ros2 launch -d demos office.launch.xml
but this what I get

[INFO] [launch]: All log files can be found below /home/shyngys/.ros/log/2020-03-29-19-13-34-445338-shyngys-HP-ENVY-15-Notebook-PC-13832
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): The launch file may have a syntax error, or its format is unknown

Log files have the same information.
Running the detailed output shows:

$ ros2 launch -d demos office.launch.xml
[DEBUG] [launch.launch_context]: emitting event synchronously: 'launch.events.IncludeLaunchDescription'
[DEBUG] [launch.launch_context]: emitting event synchronously: 'launch.events.IncludeLaunchDescription'
[INFO] [launch]: All log files can be found below /home/shyngys/.ros/log/2020-03-29-19-14-05-631021-shyngys-HP-ENVY-15-Notebook-PC-13851
[INFO] [launch]: Default logging verbosity is set to DEBUG
[DEBUG] [launch]: processing event: '<launch.events.include_launch_description.IncludeLaunchDescription object at 0x7f310e7a8390>'
[DEBUG] [launch]: processing event: '<launch.events.include_launch_description.IncludeLaunchDescription object at 0x7f310e7a8390>' ✓ '<launch.event_handlers.on_include_launch_description.OnIncludeLaunchDescription object at 0x7f3104493978>'
[DEBUG] [launch]: processing event: '<launch.events.include_launch_description.IncludeLaunchDescription object at 0x7f31005b6048>'
[DEBUG] [launch]: processing event: '<launch.events.include_launch_description.IncludeLaunchDescription object at 0x7f31005b6048>' ✓ '<launch.event_handlers.on_include_launch_description.OnIncludeLaunchDescription object at 0x7f3104493978>'
[DEBUG] [launch]: Traceback (most recent call last):
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_service.py", line 385, in run_async
    await process_one_event_task
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 126, in send
    return self.gen.send(value)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_service.py", line 295, in _process_one_event
    await self.__process_event(next_event)
  File "/usr/lib/python3.6/asyncio/coroutines.py", line 110, in __next__
    return self.gen.send(None)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_service.py", line 315, in __process_event
    visit_all_entities_and_collect_futures(entity, self.__context))
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
    futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
    futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures
    sub_entities = entity.visit(context)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/action.py", line 108, in visit
    return self.execute(context)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/actions/include_launch_description.py", line 125, in execute
    launch_description = self.__launch_description_source.get_launch_description(context)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_description_source.py", line 84, in get_launch_description
    self._get_launch_description(self.__expanded_location)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_description_sources/any_launch_description_source.py", line 53, in _get_launch_description
    return get_launch_description_from_any_launch_file(location)
  File "/opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_description_sources/any_launch_file_utilities.py", line 56, in get_launch_description_from_any_launch_file
    raise InvalidLaunchFileError(extension, likely_errors=exceptions)
launch.invalid_launch_file_error.InvalidLaunchFileError: The launch file may have a syntax error, or its format is unknown

[ERROR] [launch]: Caught exception in launch (see debug for traceback): The launch file may have a syntax error, or its format is unknown
[DEBUG] [launch.launch_context]: emitting event: 'launch.events.Shutdown'
[DEBUG] [launch]: processing event: '<launch.events.shutdown.Shutdown object at 0x7f30fc455f60>'
[DEBUG] [launch]: processing event: '<launch.events.shutdown.Shutdown object at 0x7f30fc455f60>' ✓ '<launch.event_handlers.on_shutdown.OnShutdown object at 0x7f30fc4559b0>'
[DEBUG] [launch]: processing event: '<launch.events.shutdown.Shutdown object at 0x7f30fc455f60>' ✓ '<launch.event_handlers.on_shutdown.OnShutdown object at 0x7f310ca41ef0>'
Executing <Task finished coro=<LaunchService._process_one_event() done, defined at /opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_service.py:293> result=None created at /opt/ros/eloquent/lib/python3.6/site-packages/launch/launch_service.py:363> took 1.000 seconds

I have looked at the launch file and everything seems ok. Have anyone met this issue?
(I have additionally, uninstalled the apt version of gazebo and installed it using rosdep, but result is the same)

Incompatible Gazebo Version

It seems that the command curl -sSL http://get.gazebosim.org | sh might now install gazebo 11, while the version compatible with ros2 Eloquent is Gazebo 9, which leads to some installation errors.

Also the README might have some sequence errors right now, in particular the command rosdep install --from-paths src --ignore-src --rosdistro eloquent which appears before the creation of the rmf_demo_ws folder.

Protobuf incompatibility errors

I am encountering challenging errors regarding protobuf incompatibility on my laptop. ( Apex 15 Aftershock ).

Thus during build, I encounter a build warning
Protobuf compiler version does 3.4.0 does not match library version 3.0.0.
Additionally, during running of the demo I get errors as well:
[gzserver-7] [libprotobuf FATAL google/protobuf/stubs/common.cc:67] This program requires version 3.4.0 of the Protocol Buffer runtime library, but the installed version is 3.0.0. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "/home/bhan/dev/cartographer_ws/protobuf/src/google/protobuf/descriptor.pb.cc".)

the output of /usr/bin/protoc --version is 3.0.0 while /lusr/local/bin/protoc --version is 3.4.0. It seems that somehow the build process "finds" the old version first.

What might be the best way to avoid this?

Specify enclaves for ros nodes started by plugins on gzclient

Security on Ros2 requires the user to specify the enclave so it can find the security keys needed for the communication at the DDS level. The usual way to specify this is passing --enclave <enclave_info> as an argument to ros on the command line when executing a ros node, however this doesn't seem to be trivial when ros nodes are created by plugins on gzclient.

Using --ros-args --enclave <enclave_info> seems to work for plugins in gzserver but not for gzclient. It would be good to figure out a way to pass the--enclave to ros when usinggzclient.

It seems that libgazebo_ros_init.so might be in charge of this, so it would be good to digg into the code here to see what code path it's taking:

https://github.com/ros-simulation/gazebo_ros_pkgs/blob/8e3f7d7622fa7422d601010ac34cf4aaf06d4c3c/gazebo_ros/src/gazebo_ros_init.cpp#L140-L146

Race condition with RMF panel

Related to #113 . The current panel populates its list of selector waypoints by parsing a navigation graph whose location is inferred from node parameters of the fleet adapter. This requires the fleet adapter node to be up and running before the fleet state aggregator publishes a FleetState msg. However, when simulations/demos are run across multiple machines, this cannot be guaranteed.

package that spawns tinyrobot

In office.launch demo, how does the simulated tinyrobot actually get spawned in gazebo? Its different from my understanding referencing the turtlebot3_gazebo launches that use the gazebo_ros package. In rqt_graph, I could not find common robot topics like /cmd_vel and /scan for each robot.

On another note, could you point to me the configuration where gazebo learns to spawn 2 tinyrobot in particular to the office demo context?

Specifically, I am actually trying to spawn multiple turtlebots with its individual free fleet client node, and sending request_msg commands from rmf_demo_tasks.

rqt unable to view nodes graph

Hi, after a clean installation, I was able to run the office.launch.xml. However, I cannot seem to view the nodes graph. Can I have a screenshot of how the full nodes graph looks like? Thanks.

$ source ~/rmf_demos_ws/install/setup.bash
$ rqt

image

model not found

I tried to build a map with traffic editor and launched it as a demo but got the following errors

[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Toilet]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Toilet]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Shower]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Shower]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://BathroomMirror]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://BathroomMirror]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Basin]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Basin]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://TVStand]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://TV]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://TrolleyBed]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Sofa]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://Sofa]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://CoffeeTable]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://CoffeeTable]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://BedsideTable]
[ign-7] [Err] [Server.cc:146] Error Code 12 Msg: Unable to find uri[model://BedsideTable]
[ign-7] [Err] [Server.cc:146] Error Code 5 Msg: Unable to read attribute[name]
[ign-7] [Err] [Server.cc:146] Error Code 8 Msg: Error reading element <model>
[ign-7] [Err] [Server.cc:146] Error Code 8 Msg: Error reading element <world>
[ign-7] [Err] [Server.cc:146] Error Code 8 Msg: Error reading element <sdf>

I realized that these models are not included in the rmf_demo_assets and I don't see them in the open source gazebo models I cloned when following the README. Where can I get these models?

gzclient crashes when launching airport_temrinal or clinic worlds

When launching airport_terminal or clinic worlds, the Gazebo client crashes with error

[ERROR] [gzclient-10]: process has died [pid 129954, exit code -11, cmd 'gzclient --verbose /home/yadu/ws_cag/install/rmf_demo_maps/share/rmf_demo_maps/maps/airport_terminal/airport_terminal.world'].

The cause for this crash was narrowed down to missing files in the Oak Tree model folder that gets downloaded into ~/.gazebo/models. The Oak tree and Pine Tree models have since been updated (version 6 and 5 respectively).

To prevent the crashes from happening, first remove the old model folders

rm -rf ~/.gazebo/models/Oak\ tree/ 
rm -rf ~/.gazebo/models/Pine\ Tree/

Then rebuild rmf_demo_maps

cd ~/rmf_demos_ws/
colcon build --packages-select rmf_demo_maps

This will re-download the latest versions of these models.

Demo machine spec

Hi,

what's a good machine spec for this demo?
Im using Ubuntu on Hyper V with number of vCPU 8, 1GB RAM and it is cant' even show any image in gazebo.

README improvements

Hi there, would like to suggest the following changes to the README:

  1. Add slash at the end of this line to make copy-paste execution work:
    https://github.com/osrf/rmf_demos/blame/14ee16fbb0baa4f37a93c61a16090aff338fd3c5/README.md#L41

  2. Spelling error:
    https://github.com/osrf/rmf_demos/blame/14ee16fbb0baa4f37a93c61a16090aff338fd3c5/README.md#L47

  3. Add the following dependencies for traffic-editor
    sudo apt install python3-shapely python3-yaml

  4. I encountered arcane c++ errors which were resolved on clean reinstall of gazebo: sudo apt remove gazebo* Thus I think its worth insisting the user to ensure they at least upgrade to the latest gazebo version in the README

Loop request fails for a certain waypoint

OS version: 20.04, ros foxy
Branch: Master of rmf demos

commands used: ros2 launch demos imda.launch.xml

When i launch my file, the gazebo and rviz panels work fine. The tinyrobot is able to navigate to most waypoints. Attached is the screenshot of my rviz for reference

Screenshot from 2021-01-19 16-53-07

However there is a certain point that I named waiting1 that the tinyRobot is unable to navigate to. Attached is the error message for reference.

Screenshot from 2021-01-19 16-55-26

The line referencing the point in the building.yaml file is - [353.253, 77.66800000000001, 0, waiting1], and the corresponding nav file is - - 26.782523101542488
- -6.092391183051954
- {name: waiting1}

I have also tried adding the is_passthrough_point attribute on the building.yaml and nav file, but the result is the same.

Please advise. Thank you.

Issue in building rmf_demo_ws

I faced two errors while buidling the rmf_demo_ws with colcon build

  1. /usr/include/ignition/msgs1/ignition/msgs/color.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
    #error This file was generated by an older version of protoc which is
  2. /usr/include/ignition/msgs1/ignition/msgs/world_modify.pb.h:274:93: error: no matching function for call to ‘google::protobuf::internal::ArenaStringPtr::GetNoArena(const string*) const’
    return world_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());

what needs to be done to solve it ? For detailed error info i am attaching logs.
log.txt

Gazebo segfaults when launching rmf demos

@marcoag following up on the security working group discussion, here is a copy of the bug report.

Attempt to run the demos from source

Following the instructions from https://github.com/osrf/rmf_demos:

Dockerfile used
FROM ros:foxy

RUN apt-get update \
  && apt-get install -y \
    cmake \
    curl \
    git \
    python3-colcon-common-extensions \
    python3-requests \
    python3-shapely \
    python3-vcstool \
    python3-yaml \
    qt5-default \
    wget \
  && rm -rf /var/lib/apt/lists/*

# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D2486D2DD83DB69272AFE98867170598AF249743

# setup sources.list
RUN . /etc/os-release \
    && echo "deb http://packages.osrfoundation.org/gazebo/$ID-stable `lsb_release -sc` main" > /etc/apt/sources.list.d/gazebo-latest.list

RUN mkdir $HOME/rmf_demos_ws
WORKDIR $HOME/rmf_demos_ws
RUN mkdir src
RUN rosdep update --rosdistro $ROS_DISTRO
RUN wget https://raw.githubusercontent.com/osrf/rmf_demos/master/rmf_demos.repos \
    && vcs import src < rmf_demos.repos \
    && apt-get update \
    && apt-get upgrade -y \
    && rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y \
    && rm -rf /var/lib/apt/lists/*
RUN apt-get update \
    && apt-get install -y ignition-dome \
    && rm -rf /var/lib/apt/lists/*

RUN . /opt/ros/$ROS_DISTRO/setup.sh \
  && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

Expected behavior

The simulation starts and run happily

Actual behavior

Gazebo launches and segfaults shortly after

tail of console log
[rviz2-6] [INFO] [1606340954.261175401] [rmf_panel]: New Fleet found, refreshing...
[rmf_traffic_schedule-1] [INFO] [1606340954.754401724] [rmf_traffic_schedule_node]: Registered participant [6] named [tinyRobot_4] owned by [tinyRobot]
[rmf_traffic_schedule-1] [INFO] [1606340954.754525478] [rmf_traffic_schedule_node]: Registered participant [7] named [deliveryRobot_2] owned by [deliveryRobot]
[rmf_traffic_schedule-1] [INFO] [1606340954.754662526] [rmf_traffic_schedule_node]: Registered participant [8] named [tinyRobot_2] owned by [tinyRobot]
[full_control-11] [INFO] [1606340954.754693004] [tinyRobot_fleet_adapter]: Added a robot named [tinyRobot_4] with participant ID [6]
[full_control-11] [INFO] [1606340954.754805666] [tinyRobot_fleet_adapter]: Added a robot named [tinyRobot_2] with participant ID [8]
[full_control-13] [INFO] [1606340954.754730715] [deliveryRobot_fleet_adapter]: Added a robot named [deliveryRobot_2] with participant ID [7]
[gzclient-10] [INFO] [1606340956.896787671] [gazebo_ros_node]: ROS was initialized without arguments.
[ERROR] [gzclient-10]: process has died [pid 65, exit code -11, cmd 'gzclient --verbose /rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/airport_terminal/airport_terminal.world'].
[gzclient-10] 

How to reproduce

Build an image with the provided Dockerfile

docker build -t rmf:test .

Lanch a container, source the workspace and start the demo:

rocker --x11 --nvidia rmf:test
# source install/setup.bash
# ros2 launch demos airport_terminal.launch.xml

The same thing happens when trying to use the binaries.

Dockerfile used
FROM ros:foxy

RUN apt-get update \
  && apt-get install -y \
    cmake \
    curl \
    git \
    python3-colcon-common-extensions \
    python3-requests \
    python3-shapely \
    python3-vcstool \
    python3-yaml \
    qt5-default \
    wget \
  && rm -rf /var/lib/apt/lists/*

# setup keys
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D2486D2DD83DB69272AFE98867170598AF249743

# setup sources.list
RUN . /etc/os-release \
    && echo "deb http://packages.osrfoundation.org/gazebo/$ID-stable `lsb_release -sc` main" > /etc/apt/sources.list.d/gazebo-latest.list
RUN curl -s http://rmf.servehttp.com/repos.key | apt-key add - \
    && sh -c 'echo "deb http://rmf.servehttp.com/ubuntu/main/ `lsb_release -cs` main" > /etc/apt/sources.list.d/rmf.list'

RUN apt-get update \
    && apt-get install -y ros-foxy-demos \
    && rm -rf /var/lib/apt/lists/*
RUN . /opt/ros/$ROS_DISTRO/setup.sh \
  && ros2 run building_map_tools model_downloader rmf_demo_maps -s airport_terminal 
tail of console log
[gzserver-9] [INFO] [1606341203.018220722] [door]: Finished loading [s08_door]
[gzclient-10] [INFO] [1606341206.256042673] [gazebo_ros_node]: ROS was initialized without arguments.
[gzclient-10] ToggleFloors::ToggleFloors()
[gzclient-10] ToggleFloors::Load()
[gzclient-10] ToggleFloors::Load found a floor element: [L1]->[airport_terminal_L1]
[gzclient-10] [Wrn] [ColladaLoader.cc:1440] emission texture not supported
[ERROR] [gzclient-10]: process has died [pid 49, exit code -11, cmd 'gzclient --verbose /opt/ros/foxy/share/rmf_demo_maps/maps/airport_terminal/airport_terminal.world'].
[gzclient-10] 

Unable to connect to RMF Panel

Hi everyone, I am currently facing an issue where I am unable to connect to localhost:5000. All the installation steps has been followed and RViz and Gazebo are able to open upon command ros2 launch demos office.launch.xml.

After executing the command firefox localhost:5000, the terminal is displaying the errors as shown below,

[gui_server-12] 127.0.0.1 - - [15/Jan/2021 10:20:15] "GET / HTTP/1.1" 200 -
[gui_server-12] 127.0.0.1 - - [15/Jan/2021 10:20:15] "GET /static/dist/app.bundle.js HTTP/1.1" 404 -
[gui_server-12] 127.0.0.1 - - [15/Jan/2021 10:20:15] "GET /static/dist/app.bundle.js HTTP/1.1" 404 -
[api_server-11] [WARN] [1610677222.707292157] [dispatcher_client]: /get_tasks srv call failed
[api_server-11] [WARN] [1610677267.279096021] [dispatcher_client]: /get_tasks srv call failed
[api_server-11] [WARN] [1610677436.059099112] [dispatcher_client]: /get_tasks srv call failed

Are there any ways that I could try to resolve this issue? Thank you in advance.

RMF Panel Loading

slotcar plugin for URDF

Hi,

I am trying to run my own robot in the rmf_demo office world. And I have the slotcar plugin integrated in URDF file.
However, when sending a loop command to robot, robot is not moving even though the schedule marker have show the path.
I think there is a missing link between slotcar plugin to the robot model, please advise.

Thank you.

Door not opening

Hi,

In the office demo, there are times that the door(to go into hardware_2) will not open when the magni robot is outside. There are no errors shown on the terminal for this error.

Error while running office_traffic_light_test.launch.xml

Launching office_traffic_light_test.launch.xml throws the following error:

[ros2-2] ModuleNotFoundError: No module named 'rmf_demo_tasks.request_loop'

The cause for this error was found out to be missing request_loop.py file in rmf_demos_ws/src/rmf/rmf_demos/rmf_demo_tasks/rmf_demo_tasks. This file seems to have been deleted in fe3c82b.

rmf_demos build errors: internal compiler error: in lambda_expr_this_capture

The workspace couldn't be built, and following errors was encountered when setting up.

  1. rosdep install <-- hopefully no impact on colcon build error below.
rosdep install --from-paths src --ignore-src --rosdistro eloquent -yr

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
building_map_tools: Cannot locate rosdep definition for [python3-shapely]
traffic_editor: Cannot locate rosdep definition for [libignition-common3-dev]
Continuing to install resolvable dependencies...
#All required rosdeps installed successfully
  1. colcon build --cmake-args -DCMAKE_BUILD_TYPE=RELEASE
rmf_demos_ws/src/rmf/rmf_core/rmf_fleet_adapter/src/rmf_fleet_adapter/phases/../services/detail/impl_Negotiate.hpp:133:34: internal compiler error: in lambda_expr_this_capture, at cp/lambda.c:774
             [n = shared_from_this()]()

Thanks.

Error launching the office.launch.xml [No namespace found]

Hi,

After I followed the instruction to install, I encountered the error:

kaeyan@kaeyan1804:~/rmf_demos_ws$ ros2 launch demos office.launch.xml
[INFO] [launch]: All log files can be found below /home/kaeyan/.ros/log/2020-04-02-15-27-48-892762-kaeyan1804-6908
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [rmf_traffic_schedule-1]: process started with pid [6919]
[INFO] [building_map_server-2]: process started with pid [6920]
[INFO] [rviz2-3]: process started with pid [6921]
[INFO] [fleet_state_visualizer-4]: process started with pid [6922]
[INFO] [rviz2-5]: process started with pid [6923]
[INFO] [door_supervisor-6]: process started with pid [6924]
[INFO] [gzserver-7]: process started with pid [6931]
[INFO] [gzclient-8]: process started with pid [6932]
[INFO] [magni_fleet_adapter-9]: process started with pid [6942]
[INFO] [magni_state_aggregator-10]: process started with pid [6954]
[INFO] [dispenser-11]: process started with pid [6957]
[INFO] [dispenser-12]: process started with pid [6958]
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Launching fleet adapter for [magni]
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [linear_velocity] set to: 0.400000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [angular_velocity] set to: 2.200000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [linear_acceleration] set to: 3.000000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [angular_acceleration] set to: 5.000000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [profile_radius] set to: 0.300000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [reversible] set to: 1
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [delay_threshold] set to: 15.000000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [retry_wait] set to: 10.000000
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [planning_timeout] set to: 5.000000
[magni_fleet_adapter-9] Adding waypoint [0] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [3] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [5] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [7] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [10] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [13] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [14] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [15] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [16] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [17] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [18] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [19] as a parking spot
[magni_fleet_adapter-9] Adding waypoint [23] as a parking spot
[magni_fleet_adapter-9] Named waypoints:
[magni_fleet_adapter-9] -- [supplies]
[magni_fleet_adapter-9] -- [magni2_charger]
[magni_fleet_adapter-9] -- [coe]
[magni_fleet_adapter-9] -- [magni1_charger]
[magni_fleet_adapter-9] -- [hardware_2]
[magni_fleet_adapter-9] -- [cubicle_2]
[magni_fleet_adapter-9] -- [pantry]
[magni_fleet_adapter-9] -- [station_1]
[magni_fleet_adapter-9] -- [lounge]
[magni_fleet_adapter-9] -- [cubicle_1]
[magni_fleet_adapter-9] -- [hardware_1]
[magni_fleet_adapter-9] -- [station_2]
[magni_fleet_adapter-9] [INFO] [magni_fleet_adapter]: Parameter [discovery_timeout] set to: 60.000000
[magni_fleet_adapter-9] Starting [magni]
[gzclient-8] Gazebo multi-robot simulator, version 9.0.0
[gzclient-8] Copyright (C) 2012 Open Source Robotics Foundation.
[gzclient-8] Released under the Apache 2 License.
[gzclient-8] http://gazebosim.org
[gzclient-8]
[gzserver-7] Gazebo multi-robot simulator, version 9.0.0
[gzserver-7] Copyright (C) 2012 Open Source Robotics Foundation.
[gzserver-7] Released under the Apache 2 License.
[gzserver-7] http://gazebosim.org
[gzserver-7]
[gzserver-7] terminate called after throwing an instance of 'std::length_error'
[gzserver-7] what(): basic_string::_M_create
[gzclient-8] [Msg] Waiting for master.
[gzclient-8] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
[gzclient-8] [Msg] Publicized address: 192.168.21.197
[gzclient-8] [Err] [Node.cc:105] No namespace found
[ERROR] [gzserver-7]: process has died [pid 6931, exit code -6, cmd 'gzserver --verbose -s libgazebo_ros_factory.so -s libgazebo_ros_init.so /home/kaeyan/rmf_demos_ws/install/rmf_demo_maps/share/rmf_demo_maps/maps/office/office.world'].
[gzclient-8] [Err] [TransportIface.cc:396] Unable to connect to master.
[gzclient-8] [Err] [GLWidget.cc:881] Unable to connect to a running Gazebo master.
[gzclient-8] [Wrn] [Publisher.cc:141] Queue limit reached for topic /gazebo/world/user_camera/pose, deleting message. This warning is printed only once.

When i rosdep install, I actually need to install those separately:
$ sudo apt install -y python-shapely
$ sudo apt install ros-eloquent-gazebo*
$ sudo apt install ros-eloquent-launch*

The build warning is as such:

kaeyan@kaeyan1804:~/rmf_demos_ws$ colcon build
Starting >>> rmf_fleet_msgs
Starting >>> building_map_msgs
Starting >>> rmf_dispenser_msgs
Starting >>> rmf_traffic_msgs
Starting >>> rmf_utils
Starting >>> rmf_schedule_visualizer_msgs
Starting >>> rmf_door_msgs
Starting >>> rmf_lift_msgs
Finished <<< rmf_utils [5.20s]
Starting >>> rmf_traffic
Finished <<< rmf_schedule_visualizer_msgs [24.0s]
Starting >>> rviz2_plugin
Finished <<< rmf_door_msgs [32.0s]
Starting >>> rmf_demo_assets
Finished <<< rmf_lift_msgs [35.3s]
Starting >>> rmf_workcell_msgs
Finished <<< rmf_demo_assets [5.06s]
Starting >>> traffic_editor
Finished <<< rmf_dispenser_msgs [37.3s]
Starting >>> rmf_task_msgs
Finished <<< rmf_fleet_msgs [39.7s]
Starting >>> building_gazebo_plugins
Finished <<< rviz2_plugin [28.6s]
Finished <<< building_map_msgs [53.7s]
Starting >>> building_map_tools
Starting >>> rmf_gazebo_plugins
Finished <<< building_map_tools [1.57s]
Starting >>> rmf_demo_maps
[Processing: building_gazebo_plugins, rmf_demo_maps, rmf_gazebo_plugins, rmf_task_msgs, rmf_traffic, rmf_traffic_msgs, rmf_workcell_msgs, traffic_editor]
Finished <<< rmf_workcell_msgs [1min 0s]
Starting >>> test_maps
Finished <<< test_maps [10.5s]
Finished <<< rmf_task_msgs [1min 10s]
Starting >>> rmf_demo_tasks
Starting >>> rmf_rviz_plugin
Finished <<< rmf_demo_tasks [1.40s]
Finished <<< rmf_demo_maps [53.8s]
--- stderr: rmf_gazebo_plugins
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_demos/rmf_gazebo_plugins/src/teleport.cpp: In member function ‘void rmf_gazebo_plugins::TeleportPlugin::dispenser_result_cb(rmf_dispenser_msgs::msg::DispenserResult_<std::allocator >::UniquePtr)’:
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_demos/rmf_gazebo_plugins/src/teleport.cpp:85:10: warning: unused variable ‘status’ [-Wunused-variable]
auto status = msg->status;
^~~~~~

Finished <<< rmf_gazebo_plugins [57.9s]
Finished <<< building_gazebo_plugins [1min 26s]
Finished <<< rmf_rviz_plugin [19.3s]
[Processing: rmf_traffic, rmf_traffic_msgs, traffic_editor]
Finished <<< rmf_traffic_msgs [2min 57s]
Starting >>> fleet_state_visualizer
Finished <<< fleet_state_visualizer [0.77s]
Finished <<< traffic_editor [2min 22s]
--- stderr: rmf_traffic
In file included from /usr/include/eigen3/Eigen/LU:34:0,
from /usr/include/eigen3/Eigen/Geometry:16,
from /home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/include/rmf_traffic/geometry/SimplePolygon.hpp:24,
from /home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/src/rmf_traffic/geometry/SimplePolygon.cpp:20:
/usr/include/eigen3/Eigen/src/LU/Determinant.h: In member function ‘bool rmf_traffic::geometry::SimplePolygon::has_self_intersections() const’:
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:25: warning: ‘((void)& M +24)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
/usr/include/eigen3/Eigen/src/LU/Determinant.h: In member function ‘bool rmf_traffic::geometry::SimplePolygonInternal::check_self_intersections(rmf_traffic::geometry::SimplePolygonInternal::Intersections*) const’:
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:25: warning: ‘((void)& M +24)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
/usr/include/eigen3/Eigen/src/LU/Determinant.h: In member function ‘virtual rmf_traffic::geometry::CollisionGeometries rmf_traffic::geometry::SimplePolygonInternal::make_fcl() const’:
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:25: warning: ‘((void)& M +24)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:25: warning: ‘((void)& M +24)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:25: warning: ‘output’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:25: warning: ‘((void)& output +24)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:55: warning: ‘((void)& output +8)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return m.coeff(0,0) * m.coeff(1,1) - m.coeff(1,0) * m.coeff(0,1);
/usr/include/eigen3/Eigen/src/LU/Determinant.h:57:55: warning: ‘((void)& output +16)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/test/unit/agv/test_Planner.cpp: In function ‘void ____C_A_T_C_H____T_E_S_T____78()’:
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/test/unit/agv/test_Planner.cpp:2349:56: warning: typedef ‘using VehicleTraits = class rmf_traffic::agv::VehicleTraits’ locally defined but not used [-Wunused-local-typedefs]
using VehicleTraits = rmf_traffic::agv::VehicleTraits;
^
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/test/unit/agv/test_Planner.cpp:2350:44: warning: typedef ‘using Planner = class rmf_traffic::agv::Planner’ locally defined but not used [-Wunused-local-typedefs]
using Planner = rmf_traffic::agv::Planner;
^
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/test/unit/agv/test_Planner.cpp:2351:44: warning: typedef ‘using Duration = std::chrono::nanoseconds’ locally defined but not used [-Wunused-local-typedefs]
using Duration = std::chrono::nanoseconds;
^
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_traffic/test/unit/agv/test_Planner.cpp:2352:53: warning: typedef ‘using DetectConflict = class rmf_traffic::DetectConflict’ locally defined but not used [-Wunused-local-typedefs]
using DetectConflict = rmf_traffic::DetectConflict;
^

Finished <<< rmf_traffic [3min 1s]
Starting >>> rmf_traffic_ros2
Finished <<< rmf_traffic_ros2 [15.4s]
Starting >>> rmf_schedule_visualizer
Starting >>> rmf_fleet_adapter
Finished <<< rmf_schedule_visualizer [28.5s]
Starting >>> visualizer
Finished <<< visualizer [3.06s]
--- stderr: rmf_fleet_adapter
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_fleet_adapter/src/full_control/MoveAction.cpp: In member function ‘void rmf_fleet_adapter::full_control::{anonymous}::MoveAction::cancel(std::chrono::nanoseconds)’:
/home/kaeyan/rmf_demos_ws/src/rmf/rmf_core/rmf_fleet_adapter/src/full_control/MoveAction.cpp:1206:40: warning: unused parameter ‘duration’ [-Wunused-parameter]
void cancel(std::chrono::nanoseconds duration)
^~~~~~~~

Finished <<< rmf_fleet_adapter [46.1s]
Starting >>> demos
Finished <<< demos [1.75s]

Summary: 27 packages finished [4min 9s]
3 packages had stderr output: rmf_fleet_adapter rmf_gazebo_plugins rmf_traffic

Robot gets stuck on task if dispenser is set incorrectly

New to RMF here. I ran into what seems like a bug (possibly due to user error) where the task planner will get stuck if its given an invalid task.

Steps to Reproduce

  1. launch the office demo
  2. manually have the fleet execute the task in the readme (start waypoint pantry, end waypoint hardware_2) with coke_dispenser and coke_ingestor. tinyRobot2 executes the task.
  3. Set start waypoint to hardware_2 and end waypoint to hardware_1 and leave the delivery variables as is.

Expected outcome: the robot either executes the task the best it can or the planner errors out
Actual outcome: the fleet manager gets stuck, continuously printing out Remaining phases: 3. The robot doesn't budge.

When creating the first, valid task then, the other robot executes it but gets stuck because the first robot tinyRobot2 won't move.

Build Errors when using ROS2 Eloquent built from source

When using ROS2 Eloquent built from source to build rmf_demos, various errors present that interrupt the build process. For example:

--- stderr: rmf_gazebo_plugins
/home/bhan/dev/rmf_ws/src/rmf_demos/rmf_gazebo_plugins/src/readonly.cpp:22:10: fatal error: gazebo_ros/node.hpp: No such file or directory
#include <gazebo_ros/node.hpp>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/readonly.dir/src/readonly.cpp.o] Error 1
make[1]: *** [CMakeFiles/readonly.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/bhan/dev/rmf_ws/src/rmf_demos/rmf_gazebo_plugins/src/TeleportIngestor.cpp:27:10: fatal error: gazebo_ros/node.hpp: No such file or directory
#include <gazebo_ros/node.hpp>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
/home/bhan/dev/rmf_ws/src/rmf_demos/rmf_gazebo_plugins/src/TeleportDispenser.cpp:27:10: fatal error: gazebo_ros/node.hpp: No such file or directory
#include <gazebo_ros/node.hpp>

This seems to stem from not using ament_target_dependencies and using target_link_libraries instead.

Error Launching office.launch.xml

OS: Ubuntu 18.04
ROS version: ROS 2 eloquent

I was trying to build and run the rmf_demos, i am able to colcon build with warnings. However, when I tried to launch the office.launch.xml, I encounter the error below:

[INFO] [launch]: All log files can be found below /home/kaeyan/.ros/log/2020-04-02-10-17-01-202640-kaeyan1804-22216
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): The launch file may have a syntax error, or its format is unknown

Sliding doors taking really long time to load

I added a bunch of sliding doors to my map and tried to visualize them by launching it in the demo. However, after adding the sliding doors, it takes my gazebo and ignition forever to load the models.
Here is the message I got for loading the sliding doors, it looks like a message I would get for a normal loading. I am wondering what may be the cause for the extra-long loading time.

[gzserver-7] [INFO] [door]: Loading DoorPlugin for [room24_bath]
[gzserver-7] Using specified value [0.2] for property [v_max_door]
[gzserver-7] Using specified value [0.2] for property [a_max_door]
[gzserver-7] Using specified value [0.08] for property [a_nom_door]
[gzserver-7] Using specified value [0.001] for property [dx_min_door]
[gzserver-7] Using specified value [100] for property [f_max_door]
[gzserver-7] Using specified attribute value [empty_joint] for property [left_joint_name]
[gzserver-7] Using specified attribute value [right_joint] for property [right_joint_name]
[gzserver-7] Using specified attribute value [SlidingDoor] for property [type]
[gzserver-7] Using specified attribute value [right_joint] for property [name]
[gzserver-7] Using specified value [0] for property [lower]
[gzserver-7] Using specified value [1.25] for property [upper]
[gzserver-7] [WARN] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic.
[gzserver-7] [INFO] [door]: Finished loading [room24_bath]

Handshake timed out on SROS 2

After a couple minutes of running the secured office demo this message comes up on all the tmux windows

fsm: handshake (lguid=e0e9560c:e7a9052e:270b167b:1c1 rguid=d52568ea:4d08201b:d6a90132:1c1) failed: (1) Timed out

The simulation becomes unresponsive afterwards.

Would rosdep require additional dependencies?

Not sure if i am missing something obvious: If I purely install ROS2 and Gazebo, would it be necessary to install any additional dependencies in order for the rosdep step to work properly?

Relating parameters in adapter and fleet SDF

How might we relate the parameters in the model.sdf, and the model adapter file? Looking at the magni model.sdf, and magni_adapter.launch.xml, it seems there is a difference in values for the same parameter? For example,

magni_adapter.launch.xml
  <arg name= "angular_velocity " value="2.2"/>

model.sdf
<nominal_turn_speed>0.6</nominal_turn_speed>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.