sea-bass / turtlebot3_behavior_demos

Example repository for autonomous behaviors using TurtleBot3, as well as Docker workflows in ROS based projects.
MIT License
270 stars 53 forks source link

Arviz not starting #40

Open anisghaoui opened 9 months ago

anisghaoui commented 9 months ago

Hello,

I have followed the tutorial and build compose the image without errors.

However when it comes to starting the demo with:

docker run -it 
--net=host 
--ipc=host --privileged     
--env="DISPLAY"     
--env="QT_X11_NO_MITSHM=1"    
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw"     
--volume="${XAUTHORITY}:/root/.Xauthority"     
turtlebot3_behavior:overlay     
bash -c "ros2 launch tb3_worlds tb3_demo_world.launch.py"

However, after starting, I get the following logs:

Sourced ROS 2 humble
Sourced TurtleBot3 base workspace
Sourced autonomy overlay workspace
[INFO] [launch]: All log files can be found below /root/.ros/log/2023-11-06-11-36-02-703563-linuxkit-525400123456-1
[INFO] [launch]: Default logging verbosity is set to INFO
urdf_file_name : turtlebot3_waffle_pi.urdf
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/map_server' in container '/nav2_container'
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/amcl' in container '/nav2_container'
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/lifecycle_manager_localization' in container '/nav2_container'
[INFO] [component_container_isolated-1]: process started with pid [81]
[INFO] [rviz2-2]: process started with pid [83]
[INFO] [set_init_amcl_pose.py-3]: process started with pid [85]
[INFO] [block_spawner.py-4]: process started with pid [96]
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/controller_server' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.589522094] [nav2_container]: Load Library: /opt/ros/humble/lib/libsmoother_server_core.so
[rviz2-2] qt.qpa.xcb: could not connect to display :0
[rviz2-2] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
[rviz2-2] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[rviz2-2] 
[rviz2-2] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
[rviz2-2] 
[ERROR] [rviz2-2]: process has died [pid 83, exit code -6, cmd '/opt/ros/humble/lib/rviz2/rviz2 -d /opt/ros/humble/share/nav2_bringup/rviz/nav2_default_view.rviz --ros-args -r __node:=rviz2 --params-file /tmp/launch_params_35ptztgr'].
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/smoother_server' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.681155207] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<nav2_smoother::SmootherServer>
[component_container_isolated-1] [INFO] [1699270564.681217487] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nav2_smoother::SmootherServer>
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/planner_server' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.692015141] [smoother_server]: 
[component_container_isolated-1]    smoother_server lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/behavior_server' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.723832588] [smoother_server]: Creating smoother server
[component_container_isolated-1] [INFO] [1699270564.726342507] [nav2_container]: Load Library: /opt/ros/humble/lib/libplanner_server_core.so
[component_container_isolated-1] [INFO] [1699270564.730772311] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<nav2_planner::PlannerServer>
[component_container_isolated-1] [INFO] [1699270564.731518522] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nav2_planner::PlannerServer>
[component_container_isolated-1] [INFO] [1699270564.747300373] [planner_server]: 
[component_container_isolated-1]    planner_server lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[component_container_isolated-1] [INFO] [1699270564.754033932] [planner_server]: Creating
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/bt_navigator' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.771050046] [global_costmap.global_costmap]: 
[component_container_isolated-1]    global_costmap lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/waypoint_follower' in container '/nav2_container'
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/velocity_smoother' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.830444378] [global_costmap.global_costmap]: Creating Costmap
[component_container_isolated-1] [INFO] [1699270564.835475536] [nav2_container]: Load Library: /opt/ros/humble/lib/libbehavior_server_core.so
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/lifecycle_manager_navigation' in container '/nav2_container'
[component_container_isolated-1] [INFO] [1699270564.914520243] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<behavior_server::BehaviorServer>
[component_container_isolated-1] [INFO] [1699270564.915364294] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<behavior_server::BehaviorServer>
[component_container_isolated-1] [INFO] [1699270564.931767105] [behavior_server]: 
[component_container_isolated-1]    behavior_server lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[component_container_isolated-1] [INFO] [1699270564.948279440] [nav2_container]: Load Library: /opt/ros/humble/lib/libbt_navigator_core.so
[component_container_isolated-1] [INFO] [1699270564.964455919] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<nav2_bt_navigator::BtNavigator>
[component_container_isolated-1] [INFO] [1699270564.964496931] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nav2_bt_navigator::BtNavigator>
[component_container_isolated-1] [INFO] [1699270564.984876556] [bt_navigator]: 
[component_container_isolated-1]    bt_navigator lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[component_container_isolated-1] [INFO] [1699270564.985261458] [bt_navigator]: Creating
[component_container_isolated-1] [INFO] [1699270564.988231644] [nav2_container]: Load Library: /opt/ros/humble/lib/libwaypoint_follower_core.so
[component_container_isolated-1] [INFO] [1699270565.000536339] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<nav2_waypoint_follower::WaypointFollower>
[component_container_isolated-1] [INFO] [1699270565.001758140] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nav2_waypoint_follower::WaypointFollower>
[component_container_isolated-1] [INFO] [1699270565.014129795] [waypoint_follower]: 
[component_container_isolated-1]    waypoint_follower lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[component_container_isolated-1] [INFO] [1699270565.019811677] [waypoint_follower]: Creating
[component_container_isolated-1] [INFO] [1699270565.021681348] [nav2_container]: Load Library: /opt/ros/humble/lib/libvelocity_smoother_core.so
[component_container_isolated-1] [INFO] [1699270565.024957684] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<nav2_velocity_smoother::VelocitySmoother>
[component_container_isolated-1] [INFO] [1699270565.025002518] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nav2_velocity_smoother::VelocitySmoother>
[component_container_isolated-1] [INFO] [1699270565.039229945] [velocity_smoother]: 
[component_container_isolated-1]    velocity_smoother lifecycle node launched. 
[component_container_isolated-1]    Waiting on external lifecycle transitions to activate
[component_container_isolated-1]    See https://design.ros2.org/articles/node_lifecycle.html for more information.
[component_container_isolated-1] [INFO] [1699270565.042096657] [nav2_container]: Load Library: /opt/ros/humble/lib/libnav2_lifecycle_manager_core.so
[component_container_isolated-1] [INFO] [1699270565.047635153] [nav2_container]: Found class: rclcpp_components::NodeFactoryTemplate<nav2_lifecycle_manager::LifecycleManager>
[component_container_isolated-1] [INFO] [1699270565.047700536] [nav2_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nav2_lifecycle_manager::LifecycleManager>
[component_container_isolated-1] [INFO] [1699270565.058571649] [lifecycle_manager_navigation]: Creating
[set_init_amcl_pose.py-3] [INFO] [1699270565.061367319] [init_pose_publisher]: Setting initial AMCL pose to [x: 0.0, y: 0.0, theta: 0.0] ...
[component_container_isolated-1] [INFO] [1699270565.065598010] [lifecycle_manager_navigation]: Creating and initializing lifecycle service clients
[component_container_isolated-1] [INFO] [1699270565.072287677] [lifecycle_manager_navigation]: Starting managed nodes bringup...
[component_container_isolated-1] [INFO] [1699270565.072380923] [lifecycle_manager_navigation]: Configuring controller_server
[component_container_isolated-1] [ERROR] [1699270565.076129614] [lifecycle_manager_navigation]: Failed to change state for node: controller_server
[component_container_isolated-1] [ERROR] [1699270565.076231787] [lifecycle_manager_navigation]: Failed to bring up all requested nodes. Aborting bringup.
[block_spawner.py-4] [INFO] [1699270565.147462197] [block_spawner]: Started block spawner service
[block_spawner.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/node.py:441: UserWarning: when declaring parameter named 'location_file', declaring a parameter only providing its name is deprecated. You have to either:
[block_spawner.py-4]    - Pass a name and a default value different to "PARAMETER NOT SET" (and optionally a descriptor).
[block_spawner.py-4]    - Pass a name and a parameter type.
[block_spawner.py-4]    - Pass a name and a descriptor with `dynamic_typing=True
[block_spawner.py-4]   warnings.warn(
[block_spawner.py-4] [INFO] [1699270565.149069012] [block_spawner]: Using location file: /overlay_ws/install/tb3_worlds/share/tb3_worlds/maps/sim_house_locations.yaml
urdf_file_name : turtlebot3_waffle_pi.urdf
urdf_file_name : turtlebot3_waffle_pi.urdf
[INFO] [gzserver-5]: process started with pid [128]
[INFO] [gzclient-6]: process started with pid [130]
[INFO] [robot_state_publisher-7]: process started with pid [132]
[INFO] [spawn_entity.py-8]: process started with pid [134]
[robot_state_publisher-7] [INFO] [1699270568.481032482] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-7] [INFO] [1699270568.481124930] [robot_state_publisher]: got segment base_link
[robot_state_publisher-7] [INFO] [1699270568.481138890] [robot_state_publisher]: got segment base_scan
[robot_state_publisher-7] [INFO] [1699270568.481148175] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-7] [INFO] [1699270568.481157539] [robot_state_publisher]: got segment camera_rgb_frame
[robot_state_publisher-7] [INFO] [1699270568.481166852] [robot_state_publisher]: got segment camera_rgb_optical_frame
[robot_state_publisher-7] [INFO] [1699270568.481176356] [robot_state_publisher]: got segment caster_back_left_link
[robot_state_publisher-7] [INFO] [1699270568.481185545] [robot_state_publisher]: got segment caster_back_right_link
[robot_state_publisher-7] [INFO] [1699270568.481194703] [robot_state_publisher]: got segment imu_link
[robot_state_publisher-7] [INFO] [1699270568.481204244] [robot_state_publisher]: got segment wheel_left_link
[robot_state_publisher-7] [INFO] [1699270568.481213374] [robot_state_publisher]: got segment wheel_right_link
[spawn_entity.py-8] [INFO] [1699270568.769418089] [spawn_entity]: Spawn Entity started
[spawn_entity.py-8] [INFO] [1699270568.769761546] [spawn_entity]: Loading entity XML from file /opt/ros/humble/share/turtlebot3_gazebo/models/turtlebot3_waffle_pi/model.sdf
[spawn_entity.py-8] [INFO] [1699270568.771811601] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
[spawn_entity.py-8] [INFO] [1699270568.772135578] [spawn_entity]: Waiting for service /spawn_entity
[spawn_entity.py-8] [INFO] [1699270568.776644157] [spawn_entity]: Calling service /spawn_entity
[spawn_entity.py-8] [INFO] [1699270568.800383094] [spawn_entity]: Spawn status: Entity [waffle_pi] already exists.
[spawn_entity.py-8] [ERROR] [1699270568.801019105] [spawn_entity]: Spawn service failed. Exiting.
[ERROR] [spawn_entity.py-8]: process has died [pid 134, exit code 1, cmd '/opt/ros/humble/lib/gazebo_ros/spawn_entity.py -entity waffle_pi -file /opt/ros/humble/share/turtlebot3_gazebo/models/turtlebot3_waffle_pi/model.sdf -x 0.0 -y 0.0 -z 0.01 --ros-args'].
[ERROR] [gzserver-5]: process has died [pid 128, exit code 255, cmd 'gzserver /overlay_ws/install/tb3_worlds/share/tb3_worlds/worlds/sim_house.world -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so --ros-args --params-file /turtlebot3_ws/install/turtlebot3_navigation2/share/turtlebot3_navigation2/param/waffle_pi.yaml --'].
[ERROR] [gzclient-6]: process has died [pid 130, exit code -6, cmd 'gzclient'].

The most interesting part is:

[component_container_isolated-1] [INFO] [1699270564.589522094] [nav2_container]: Load Library: /opt/ros/humble/lib/libsmoother_server_core.so
[rviz2-2] qt.qpa.xcb: could not connect to display :0
[rviz2-2] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
[rviz2-2] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this 
[rviz2-2] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb. 

Is there something I have missed? is qt not targetting the right platform? If so, how to indicate it?

Thank you

cpiock commented 8 months ago

same problem here. Did you have resolved it? Running on Windows

anisghaoui commented 8 months ago

it is a problem related to Xauth and how Docker and Ubuntu manage the displays. There so many topics about this on the internet. But, no, I didn't solve i.