Multiple rosbot amcl with apriltag package

I am trying to run amcl on 2 robots. With leader follower concept using apriltags.
When I run amcl on both robots and then run the apriltag package it times out.

husarion@msr-rosbot2:~$ roslaunch apriltag_ros new.launch
… logging to /home/husarion/.ros/log/3b5b5146-e258-11ea-a318-409f384f007f/roslaunch-msr-rosbot2-6134.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.1.2:46533/

SUMMARY

CLEAR PARAMETERS

  • /rosbot2/apriltag_ros_continuous_node/

PARAMETERS

  • /rosbot2/apriltag_ros_continuous_node/camera_frame: camera
  • /rosbot2/apriltag_ros_continuous_node/publish_tag_detections_image: True
  • /rosbot2/apriltag_ros_continuous_node/publish_tf: True
  • /rosbot2/apriltag_ros_continuous_node/standalone_tags: [{‘id’: 0, ‘size’…
  • /rosbot2/apriltag_ros_continuous_node/tag_blur: 0.0
  • /rosbot2/apriltag_ros_continuous_node/tag_bundles: []
  • /rosbot2/apriltag_ros_continuous_node/tag_debug: 0
  • /rosbot2/apriltag_ros_continuous_node/tag_decimate: 1.0
  • /rosbot2/apriltag_ros_continuous_node/tag_family: tag36h11
  • /rosbot2/apriltag_ros_continuous_node/tag_refine_edges: 1
  • /rosbot2/apriltag_ros_continuous_node/tag_threads: 2
  • /rosbot2/usb_cam/camera_frame_id: usb_cam
  • /rosbot2/usb_cam/framerate: 10
  • /rosbot2/usb_cam/image_height: 480
  • /rosbot2/usb_cam/image_width: 640
  • /rosbot2/usb_cam/io_method: mmap
  • /rosbot2/usb_cam/pixel_format: yuyv
  • /rosbot2/usb_cam/video_device: /dev/video0
  • /rosdistro: melodic
  • /rosversion: 1.14.7

NODES
/rosbot2/
apriltag_ros_continuous_node (apriltag_ros/apriltag_ros_continuous_node)
camera_broadcaster_1 (tf/static_transform_publisher)
usb_cam (usb_cam/usb_cam_node)

ROS_MASTER_URI=http://192.168.1.2:11311

process[rosbot2/camera_broadcaster_1-1]: started with pid [6150]
process[rosbot2/usb_cam-2]: started with pid [6151]
process[rosbot2/apriltag_ros_continuous_node-3]: started with pid [6156]
[ INFO] [1597868521.752963315]: Initializing nodelet with 4 worker threads.
[ INFO] [1597868522.217535843]: Loaded tag config: 0, size: 0.076, frame_name: tag_0
[ WARN] [1597868522.220152110]: remove_duplicates parameter not provided. Defaulting to true
[ INFO] [1597868522.444472615]: using default calibration URL
[ INFO] [1597868522.447551176]: camera calibration URL: file:///home/husarion/.ros/camera_info/head_camera.yaml
[ INFO] [1597868522.450034150]: Starting ‘head_camera’ (/dev/video0) at 640x480 via mmap (yuyv) at 10 FPS
[ERROR] [1597868595.673778603]: select timeout
[rosbot2/usb_cam-2] process has died [pid 6151, exit code 1, cmd /opt/ros/melodic/lib/usb_cam/usb_cam_node __name:=usb_cam __log:=/home/husarion/.ros/log/3b5b5146-e258-11ea-a318-409f384f007f/rosbot2-usb_cam-2.log].
log file: /home/husarion/.ros/log/3b5b5146-e258-11ea-a318-409f384f007f/rosbot2-usb_cam-2*.log

Tried roswtf
husarion@husarion:~$ roswtf
the rosdep view is empty: call ‘sudo rosdep init’ and ‘rosdep update’
No package or stack in the current directory

Static checks summary:

Found 1 error(s).

ERROR ROS Dep database not updated: Please update rosdep database with ‘rosdep update’.

Beginning tests of your ROS graph. These may take a while…
analyzing graph…
… done analyzing graph
running graph rules…
ERROR: connection refused to [http://192.168.1.2:46519/]
… done running graph rules

Online checks summary:

Found 2 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:

  • /rosbot1/amcl_1:
    • /tf_static
  • /serial_node_1:
    • /cmd_ser
  • /serial_node_2:
    • /cmd_ser
  • /rosbot2/rosbot_ekf:
    • /tf_static
    • /rosbot2/set_pose
  • /rosbot1/rosbot_ekf:
    • /tf_static
    • /rosbot1/set_pose
  • /rosbot1/drive_controller_1:
    • /pose
  • /rosbot2/drive_controller_2:
    • /rosbot2/drive_controller_2/pose
  • /rosbot1/rviz:
    • /tf_static
    • /map_updates
  • /rosbot2/amcl_2:
    • /tf_static

WARNING These nodes have died:

  • rosbot2/usb_cam-2

Found 2 error(s).

ERROR Could not contact the following nodes:

  • /rosbot2/usb_cam

ERROR Errors connecting to the following services:

  • service [/rosbot2/usb_cam/start_capture] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/start_capture], address [rosrpc://192.168.1.2:50956]
  • service [/rosbot2/usb_cam/set_camera_info] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/set_camera_info], address [rosrpc://192.168.1.2:50956]
  • service [/rosbot2/usb_cam/image_raw/compressed/set_parameters] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/image_raw/compressed/set_parameters], address [rosrpc://192.168.1.2:50956]
  • service [/rosbot2/usb_cam/get_loggers] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/get_loggers], address [rosrpc://192.168.1.2:50956]
  • service [/rosbot2/usb_cam/image_raw/compressedDepth/set_parameters] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/image_raw/compressedDepth/set_parameters], address [rosrpc://192.168.1.2:50956]
  • service [/rosbot2/usb_cam/stop_capture] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/stop_capture], address [rosrpc://192.168.1.2:50956]
  • service [/rosbot2/usb_cam/set_logger_level] appears to be malfunctioning: Unable to communicate with service [/rosbot2/usb_cam/set_logger_level], address [rosrpc://192.168.1.2:50956]

Can you please let me know how to solve this select timeout issue?

Hello Thiaga,

The select timeout error is caused by usb_cam node as described in this issue.

Could you try to launch camera alone to verify that error is caused by usb_cam?
Can you see the image from the camera in e.g. rviz?
What is the camera that you are using?

Regards,
Łukasz

Hi Lukasz,
Yes when I ran the launch separately it worked. I was able to see the image on rviz and even the April tag detection and TF of the camera and tag. The issue occurs when I run it along with amcl. We use
Logitec c920 pro HD webcam.

Hi thiaga,

I’ve tried to reproduce your issue, but without success. May I ask you to send me some additional information?

  • How do you connect devices to one ROS network? Do you use husarnet? I would like to see ‘.bashrc’ file from both device.
  • You running ‘roslaunch apriltag_ros new.launch’ I can’t find this launch file in ‘apriltag_ros’ pkg, so you probably created it on your own. Please send me launch files from both robots.
  • I’m assuming that you have two Logitec c920 pro HD webcams connected to each ROSbot?

With this information I should be able to reproduce your issue.

Best regards,
Hubert