chvmp / champ

MIT Cheetah I Implementation
BSD 3-Clause "New" or "Revised" License
1.47k stars 342 forks source link

made it work in ros2 foxy #99

Closed 0nhc closed 1 year ago

0nhc commented 1 year ago

I'm using ROS2 foxy in Ubuntu 20.04. I finally made it work, here's some problems I met. 1. When I compile champ using colcon build, it downloaded ros2_controller from a forked github version automatically. But I have installed the same packages through apt-get command (sudo apt-get install ros-focy-ros2-controllers) previously so some errors occurred during colcon build. So I edited the CMakeLists so that it won't download ros2_controllers into src folder automatically and there won't be conflicts between the same packages installed through apt-get command.

2. I could not launch bringup.launch.py at first, then I found the problem lies in champ_bringup/launch/bringup.launcgh.py. It didn't point out the joints_config, gait_config and links config file.

3. I merged rviz into bringup.launch.py in champ_config, So you won't have to open another terminal to open rviz window

4. I also edited readme.md

Tiryoh commented 1 year ago

I've tested on Galactic, and there was no error while colcon build.

There was also an error launching "bringup.launch.py" on Galactic. The error was resolved with the suggested patch for champ_bringup/launch/bringup.launch.py. For the record, I am sharing the full log.

  1. I could not launch bringup.launch.py at first, then I found the problem lies in champ_bringup/launch/bringup.launcgh.py. It didn't point out the joints_config, gait_config and links config file.
