hsr_ros2_doc's Issues
HSR-C simulator error in ROS2
I am trying to run HSR in a ROS2 environment according to hsr_ros2_doc.
in Case: HSR-B
cd ~/hsr_ros2_ws
source install/setup.bash
ros2 launch hsrb_gazebo_bringup spawn_hsrb.launch.py
It worked fine.
in Case:HSR-C
The following error message is displayed and the program terminates abnormally
roboworks@MacBookPro:~$ ros2 launch hsrb_gazebo_bringup spawn_hsrc.launch.py
[INFO] [launch]: All log files can be found below /home/roboworks/.ros/log/2023-06-15-07-44-09-046127-MacBookPro-12354
[INFO] [launch]: Default logging verbosity is set to INFO
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:226> exception=TypeError('Unable to parse the value of parameter robot_description as yaml. If the parameter is meant to be a string, try wrapping it in launch_ros.parameter_descriptions.ParameterValue(value, value_type=str)')>
Traceback (most recent call last):
File "/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/utilities/evaluate_parameters.py", line 78, in evaluate_parameter_dict
yaml_evaluated_value = yaml.safe_load(evaluated_value)
File "/usr/lib/python3/dist-packages/yaml/init.py", line 162, in safe_load
return load(stream, SafeLoader)
File "/usr/lib/python3/dist-packages/yaml/init.py", line 114, in load
return loader.get_single_data()
File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 49, in get_single_data
node = self.get_single_node()
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 58, in compose_document
self.get_event()
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 118, in get_event
self.current_event = self.state()
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 193, in parse_document_end
token = self.peek_token()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 129, in peek_token
self.fetch_more_tokens()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 223, in fetch_more_tokens
return self.fetch_value()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 577, in fetch_value
raise ScannerError(None, None,
yaml.scanner.ScannerError: mapping values are not allowed here
in "", line 11, column 75:
... the following conditions are met:
^
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event
await self.__process_event(next_event)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 248, 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 45, in visit_all_entities_and_collect_futures
futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
File "/opt/ros/foxy/lib/python3.8/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/foxy/lib/python3.8/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)
[Previous line repeated 3 more times]
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_ros/actions/node.py", line 444, in execute
self._perform_substitutions(context)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/actions/node.py", line 399, in _perform_substitutions
evaluated_parameters = evaluate_parameters(context, self.__parameters)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/utilities/evaluate_parameters.py", line 164, in evaluate_parameters
output_params.append(evaluate_parameter_dict(context, param))
File "/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/utilities/evaluate_parameters.py", line 80, in evaluate_parameter_dict
raise TypeError(
TypeError: Unable to parse the value of parameter robot_description as yaml. If the parameter is meant to be a string, try wrapping it in launch_ros.parameter_descriptions.ParameterValue(value, value_type=str)
Task exception was never retrieved
future: <Task finished name='Task-8' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:226> 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 228, in _process_one_event
await self.__process_event(next_event)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 248, 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 443, in __on_signal_process_event
raise RuntimeError('Signal event received before subprocess transport available.')
RuntimeError: Signal event received before subprocess transport available.
[INFO] [joint_state_publisher-1]: process started with pid [12357]
[joint_state_publisher-1] [INFO] [1686782650.225422729] [whole_body.joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic...
[ERROR] [joint_state_publisher-1]: process[joint_state_publisher-1] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [joint_state_publisher-1]: sending signal 'SIGTERM' to process[joint_state_publisher-1]
[ERROR] [joint_state_publisher-1]: process has died [pid 12357, exit code -15, cmd '/opt/ros/foxy/lib/joint_state_publisher/joint_state_publisher --ros-args -r __ns:=/whole_body --params-file /tmp/launch_params_y3d8up06 -r robot_description:=/robot_description'].
Build problem for actual robot
I am trying to install according to the "Actual Robot" section, and I needed to run the following command to resolve the rosdep
error.
sudo apt install ros-foxy-xacro ros-foxy-camera-info-manager ros-foxy-usb-cam \
ros-foxy-transmission-interface ros-foxy-realtime-tools ros-foxy-joint-trajectory-controller \
ros-foxy-joint-state-publisher-gui ros-foxy-urg-node ros-foxy-joint-state-broadcaster \
ros-foxy-depth-image-proc ros-foxy-controller-manager
After that, I then executed colcon build
, but got the following error
--- stderr: openni2_camera
CMake Error at CMakeLists.txt:73 (rosidl_get_typesupport_target):
Unknown CMake command "rosidl_get_typesupport_target".
It seems that rosidl_get_typesupport_target is not available in ROS Foxy.
I changed the relevant part of CMakeLists.txt as follows.
# rosidl_get_typesupport_target(cpp_typesupport_target
# ${PROJECT_NAME} "rosidl_typesupport_cpp")
# target_link_libraries(openni2_camera_lib "${cpp_typesupport_target}")
rosidl_target_interfaces(openni2_camera_lib
${PROJECT_NAME} "rosidl_typesupport_cpp")
After the above correction, I faced the following error
--- stderr: openni2_camera
/home/masutani/hsr_ros2_ws/openni2_camera/openni2_camera/src/openni2_device_manager.cpp: In member function 'virtual void openni2_wrapper::OpenNI2DeviceListener::onDeviceConnected(const openni::DeviceInfo*)':
/home/masutani/hsr_ros2_ws/openni2_camera/openni2_camera/src/openni2_device_manager.cpp:109:21: error: missing template arguments before 'l'
109 | std::lock_guard l(device_mutex_);
| ^
omitting the rest
Argument deduction of C++ class templates can be used only since C++17.
So I changed CMakeLists.txt as follows
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
endif()
Then the build was complete.
Are the above solutions correct? How did other people deal with these problems?
Furthermore, openni2_camera is not developed by HSR project. What should we do?
Where are calibration files for hand_camera and head_center_camera driver?
The ros2_control_node problem may be solved, but the problem of hsrb.launch.py
still remains. usb_cam_node_exe
for hand_camera
and head_center_camera
died.
Here is the relevant part of the launch message.
[usb_cam_node_exe-12] [INFO] [1707468985.015891484] [hand_camera.driver]: camera_name value: hand_camera
[usb_cam_node_exe-12] [WARN] [1707468985.016022016] [hand_camera.driver]: framerate: 30.000000
[usb_cam_node_exe-12] [INFO] [1707468985.018087916] [hand_camera.driver]: using default calibration URL
[usb_cam_node_exe-12] [INFO] [1707468985.018138100] [hand_camera.driver]: camera calibration URL: file:///home/masutani/.ros/camera_info/hand_camera.yaml
[usb_cam_node_exe-12] [ERROR] [1707468985.018219337] [camera_calibration_parsers]: Unable to open camera calibration file [/home/masutani/.ros/camera_info/hand_camera.yaml]
[usb_cam_node_exe-12] [WARN] [1707468985.018238377] [hand_camera.driver]: Camera calibration file /home/masutani/.ros/camera_info/hand_camera.yaml not found
[usb_cam_node_exe-12] [INFO] [1707468985.020583571] [hand_camera.driver]: Starting 'hand_camera' (/dev/hand_camera) at 640x480 via mmap (yuyv) at 30 FPS
[usb_cam_node_exe-12] terminate called after throwing an instance of 'char*'
[ERROR] [usb_cam_node_exe-12]: process has died [pid 10249, exit code -6, cmd '/opt/ros/foxy/lib/usb_cam/usb_cam_node_exe --ros-args -r __node:=driver -r __ns:=/hand_camera --params-file /home/masutani/hsr_ros2_ws/install/hsrb_bringup/share/hsrb_bringup/config/hand_camera.yaml'].
[usb_cam_node_exe-11] [INFO] [1707468985.045078361] [head_center_camera.driver]: camera_name value: head_center_camera
[usb_cam_node_exe-11] [WARN] [1707468985.045209959] [head_center_camera.driver]: framerate: 30.000000
[usb_cam_node_exe-11] [INFO] [1707468985.049506841] [head_center_camera.driver]: using default calibration URL
[usb_cam_node_exe-11] [INFO] [1707468985.049567971] [head_center_camera.driver]: camera calibration URL: file:///home/masutani/.ros/camera_info/head_center_camera.yaml
[usb_cam_node_exe-11] [ERROR] [1707468985.049653910] [camera_calibration_parsers]: Unable to open camera calibration file [/home/masutani/.ros/camera_info/head_center_camera.yaml]
[usb_cam_node_exe-11] [WARN] [1707468985.049673671] [head_center_camera.driver]: Camera calibration file /home/masutani/.ros/camera_info/head_center_camera.yaml not found
[usb_cam_node_exe-11] [INFO] [1707468985.049705863] [head_center_camera.driver]: Starting 'head_center_camera' (/dev/head_center_camera) at 640x480 via mmap (yuyv) at 30 FPS
[usb_cam_node_exe-11] terminate called after throwing an instance of 'char*'
[ERROR] [usb_cam_node_exe-11]: process has died [pid 10236, exit code -6, cmd '/opt/ros/foxy/lib/usb_cam/usb_cam_node_exe --ros-args -r __node:=driver -r __ns:=/head_center_camera --params-file /home/masutani/hsr_ros2_ws/install/hsrb_bringup/share/hsrb_bringup/config/head_center_camera.yaml'].
There is no calibration data in hsrb_bringup/config/hand_camera.yaml
and hsrb_bringup/config/head_center_camera.yaml
.
Where are the calibration files for these cameras?
Cannot get the sensor information of HSR on Rviz
__I'm trying to create a map in the simulator of HSR in ROS2 environment.
So I need to get the sensor information of HSR on Rviz.
I built a simulator according to https://github.com/hsr-project/hsr_ros2_doc.
Then starting gazebo and spawning HSR worked correctly.
I ran the following command and started slam_toolbox.
ros2 launch hsrb_mapping slam_toolbox_mapping.launch.py
Then I started rviz and tried to create a map, but it failed to create it and said "no map recived".
I checked the active topics with the following command.
ros2 topic list
According to it, the base_link topic was not active.
Therefore Rviz cannot get the sensor infomation.
How can I make the base_link topic active?
Please advise.
rosdep error on actual robot
I built the ROS2 environment on the actual robot according to https://github.com/hsr-project/hsr_ros2_doc.
I ran the following command.
rosdep install --from-paths . -y --ignore-src
And then, the following error is displayed.
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
hsrb_gripper_controller: Cannot locate rosdep definition for [joint_trajectory_controller]
openni2_camera: Cannot locate rosdep definition for [camera_info_manager]
hsrb_description: Cannot locate rosdep definition for [xacro]
hsrb_robot_hardware: Cannot locate rosdep definition for [transmission_interface]
hsrb_base_controllers: Cannot locate rosdep definition for [realtime_tools]
hsrb_bringup: Cannot locate rosdep definition for [usb_cam]
What is the solution?
Please advice.
HSR in Gazebo hops
I am trying the MoveIt demo by using simulator. HSR in Gazebo hops abnormally.
Is there something wrong? How can I fix it?
Please see the linked video.
https://drive.google.com/file/d/1Hdsg1Qb3QVCVd3vdNc9-IqY4Cps98m-Y/view?usp=sharing
(Sim) Very strange movement for /omni_base_controller/command_velocity topic
HSR in Gazebo for /omni_base_controller/command_velocity topic is very strange.
To clarify the issue, after launching the simulation, I ran the following command on another terminal in case of linear.x = 1.0.
ros2 topic pub -r 10 -t 50 /omni_base_controller/command_velocity geometry_msgs/msg/Twist "{linear: {x: 1.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0 , z: 0.0}}"
Result:
- linear.x = 1.0 : moves forward (normal?)
- linear.x = -1.0: moves backward and then turn
- linear.y = 1.0 : turns left backward 90 degrees, then moves sideways
- angular.z = 1.0: No movement at all
See screencast for linear.y = 1.0.
https://drive.google.com/file/d/1-8tSIVygn3Aq7K3vI5kEcAj2Co07CGmu/view?usp=sharing
How can I solve this problem?
Has anyone else encountered this problem?
[ERROR] [1711077612.076564900] [controller_server]: Failed to make progress
I am running actual robot of HSR and trying navigation with ROS2 foxy.
I have ran navigation by the following documentation: hsrb_rosnav_config
I run the following command:
ros2 launch hsrb_rosnav_config navigation_launch.py map:=/full/path/to/map.yaml
And when I specify 2D Pose Estimate, I can only do path planning.
I get an the following error on the command line:
[controller_server-1] [INFO] [1711077602.065240930] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[controller_server-1] [INFO] [1711077602.076080318] [controller_server]: Received a goal, begin computing control effort.
[controller_server-1] [INFO] [1711077602.426512054] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077603.426505040] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077604.476500892] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077605.526497582] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077606.576501000] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077607.576501680] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077608.626503445] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077609.676499406] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077610.676499838] [controller_server]: Passing new path to controller.
[planner_server-2] [WARN] [1711077611.494322610] [global_costmap.global_costmap]: Can't update static costmap layer, no map received
[controller_server-1] [INFO] [1711077611.726506327] [controller_server]: Passing new path to controller.
[controller_server-1] [ERROR] [1711077612.076564900] [controller_server]: Failed to make progress
[controller_server-1] [WARN] [1711077612.076722094] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle.
[controller_server-1] [INFO] [1711077612.095229289] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[planner_server-2] [INFO] [1711077612.095798248] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[recoveries_server-3] [INFO] [1711077612.106158884] [recoveries_server]: Attempting spin
[recoveries_server-3] [INFO] [1711077612.108650991] [recoveries_server]: Turning 1.57 for spin recovery.
[recoveries_server-3] [INFO] [1711077613.109627457] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077614.109668319] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077615.109801359] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077616.109621440] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077617.109543970] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077618.109549229] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077619.109580373] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077620.109509738] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077621.109508454] [recoveries_server]: spin running...
[planner_server-2] [WARN] [1711077621.494320460] [global_costmap.global_costmap]: Can't update static costmap layer, no map received
[recoveries_server-3] [INFO] [1711077622.109489899] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077623.109482526] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077624.109472705] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077625.109478057] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077626.109443989] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077627.109607907] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077628.109431126] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077629.109421072] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077630.109395034] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077631.109610792] [recoveries_server]: spin running...
[planner_server-2] [WARN] [1711077631.494403856] [global_costmap.global_costmap]: Can't update static costmap layer, no map received
[recoveries_server-3] [INFO] [1711077632.109605338] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077633.109395948] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077634.109377382] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077635.109327999] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077636.109466975] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077637.109356273] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077638.109911714] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077639.109350267] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077640.109315493] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077641.109405172] [recoveries_server]: spin running...
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[lifecycle_manager-9] [INFO] [1711077657.417588109] [rclcpp]: signal_handler(signal_value=2)
[map_server-7] [INFO] [1711077657.417591599] [rclcpp]: signal_handler(signal_value=2)
[waypoint_follower-5] [INFO] [1711077657.417611664] [rclcpp]: signal_handler(signal_value=2)
[recoveries_server-3] [INFO] [1711077657.417624477] [rclcpp]: signal_handler(signal_value=2)
[lifecycle_manager-6] [INFO] [1711077657.417642972] [rclcpp]: signal_handler(signal_value=2)
[controller_server-1] [INFO] [1711077657.417646982] [rclcpp]: signal_handler(signal_value=2)
[bt_navigator-4] [INFO] [1711077657.417703273] [rclcpp]: signal_handler(signal_value=2)
[bt_navigator-4] [ERROR] [1711077657.418931201] [bt_navigator]: Action server failed while executing action callback: "Failed to create interrupt guard condition in Executor constructor: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67"
[bt_navigator-4] [WARN] [1711077657.418956192] [bt_navigator]: [navigate_to_pose] [ActionServer] Aborting handle.
[bt_navigator-4] [INFO] [1711077657.421430445] [bt_navigator]: Destroying
[planner_server-2] [INFO] [1711077657.417755857] [rclcpp]: signal_handler(signal_value=2)
[INFO] [recoveries_server-3]: process has finished cleanly [pid 229568]
[INFO] [planner_server-2]: process has finished cleanly [pid 229566]
[amcl-8] [INFO] [1711077657.417774824] [rclcpp]: signal_handler(signal_value=2)
[INFO] [controller_server-1]: process has finished cleanly [pid 229564]
[map_server-7] [INFO] [1711077657.418754448] [map_server]: Destroying
[recoveries_server-3] [WARN] [1711077657.419306881] [recoveries_server]: [spin] [ActionServer] Current goal was not completed successfully.
[recoveries_server-3] [WARN] [1711077657.419339355] [recoveries_server]: [spin] [ActionServer] Aborting handle.
[lifecycle_manager-6] [INFO] [1711077657.425754777] [lifecycle_manager_navigation]: Destroying
[amcl-8] [INFO] [1711077657.426371525] [amcl]: Destroying
[lifecycle_manager-9] [INFO] [1711077657.426598087] [lifecycle_manager_localization]: Destroying
[waypoint_follower-5] [INFO] [1711077657.427229596] [waypoint_follower]: Destroying
[ERROR] [bt_navigator-4]: process has died [pid 229571, exit code -6, cmd '/opt/ros/foxy/lib/nav2_bt_navigator/bt_navigator --ros-args -r __node:=bt_navigator --params-file /tmp/tmp27jgxwzu -r /tf:=tf -r /tf_static:=tf_static'].
[INFO] [lifecycle_manager-9]: process has finished cleanly [pid 229609]
[INFO] [amcl-8]: process has finished cleanly [pid 229606]
[INFO] [lifecycle_manager-6]: process has finished cleanly [pid 229595]
[INFO] [map_server-7]: process has finished cleanly [pid 229601]
[bt_navigator-4] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[bt_navigator-4] what(): Failed to create interrupt guard condition in Executor constructor: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67
[INFO] [waypoint_follower-5]: process has finished cleanly [pid 229592]
Can't update static costmap layer, no map receive
I am running actual robot of HSR and trying navigation with ROS2 foxy.
I have ran navigation by the following documentation: hsrb_rosnav_config
To launch Rviz2 successfully.
I ran the following command:
ros2 launch hsrb_rosnav_config navigation_launch.py map:=/full/path/to/map.yaml
And when I specified 2D Pose Estimate, I could not get TF.
What's the problem?
The actual gripper does not close
I am running the actual robot of HSR and trying to close its gripper.
I built the environment according to the section of Actual Robot in hsr_ros2_doc
I launch moveit by entering the following command:
ros2 launch hsrb_moveit_config hsrb_demo.launch.py
Then I try to specify hand_morter_joint and run "Plan & Execute" on Rviz.
Please watch the following video:
cannot_gripper_close.mp4
But gripper does not close.
When I specify a value of hand_morter_joint smaller than -7°, the gripper does not work.
How can I close the gripper?
ros2_control_node died
After the install described in issue #5, I stopped docker.hsrb.roscore.service
, released the stop button, and executed the following command,
ros2 launch hsrb_bringup hsrb.launch.py
However, an error appeared immediately.
[INFO] [launch]: All log files can be found below /home/masutani/.ros/log/2024-02-09-04-52-52-549957-hsrb-33170
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [33185]
[ERROR] [ros2_control_node-1]: process has died [pid 33185, exit code -6, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_hu07z5nk --params-file /home/masutani/hsr_ros2_ws/install/hsrb_bringup/share/hsrb_bringup/config/controllers.yaml --params-file /tmp/launch_params_x8pwv3ze -r odom:=~/wheel_odom'].
(omitting the rest)
The ros2_control_node died.
How can I check to solve this?
[ERROR] [1711077612.076564900] [controller_server]: Failed to make progress
This issue is a rewrite of #12 and #13 .
I am running actual robot of HSR and trying navigation according to hsrb_rosnav_config.
HSR can plan the path, but cannot move independently.
Here are the details.
I am running HSR in the following environment:
Ubuntu 20.04.6 LTS
ROS foxy
I built the environment according to the section of Actual Robot in hsr_ros2_doc.
I run navigation is done in the following steps.
- bringup HSR
- launch Rviz
- autonomous movement
First, power on HSR and stop docker on ROS1.
Then bringup HSR by entering the following command:
ros2 launch hsrb_bringup hsrb.launch.py
Next, launch Rviz by entering the following command:
ros2 launch hsrb_rosnav_config nav_rviz.launch.py
We create a launch file nav_rviz.launch.py in the hsrb_rosnav_config package.
Contents of nav_rviz.launch.py:
import os
from ament_index_python.packages import get_package_share_directory
import launch
from launch import LaunchDescription
from launch.substitutions import (
Command,
FindExecutable,
LaunchConfiguration,
PathJoinSubstitution,
)
from launch_ros.substitutions import FindPackageShare
from launch_ros.actions import Node
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
def declare_arguments():
declared_arguments = []
declared_arguments.append(
DeclareLaunchArgument('description_package',
default_value='hsrb_description',
description='Description package with robot URDF/xacro files.'))
declared_arguments.append(
DeclareLaunchArgument('description_file',
default_value='hsrb4s.urdf.xacro',
description='URDF/XACRO description file with the robot.'))
return declared_arguments
def generate_launch_description():
package_dir = get_package_share_directory("hsrb_rosnav_config")
description_package = LaunchConfiguration('description_package')
description_file = LaunchConfiguration('description_file')
robot_description_content = Command(
[PathJoinSubstitution([FindExecutable(name='xacro')]),
' ',
PathJoinSubstitution([FindPackageShare(description_package),
'robots',
description_file])
])
robot_description = {'robot_description': robot_description_content}
use_sim_time = LaunchConfiguration('use_sim_time', default='true')
rviz = os.path.join(package_dir, "rviz" , "hsr_navigation.rviz")
ekf_path = os.path.join(package_dir, "config", 'nav2_params.yaml')
return LaunchDescription(declare_arguments() + [
launch.actions.DeclareLaunchArgument(name='gui', default_value='True',
description='Flag to enable joint_state_publisher_gui'),
Node(
package='robot_localization',
executable='ekf_node',
name='ekf_filter_node',
output='screen',
parameters=[ekf_path, {'use_sim_time': use_sim_time}]
),
Node(
package='rviz2',
executable='rviz2',
name='rviz2',
arguments=['-d', rviz],
parameters=[{'use_sim_time': use_sim_time}],
output='screen'),
])
Then, launch the program of autonomous movement by entering the following command:
ros2 launch hsrb_rosnav_config navigation_launch.py map:=/full/path/to/map.yaml
After that, specify 2D Pose Estimate and Navigation2 Goal.
State after specify Navigation2 Goal:
- HSR does not move independently after path planning
- The error is displayed
Contents of the error:
[controller_server-1] [INFO] [1711077602.065240930] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[controller_server-1] [INFO] [1711077602.076080318] [controller_server]: Received a goal, begin computing control effort.
[controller_server-1] [INFO] [1711077602.426512054] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077603.426505040] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077604.476500892] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077605.526497582] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077606.576501000] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077607.576501680] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077608.626503445] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077609.676499406] [controller_server]: Passing new path to controller.
[controller_server-1] [INFO] [1711077610.676499838] [controller_server]: Passing new path to controller.
[planner_server-2] [WARN] [1711077611.494322610] [global_costmap.global_costmap]: Can't update static costmap layer, no map received
[controller_server-1] [INFO] [1711077611.726506327] [controller_server]: Passing new path to controller.
[controller_server-1] [ERROR] [1711077612.076564900] [controller_server]: Failed to make progress
[controller_server-1] [WARN] [1711077612.076722094] [controller_server_rclcpp_node]: [follow_path] [ActionServer] Aborting handle.
[controller_server-1] [INFO] [1711077612.095229289] [local_costmap.local_costmap]: Received request to clear entirely the local_costmap
[planner_server-2] [INFO] [1711077612.095798248] [global_costmap.global_costmap]: Received request to clear entirely the global_costmap
[recoveries_server-3] [INFO] [1711077612.106158884] [recoveries_server]: Attempting spin
[recoveries_server-3] [INFO] [1711077612.108650991] [recoveries_server]: Turning 1.57 for spin recovery.
[recoveries_server-3] [INFO] [1711077613.109627457] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077614.109668319] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077615.109801359] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077616.109621440] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077617.109543970] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077618.109549229] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077619.109580373] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077620.109509738] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077621.109508454] [recoveries_server]: spin running...
[planner_server-2] [WARN] [1711077621.494320460] [global_costmap.global_costmap]: Can't update static costmap layer, no map received
[recoveries_server-3] [INFO] [1711077622.109489899] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077623.109482526] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077624.109472705] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077625.109478057] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077626.109443989] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077627.109607907] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077628.109431126] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077629.109421072] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077630.109395034] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077631.109610792] [recoveries_server]: spin running...
[planner_server-2] [WARN] [1711077631.494403856] [global_costmap.global_costmap]: Can't update static costmap layer, no map received
[recoveries_server-3] [INFO] [1711077632.109605338] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077633.109395948] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077634.109377382] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077635.109327999] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077636.109466975] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077637.109356273] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077638.109911714] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077639.109350267] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077640.109315493] [recoveries_server]: spin running...
[recoveries_server-3] [INFO] [1711077641.109405172] [recoveries_server]: spin running...
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[lifecycle_manager-9] [INFO] [1711077657.417588109] [rclcpp]: signal_handler(signal_value=2)
[map_server-7] [INFO] [1711077657.417591599] [rclcpp]: signal_handler(signal_value=2)
[waypoint_follower-5] [INFO] [1711077657.417611664] [rclcpp]: signal_handler(signal_value=2)
[recoveries_server-3] [INFO] [1711077657.417624477] [rclcpp]: signal_handler(signal_value=2)
[lifecycle_manager-6] [INFO] [1711077657.417642972] [rclcpp]: signal_handler(signal_value=2)
[controller_server-1] [INFO] [1711077657.417646982] [rclcpp]: signal_handler(signal_value=2)
[bt_navigator-4] [INFO] [1711077657.417703273] [rclcpp]: signal_handler(signal_value=2)
[bt_navigator-4] [ERROR] [1711077657.418931201] [bt_navigator]: Action server failed while executing action callback: "Failed to create interrupt guard condition in Executor constructor: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67"
[bt_navigator-4] [WARN] [1711077657.418956192] [bt_navigator]: [navigate_to_pose] [ActionServer] Aborting handle.
[bt_navigator-4] [INFO] [1711077657.421430445] [bt_navigator]: Destroying
[planner_server-2] [INFO] [1711077657.417755857] [rclcpp]: signal_handler(signal_value=2)
[INFO] [recoveries_server-3]: process has finished cleanly [pid 229568]
[INFO] [planner_server-2]: process has finished cleanly [pid 229566]
[amcl-8] [INFO] [1711077657.417774824] [rclcpp]: signal_handler(signal_value=2)
[INFO] [controller_server-1]: process has finished cleanly [pid 229564]
[map_server-7] [INFO] [1711077657.418754448] [map_server]: Destroying
[recoveries_server-3] [WARN] [1711077657.419306881] [recoveries_server]: [spin] [ActionServer] Current goal was not completed successfully.
[recoveries_server-3] [WARN] [1711077657.419339355] [recoveries_server]: [spin] [ActionServer] Aborting handle.
[lifecycle_manager-6] [INFO] [1711077657.425754777] [lifecycle_manager_navigation]: Destroying
[amcl-8] [INFO] [1711077657.426371525] [amcl]: Destroying
[lifecycle_manager-9] [INFO] [1711077657.426598087] [lifecycle_manager_localization]: Destroying
[waypoint_follower-5] [INFO] [1711077657.427229596] [waypoint_follower]: Destroying
[ERROR] [bt_navigator-4]: process has died [pid 229571, exit code -6, cmd '/opt/ros/foxy/lib/nav2_bt_navigator/bt_navigator --ros-args -r __node:=bt_navigator --params-file /tmp/tmp27jgxwzu -r /tf:=tf -r /tf_static:=tf_static'].
[INFO] [lifecycle_manager-9]: process has finished cleanly [pid 229609]
[INFO] [amcl-8]: process has finished cleanly [pid 229606]
[INFO] [lifecycle_manager-6]: process has finished cleanly [pid 229595]
[INFO] [map_server-7]: process has finished cleanly [pid 229601]
[bt_navigator-4] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[bt_navigator-4] what(): Failed to create interrupt guard condition in Executor constructor: the given context is not valid, either rcl_init() was not called or rcl_shutdown() was called., at /tmp/binarydeb/ros-foxy-rcl-1.1.14/src/rcl/guard_condition.c:67
[INFO] [waypoint_follower-5]: process has finished cleanly [pid 229592]
The error says that
[global_costmap.global_costmap]: Can't update static costmap layer, no map received.
I believe that HSR cannot estimate self-location for global_costmap because global_costmap is not updated.
Therefore, when I specify 2D Pose Estimate outside the map, HSR seems to estimate self-location only for local_costmap.
The map does not show up on Rviz
I am running a simulation of HSR according to https://github.com/hsr-project/hsr_ros2_doc.
I cannot see the map on Rviz.
I tried navigation by running the following command.
ros2 launch hsrb_rosnav_config navigation_launch.py map:=~/hsr_project/hsrb_rosnav/hsrb_mapping/maps/wrs2020/map.yaml
After that, Rviz showed "no map recived" when I started it.
I checked the topic.
And then I found that both map_server and /map were up.
Am I doing something wrong?
Please advise if you know how to do navigation.
[ERROR]Controller manager not available
I am trying to run ROS2 foxy on actual robot of HSR.
I built the environment according to hsr_ros2_doc.
I brought up HSR by entering the following command:
ros2 launch hsrb_bringup hsrb.launch.py
And I got an error "Controller manager not available".
Does anyone know anything about this issue?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.