ZebraDevs / robot_controllers

Robot control infrastructure
92 stars 79 forks source link

robot_driver failed with current melodic-devel #67

Closed knorth55 closed 3 years ago

knorth55 commented 3 years ago

robot_driver 0.6.0 fails with current origin/melodic-devel. I revert https://github.com/fetchrobotics/robot_controllers/commit/6452011adb64f79f72a08e361be4282d31e1a71f and build the workspace, and the error disappeared. I think something is wrong with https://github.com/fetchrobotics/robot_controllers/commit/6452011adb64f79f72a08e361be4282d31e1a71f.

fetch@fetch15:~$ roslaunch fetch_bringup fetch.launch 
... logging to /home/fetch/.ros/log/0e4ebaa2-3600-11eb-9006-a8a15943aefb/roslaunch-fetch15-15802.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://fetch15:34527/

SUMMARY
========

PARAMETERS
 * /arm_controller/cartesian_twist/root_name: torso_lift_link
 * /arm_controller/cartesian_twist/tip_name: wrist_roll_link
 * /arm_controller/cartesian_twist/type: robot_controllers...
 * /arm_controller/follow_joint_trajectory/joints: ['shoulder_pan_jo...
 * /arm_controller/follow_joint_trajectory/type: robot_controllers...
 * /arm_controller/gravity_compensation/autostart: True
 * /arm_controller/gravity_compensation/root: torso_lift_link
 * /arm_controller/gravity_compensation/tip: gripper_link
 * /arm_controller/gravity_compensation/type: robot_controllers...
 * /arm_with_torso_controller/follow_joint_trajectory/joints: ['torso_lift_join...
 * /arm_with_torso_controller/follow_joint_trajectory/type: robot_controllers...
 * /base_controller/autostart: True
 * /base_controller/laser_safety_dist: 1.0
 * /base_controller/max_acceleration_x: 0.75
 * /base_controller/max_velocity_x: 1.0
 * /base_controller/moving_threshold: -0.01
 * /base_controller/publish_tf: False
 * /base_controller/rotating_threshold: -0.01
 * /base_controller/track_width: 0.37476
 * /base_controller/type: robot_controllers...
 * /calibration_date: uncalibrated
 * /diagnostic_aggregator/analyzers/breakers/analyzers/arm_breaker/path: Arm Breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/arm_breaker/startswith: arm_breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/arm_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/breakers/analyzers/base_breaker/path: Base Breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/base_breaker/startswith: base_breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/base_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/breakers/analyzers/battery_breaker/path: Battery Breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/battery_breaker/startswith: battery_breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/battery_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/breakers/analyzers/computer_breaker/path: Computer Breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/computer_breaker/startswith: computer_breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/computer_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/breakers/analyzers/gripper_breaker/path: Gripper Breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/gripper_breaker/startswith: gripper_breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/gripper_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/breakers/analyzers/supply_breaker/path: Supply Breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/supply_breaker/startswith: supply_breaker
 * /diagnostic_aggregator/analyzers/breakers/analyzers/supply_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/breakers/path: Breakers
 * /diagnostic_aggregator/analyzers/breakers/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/elbow_flex/path: Elbow Flex Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/elbow_flex/startswith: elbow_flex
 * /diagnostic_aggregator/analyzers/motors/analyzers/elbow_flex/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/forearm_roll/path: Forearm Roll Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/forearm_roll/startswith: forearm_roll
 * /diagnostic_aggregator/analyzers/motors/analyzers/forearm_roll/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/head_pan/path: Head Pan Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/head_pan/startswith: head_pan
 * /diagnostic_aggregator/analyzers/motors/analyzers/head_pan/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/head_tilt/path: Head Tilt Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/head_tilt/startswith: head_tilt
 * /diagnostic_aggregator/analyzers/motors/analyzers/head_tilt/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/l_wheel/path: Left Wheel
 * /diagnostic_aggregator/analyzers/motors/analyzers/l_wheel/startswith: l_wheel
 * /diagnostic_aggregator/analyzers/motors/analyzers/l_wheel/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/r_wheel/path: Right Wheel
 * /diagnostic_aggregator/analyzers/motors/analyzers/r_wheel/startswith: r_wheel
 * /diagnostic_aggregator/analyzers/motors/analyzers/r_wheel/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/shoulder_lift/path: Shoulder Lift Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/shoulder_lift/startswith: shoulder_lift
 * /diagnostic_aggregator/analyzers/motors/analyzers/shoulder_lift/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/shoulder_pan/path: Shoulder Pan Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/shoulder_pan/startswith: shoulder_pan
 * /diagnostic_aggregator/analyzers/motors/analyzers/shoulder_pan/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/torso_lift/path: Torso Lift Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/torso_lift/startswith: torso_lift
 * /diagnostic_aggregator/analyzers/motors/analyzers/torso_lift/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/upperarm_roll/path: Upperarm Roll Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/upperarm_roll/startswith: upperarm_roll
 * /diagnostic_aggregator/analyzers/motors/analyzers/upperarm_roll/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/wrist_flex/path: Wrist Flex Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/wrist_flex/startswith: wrist_flex
 * /diagnostic_aggregator/analyzers/motors/analyzers/wrist_flex/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/analyzers/wrist_roll/path: Wrist Roll Joint
 * /diagnostic_aggregator/analyzers/motors/analyzers/wrist_roll/startswith: wrist_roll
 * /diagnostic_aggregator/analyzers/motors/analyzers/wrist_roll/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/motors/path: Motor Control Boards
 * /diagnostic_aggregator/analyzers/motors/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/peripherals/analyzers/joy/find_and_remove_prefix: joy:
 * /diagnostic_aggregator/analyzers/peripherals/analyzers/joy/path: PS3 Controller
 * /diagnostic_aggregator/analyzers/peripherals/analyzers/joy/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/peripherals/path: Peripherals
 * /diagnostic_aggregator/analyzers/peripherals/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/sensors/analyzers/base_breaker/path: Sick TIM551 Laser
 * /diagnostic_aggregator/analyzers/sensors/analyzers/base_breaker/startswith: sick_tim
 * /diagnostic_aggregator/analyzers/sensors/analyzers/base_breaker/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/sensors/path: Sensors
 * /diagnostic_aggregator/analyzers/sensors/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/sound_play/path: SoundPlay
 * /diagnostic_aggregator/analyzers/sound_play/startswith: sound_play
 * /diagnostic_aggregator/analyzers/sound_play/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/system/analyzers/charger/path: Charger
 * /diagnostic_aggregator/analyzers/system/analyzers/charger/startswith: Charger
 * /diagnostic_aggregator/analyzers/system/analyzers/charger/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/system/analyzers/mainboard/path: Mainboard
 * /diagnostic_aggregator/analyzers/system/analyzers/mainboard/startswith: Mainboard
 * /diagnostic_aggregator/analyzers/system/analyzers/mainboard/type: diagnostic_aggreg...
 * /diagnostic_aggregator/analyzers/system/path: System
 * /diagnostic_aggregator/analyzers/system/type: diagnostic_aggreg...
 * /diagnostic_aggregator/base_path: 
 * /diagnostic_aggregator/pub_rate: 1.0
 * /graft/alpha: 0.001
 * /graft/beta: 2.0
 * /graft/child_frame_id: base_link
 * /graft/kappa: 0.0
 * /graft/output_frame: odom
 * /graft/parent_frame_id: odom
 * /graft/planar_output: True
 * /graft/process_noise: ['1e6', 0, 0, 0, ...
 * /graft/publish_tf: True
 * /graft/queue_size: 1
 * /graft/topics/imu/absolute_orientation: False
 * /graft/topics/imu/no_delay: True
 * /graft/topics/imu/override_angular_velocity_covariance: [0, 0, 0, 0, 0, 0...
 * /graft/topics/imu/timeout: 1.0
 * /graft/topics/imu/topic: /imu
 * /graft/topics/imu/type: sensor_msgs/Imu
 * /graft/topics/imu/use_accelerations: False
 * /graft/topics/imu/use_velocities: True
 * /graft/topics/odom/absolute_pose: False
 * /graft/topics/odom/no_delay: True
 * /graft/topics/odom/override_twist_covariance: ['1e-3', 0, 0, 0,...
 * /graft/topics/odom/timeout: 1.0
 * /graft/topics/odom/topic: /odom
 * /graft/topics/odom/type: nav_msgs/Odometry
 * /graft/topics/odom/use_velocities: True
 * /graft/update_rate: 50.0
 * /graft/update_topic: odom
 * /gripper_driver/firmware_tar_gz: /opt/ros/melodic/...
 * /head_camera/crop_decimate/decimation_x: 4
 * /head_camera/crop_decimate/decimation_y: 4
 * /head_camera/crop_decimate/queue_size: 1
 * /head_camera/depth_rectify_depth/interpolation: 0
 * /head_camera/depth_registered_rectify_depth/interpolation: 0
 * /head_camera/driver/color_depth_synchronization: False
 * /head_camera/driver/color_mode: 5
 * /head_camera/driver/depth_camera_info_url: 
 * /head_camera/driver/depth_frame_id: head_camera_depth...
 * /head_camera/driver/depth_mode: 5
 * /head_camera/driver/depth_registration: True
 * /head_camera/driver/device_id: #1
 * /head_camera/driver/id_manufacturer: 1d27
 * /head_camera/driver/id_product: 0601
 * /head_camera/driver/ir_mode: 5
 * /head_camera/driver/rgb_camera_info_url: 
 * /head_camera/driver/rgb_frame_id: head_camera_rgb_o...
 * /head_camera/driver/z_offset_mm: 0.0
 * /head_camera/driver/z_scaling: 1.0
 * /head_camera/head_camera_nodelet_manager/num_worker_threads: 4
 * /head_controller/follow_joint_trajectory/joints: ['head_pan_joint'...
 * /head_controller/follow_joint_trajectory/type: robot_controllers...
 * /head_controller/point_head/type: robot_controllers...
 * /joy/deadzone: 0.05
 * /joy_node/autorepeat_rate: 1
 * /joy_node/dev: /dev/fetch_joy
 * /joy_remap/mappings/axes: ['axes[0]', 'axes...
 * /joy_remap/mappings/buttons: ['buttons[8]', 'b...
 * /robot/name: fetch15
 * /robot/type: fetch
 * /robot_description: <robot name="fetc...
 * /robot_driver/default_controllers: ['arm_controller/...
 * /robot_driver/firmware_tar_gz: /opt/ros/melodic/...
 * /robot_driver/has_arm: True
 * /robot_driver/has_base: True
 * /robot_driver/has_head: True
 * /robot_driver/has_torso: True
 * /rosdistro: melodic
 * /rosversion: 1.14.10
 * /sick_tim551_2050001/frame_id: laser_link
 * /sick_tim551_2050001/hostname: 10.42.42.10
 * /sick_tim551_2050001/max_ang: 1.91986
 * /sick_tim551_2050001/min_ang: -1.91986
 * /sick_tim551_2050001/range_max: 25.0
 * /sick_tim551_2050001/time_increment: 6.1728e-05
 * /teleop/use_arm: True
 * /teleop/use_base: True
 * /teleop/use_gripper: True
 * /teleop/use_head: True
 * /teleop/use_torso: True
 * /torso_controller/follow_joint_trajectory/joints: ['torso_lift_joint']
 * /torso_controller/follow_joint_trajectory/type: robot_controllers...

NODES
  /
    auto_dock (fetch_open_auto_dock/auto_dock)
    cmd_vel_mux (topic_tools/mux)
    controller_reset (fetch_bringup/controller_reset.py)
    diagnostic_aggregator (diagnostic_aggregator/aggregator_node)
    dock_on_button (fetch_open_auto_dock/dock_on_button.py)
    graft (graft/graft_ukf_velocity)
    gripper_driver (fetch_drivers/gripper_driver)
    joy_node (joy/joy_node)
    joy_remap (joy/joy_remap.py)
    robot_driver (fetch_drivers/robot_driver)
    robot_state_publisher (robot_state_publisher/state_publisher)
    sick_tim551_2050001 (sick_tim/sick_tim551_2050001)
    sick_tim_filter (fetch_drivers/laser_filter)
    software_runstop (fetch_bringup/software_runstop.py)
    teleop (fetch_teleop/joystick_teleop)
    tuck_arm (fetch_teleop/tuck_arm.py)
    undock_on_button (fetch_open_auto_dock/undock_on_button.py)
  /head_camera/
    crop_decimate (nodelet/nodelet)
    depth_metric (nodelet/nodelet)
    depth_metric_rect (nodelet/nodelet)
    depth_points (nodelet/nodelet)
    depth_rectify_depth (nodelet/nodelet)
    depth_registered_hw_metric_rect (nodelet/nodelet)
    depth_registered_metric (nodelet/nodelet)
    depth_registered_rectify_depth (nodelet/nodelet)
    driver (nodelet/nodelet)
    head_camera_nodelet_manager (nodelet/nodelet)
    points_xyzrgb_hw_registered (nodelet/nodelet)
    rgb_rectify_color (nodelet/nodelet)
  /head_camera/depth_downsample/
    points_downsample (nodelet/nodelet)

auto-starting new master
process[master]: started with pid [15812]
ROS_MASTER_URI=http://fetch15:11311

setting /run_id to 0e4ebaa2-3600-11eb-9006-a8a15943aefb
process[rosout-1]: started with pid [15823]
started core service [/rosout]
process[graft-2]: started with pid [15830]
process[robot_driver-3]: started with pid [15832]
[ INFO] [1607065944.518197467]: Number of topics: 2
[ INFO] [1607065944.518771818]: Topic name: imu
[ INFO] [1607065944.519012180]: Type: sensor_msgs/Imu
process[gripper_driver-4]: started with pid [15837]
[ INFO] [1607065944.522641196]: Abs orientation: 0
Delta orientation: 0
Use Vel: 1
Timeout: 1.000
[ INFO] [1607065944.523315938]: Topic name: odom
[ INFO] [1607065944.523530130]: Type: nav_msgs/Odometry
[ERROR] [1607065944.527074220]: initial_covariance is size 0, expected 9.
Using 0.1*Identity.
This probably won't work well.
[ERROR] [1607065944.529281804]: Can't call mlockall to protect freight_driver!!!
[ERROR] [1607065944.529321051]: Can't call nice to prioritize freight_driver!!!
process[robot_state_publisher-5]: started with pid [15839]
[ERROR] [1607065944.536019135]: Can't call mlockall to protect gripper_driver!!!
[ERROR] [1607065944.536052267]: Can't call nice to prioritize gripper_driver!!!
process[head_camera/head_camera_nodelet_manager-6]: started with pid [15848]
[ WARN] [1607065944.543457546]: The 'state_publisher' executable is deprecated. Please use 'robot_state_publisher' instead
[ WARN] [1607065944.547076219]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[ WARN] [1607065944.547563535]: Negative dt - odom
process[head_camera/driver-7]: started with pid [15862]
process[head_camera/rgb_rectify_color-8]: started with pid [15865]
process[head_camera/depth_rectify_depth-9]: started with pid [15873]
[ WARN] [1607065944.567651301]: imu (IMU) timeout
[ WARN] [1607065944.567697405]: odom (Odometry) timeout
process[head_camera/depth_metric_rect-10]: started with pid [15881]
process[head_camera/depth_metric-11]: started with pid [15892]
[ INFO] [1607065944.587560953]: Initializing nodelet with 4 worker threads.
process[head_camera/depth_points-12]: started with pid [15903]
process[head_camera/depth_registered_rectify_depth-13]: started with pid [15913]
process[head_camera/points_xyzrgb_hw_registered-14]: started with pid [15919]
process[head_camera/depth_registered_hw_metric_rect-15]: started with pid [15925]
[ WARN] [1607065944.625764239]: Board Not ready: 0x80
process[head_camera/depth_registered_metric-16]: started with pid [15931]
process[head_camera/crop_decimate-17]: started with pid [15938]
[ INFO] [1607065944.647346360]: Loading nodelet /head_camera/crop_decimate of type image_proc/crop_decimate to manager /head_camera/head_camera_nodelet_manager with the following remappings:
[ INFO] [1607065944.647806872]: /head_camera/camera/camera_info -> /head_camera/depth_registered/camera_info
[ INFO] [1607065944.647817468]: /head_camera/camera/image_raw -> /head_camera/depth_registered/image_raw
[ INFO] [1607065944.647823233]: /head_camera/camera_out -> /head_camera/depth_downsample
process[head_camera/depth_downsample/points_downsample-18]: started with pid [15943]
process[sick_tim551_2050001-19]: started with pid [15949]
process[sick_tim_filter-20]: started with pid [15959]
process[joy_node-21]: started with pid [15961]
[ WARN] [1607065944.686538465]: /sick_tim_filter (type=Chain) initialized as an empty filter sequence
process[joy_remap-22]: started with pid [15971]
[ WARN] [1607065944.691208922]: NoFilterBranch (type=Chain) initialized as an empty filter sequence
process[teleop-23]: started with pid [15973]
process[cmd_vel_mux-24]: started with pid [15975]
[ERROR] [1607065944.710504611]: Couldn't open joystick /dev/fetch_joy. Will retry every second.
process[controller_reset-25]: started with pid [15985]
process[tuck_arm-26]: started with pid [15989]
[ WARN] [1607065944.729638554]: IntensityFilterBranch (type=Chain) initialized as an empty filter sequence
process[auto_dock-27]: started with pid [15991]
[ INFO] [1607065944.735737805]: Board ready: 0x80
process[dock_on_button-28]: started with pid [15993]
process[undock_on_button-29]: started with pid [16001]
process[software_runstop-30]: started with pid [16002]
[ INFO] [1607065944.764471198]: Dock perception initialized
process[diagnostic_aggregator-31]: started with pid [16005]
[ INFO] [1607065944.815463141]: Device "1d27/0609@1/2" found.
Warning: USB events thread - failed to set priority. This might cause loss of data...
[ WARN] [1607065944.954546718]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[ INFO] [1607065944.956869579]: Started arm_controller/gravity_compensation
[ WARN] [1607065944.960272211]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[ INFO] [1607065944.980291146]: Started base_controller
[ WARN] [1607065944.995450528]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
terminate called after throwing an instance of 'YAML::InvalidNode'
  what():  yaml-cpp: error at line 0, column 0: invalid node; this may result from using a map iterator as a sequence iterator, or vice-versa
[robot_driver-3] process has died [pid 15832, exit code -6, cmd /opt/ros/melodic/lib/fetch_drivers/robot_driver __name:=robot_driver __log:=/home/fetch/.ros/log/0e4ebaa2-3600-11eb-9006-a8a15943aefb/robot_driver-3.log].
log file: /home/fetch/.ros/log/0e4ebaa2-3600-11eb-9006-a8a15943aefb/robot_driver-3*.log

cc. @708yamaguchi @mqcmd196

mikeferguson commented 3 years ago

I think that fetch_drivers have not been rebuilt and re-released and this PR changed API & ABI - if you check out the 0.6.0 tag of this repo, it should work.

knorth55 commented 3 years ago

We want to use #38 and #40 for our robot (actually we are updating our robot to melodic) and we found this error with current master with 0.6.0. we want to have the release without https://github.com/fetchrobotics/robot_controllers/commit/6452011adb64f79f72a08e361be4282d31e1a71f

erelson commented 3 years ago

Unfortunately, I don't expect to build and test updated drivers for melodic until I've gotten a release out for Noetic. Thanks for the heads up, though! If we do a release of robot_controllers for melodic, we'll make sure to do one of fetch_binary_drivers as well.

mikeferguson commented 3 years ago

Fixed by #68