$ ros2 launch champ_config bringup.launch.py 
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2022-08-22-16-12-27-645454-025b43e2800b-11458
[INFO] [launch]: Default logging verbosity is set to INFO
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: .
[INFO] [robot_state_publisher-1]: process started with pid [11465]
[INFO] [quadruped_controller_node-2]: process started with pid [11467]
[INFO] [state_estimation_node-3]: process started with pid [11469]
[INFO] [ekf_node-4]: process started with pid [11471]
[INFO] [ekf_node-5]: process started with pid [11473]
[robot_state_publisher-1] [WARN] [1661184748.490026560] [robot_state_publisher]: use_tf_static is deprecated and will be removed in the future
[ekf_node-4] [WARN] [1661184748.503605616] [base_to_footprint_ekf]: Warning: Some linear velocity entries in parameter imu0_config are listed true, but an sensor_msgs/Imu contains no information about linear velocities
[ekf_node-4] Warning: imu/data is listed as an input topic, but all its update variables are false
[state_estimation_node-3] [INFO] [1661184748.506821219] [rclcpp]: Successfully parsed urdf file
[state_estimation_node-3] terminate called after throwing an instance of 'std::runtime_error'
[robot_state_publisher-1] Link base_inertia had 0 children
[robot_state_publisher-1] Link camera_link had 2 children
[robot_state_publisher-1] Link camera_depth_frame had 1 children
[robot_state_publisher-1] Link camera_depth_optical_frame had 0 children
[robot_state_publisher-1] Link camera_rgb_frame had 1 children
[robot_state_publisher-1] Link camera_rgb_optical_frame had 0 children
[robot_state_publisher-1] Link hokuyo_frame had 0 children
[robot_state_publisher-1] Link imu_link had 0 children
[robot_state_publisher-1] Link lf_hip_debug_link had 0 children
[robot_state_publisher-1] Link lf_hip_link had 1 children
[robot_state_publisher-1] Link lf_upper_leg_link had 1 children
[robot_state_publisher-1] Link lf_lower_leg_link had 1 children
[robot_state_publisher-1] Link lf_foot_link had 0 children
[robot_state_publisher-1] Link lh_hip_debug_link had 0 children
[robot_state_publisher-1] Link lh_hip_link had 1 children
[robot_state_publisher-1] Link lh_upper_leg_link had 1 children
[robot_state_publisher-1] Link lh_lower_leg_link had 1 children
[robot_state_publisher-1] Link lh_foot_link had 0 children
[robot_state_publisher-1] Link rf_hip_debug_link had 0 children
[robot_state_publisher-1] Link rf_hip_link had 1 children
[robot_state_publisher-1] Link rf_upper_leg_link had 1 children
[robot_state_publisher-1] Link rf_lower_leg_link had 1 children
[robot_state_publisher-1] Link rf_foot_link had 0 children
[robot_state_publisher-1] Link rh_hip_debug_link had 0 children
[robot_state_publisher-1] Link rh_hip_link had 1 children
[robot_state_publisher-1] Link rh_upper_leg_link had 1 children
[robot_state_publisher-1] Link rh_lower_leg_link had 1 children
[robot_state_publisher-1] Link rh_foot_link had 0 children
[robot_state_publisher-1] [INFO] [1661184748.507163123] [robot_state_publisher]: got segment base_inertia
[robot_state_publisher-1] [INFO] [1661184748.507184858] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1661184748.507190813] [robot_state_publisher]: got segment camera_depth_frame
[robot_state_publisher-1] [INFO] [1661184748.507195344] [robot_state_publisher]: got segment camera_depth_optical_frame
[robot_state_publisher-1] [INFO] [1661184748.507199840] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-1] [INFO] [1661184748.507204193] [robot_state_publisher]: got segment camera_rgb_frame
[robot_state_publisher-1] [INFO] [1661184748.507208617] [robot_state_publisher]: got segment camera_rgb_optical_frame
[robot_state_publisher-1] [INFO] [1661184748.507212970] [robot_state_publisher]: got segment hokuyo_frame
[robot_state_publisher-1] [INFO] [1661184748.507217312] [robot_state_publisher]: got segment imu_link
[robot_state_publisher-1] [INFO] [1661184748.507221482] [robot_state_publisher]: got segment lf_foot_link
[robot_state_publisher-1] [INFO] [1661184748.507225762] [robot_state_publisher]: got segment lf_hip_debug_link
[robot_state_publisher-1] [INFO] [1661184748.507230054] [robot_state_publisher]: got segment lf_hip_link
[robot_state_publisher-1] [INFO] [1661184748.507234295] [robot_state_publisher]: got segment lf_lower_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507238548] [robot_state_publisher]: got segment lf_upper_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507242737] [robot_state_publisher]: got segment lh_foot_link
[robot_state_publisher-1] [INFO] [1661184748.507246913] [robot_state_publisher]: got segment lh_hip_debug_link
[robot_state_publisher-1] [INFO] [1661184748.507251044] [robot_state_publisher]: got segment lh_hip_link
[robot_state_publisher-1] [INFO] [1661184748.507255242] [robot_state_publisher]: got segment lh_lower_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507259611] [robot_state_publisher]: got segment lh_upper_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507263920] [robot_state_publisher]: got segment rf_foot_link
[robot_state_publisher-1] [INFO] [1661184748.507268324] [robot_state_publisher]: got segment rf_hip_debug_link
[robot_state_publisher-1] [INFO] [1661184748.507272479] [robot_state_publisher]: got segment rf_hip_link
[robot_state_publisher-1] [INFO] [1661184748.507276786] [robot_state_publisher]: got segment rf_lower_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507280932] [robot_state_publisher]: got segment rf_upper_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507285052] [robot_state_publisher]: got segment rh_foot_link
[robot_state_publisher-1] [INFO] [1661184748.507289204] [robot_state_publisher]: got segment rh_hip_debug_link
[robot_state_publisher-1] [INFO] [1661184748.507293497] [robot_state_publisher]: got segment rh_hip_link
[robot_state_publisher-1] [INFO] [1661184748.507297815] [robot_state_publisher]: got segment rh_lower_leg_link
[robot_state_publisher-1] [INFO] [1661184748.507302031] [robot_state_publisher]: got segment rh_upper_leg_link
[state_estimation_node-3]   what():  No links config file provided
[quadruped_controller_node-2] [INFO] [1661184748.509707143] [rclcpp]: Successfully parsed urdf file
[quadruped_controller_node-2] terminate called after throwing an instance of 'std::runtime_error'
[quadruped_controller_node-2]   what():  No links config file provided
[ERROR] [state_estimation_node-3]: process has died [pid 11469, exit code -6, cmd '/home/ubuntu/ros_ws/install/champ_base/lib/champ_base/state_estimation_node --ros-args --params-file /tmp/launch_params_wtmvuro8 --params-file /tmp/launch_params_5os4u6l0 --params-file /tmp/launch_params_mh_kqfy6'].
[ERROR] [quadruped_controller_node-2]: process has died [pid 11467, exit code -6, cmd '/home/ubuntu/ros_ws/install/champ_base/lib/champ_base/quadruped_controller_node --ros-args --params-file /tmp/launch_params_ic66do8b --params-file /tmp/launch_params_qids7z8_ --params-file /tmp/launch_params_d9gkozzd --params-file /tmp/launch_params_vlerediz --params-file /tmp/launch_params_9w2w0dyf --params-file /tmp/launch_params_xzx8sqrq --params-file /tmp/launch_params_pn1w9mig -r /cmd_vel/smooth:=/cmd_vel'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[ekf_node-4] [INFO] [1661184948.006466411] [rclcpp]: signal_handler(signal_value=2)
[ekf_node-5] [INFO] [1661184948.006439825] [rclcpp]: signal_handler(signal_value=2)
[robot_state_publisher-1] [INFO] [1661184948.006589951] [rclcpp]: signal_handler(signal_value=2)
[INFO] [robot_state_publisher-1]: process has finished cleanly [pid 11465]
[INFO] [ekf_node-4]: process has finished cleanly [pid 11471]
[INFO] [ekf_node-5]: process has finished cleanly [pid 11473]