Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue running ros2 launch hoverboard_demo_bringup hoverboard.launch.py #8

Open
sebastienvg opened this issue Dec 21, 2024 · 39 comments
Assignees

Comments

@sebastienvg
Copy link

First time ROS2 user here so I apologize in advance for my lack of knowledge.

I am using Ubuntu 20.04 on Jetson Nano, I installed ROS2 Foxy. I then created ~/ros2_ws/src folder and cloned the repo in there.
I then ran colcon build and rosdep install --from-paths src -y --ignore-src from ~/ros2_ws and source the install/setup.bash and finally I tried ros2 launch hoverboard_demo_bringup hoverboard.launch.py and I can't figure what the error means

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=SubstitutionFailure("executable 'spawner' not found on the libexec directory '/opt/ros/foxy/lib/controller_manager' ")>
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 1 more time]
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 453, in execute
ret = super().execute(context)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py", line 823, in execute
self.__expand_substitutions(context)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py", line 668, in __expand_substitutions
cmd = [perform_substitutions(context, x) for x in self.__cmd]
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py", line 668, in
cmd = [perform_substitutions(context, x) for x in self.__cmd]
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in perform_substitutions
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_context.py", line 232, in perform_substitution
return substitution.perform(self)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/substitutions/executable_in_package.py", line 84, in perform
raise SubstitutionFailure(
launch.substitutions.substitution_failure.SubstitutionFailure: executable 'spawner' not found on the libexec directory '/opt/ros/foxy/lib/controller_manager'
Task exception was never retrieved
future: <Task finished name='Task-12' 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] [ros2_control_node-1]: process started with pid [331965]
[INFO] [robot_state_publisher-2]: process started with pid [331967]
[INFO] [ros2_control_node-1]: sending signal 'SIGINT' to process[ros2_control_node-1]
[ERROR] [ros2_control_node-1]: process has died [pid 331965, exit code -2, cmd '/opt/ros/foxy/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_pw8ijlq1 --params-file /home/jetson/ros2_ws/install/hoverboard_demo_bringup/share/hoverboard_demo_bringup/config/hoverboard_controllers.yaml'].
[robot_state_publisher-2] Parsing robot urdf xml string.
[robot_state_publisher-2] Link plate had 0 children
[robot_state_publisher-2] Link caster_wheel_back had 0 children
[robot_state_publisher-2] Link caster_wheel_front had 0 children
[robot_state_publisher-2] Link driving_wheel_left had 0 children
[robot_state_publisher-2] Link driving_wheel_right had 0 children
[robot_state_publisher-2] [INFO] [1734792503.959273022] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1734792503.959517142] [robot_state_publisher]: got segment caster_wheel_back
[robot_state_publisher-2] [INFO] [1734792503.959563445] [robot_state_publisher]: got segment caster_wheel_front
[robot_state_publisher-2] [INFO] [1734792503.959593289] [robot_state_publisher]: got segment driving_wheel_left
[robot_state_publisher-2] [INFO] [1734792503.959620425] [robot_state_publisher]: got segment driving_wheel_right
[robot_state_publisher-2] [INFO] [1734792503.959646832] [robot_state_publisher]: got segment plate
[ERROR] [robot_state_publisher-2]: process[robot_state_publisher-2] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [robot_state_publisher-2]: sending signal 'SIGTERM' to process[robot_state_publisher-2]
[ERROR] [robot_state_publisher-2]: process has died [pid 331967, exit code -15, cmd '/opt/ros/foxy/lib/robot_state_publisher/robot_state_publisher --ros-args --params-file /tmp/launch_params_kedqaq4g'].

@ayahelmyy
Copy link

did you solve this problem , i did the same steps you mentioned i have the same error , i don't know why , any help ?

@rgruberski
Copy link
Contributor

@ayahelmyy Hey! Please share the complete log, and I will try to help you. Please also tell us what ROS distro you have. Do you have a hardware controller flashed with the correct firmware and running?

@rgruberski rgruberski self-assigned this Feb 6, 2025
@ayahelmyy
Copy link

i'm using foxy distro , i tries the hoverboard with ros1 , and there was no problem with the firmware , but i don't know why it gave this error here is the output "[INFO] [launch]: All log files can be found below /home/aya/.ros/log/2025-02-06-14-39-25-420191-aya-IdeaPad-Gaming-3-15IMH05-125194
[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=SubstitutionFailure("executable '[<launch.substitutions.text_substitution.TextSubstitution object at 0x7fc40eb58d90>]' not found on the PATH")>
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 1 more time]
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 71, in evaluate_parameter_dict
evaluated_value = perform_substitutions(context, list(value))
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in perform_substitutions
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_context.py", line 232, in perform_substitution
return substitution.perform(self)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/substitutions/command.py", line 94, in perform
command_str = perform_substitutions(context, self.command)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in perform_substitutions
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/perform_substitutions_impl.py", line 26, in
return ''.join([context.perform_substitution(sub) for sub in subs])
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_context.py", line 232, in perform_substitution
return substitution.perform(self)
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/substitutions/path_join_substitution.py", line 45, in perform
performed_substitutions = [sub.perform(context) for sub in self.__substitutions]
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/substitutions/path_join_substitution.py", line 45, in
performed_substitutions = [sub.perform(context) for sub in self.__substitutions]
File "/opt/ros/foxy/lib/python3.8/site-packages/launch/substitutions/find_executable.py", line 66, in perform
raise SubstitutionFailure("executable '{}' not found on the PATH".format(self.name))
launch.substitutions.substitution_failure.SubstitutionFailure: executable '[<launch.substitutions.text_substitution.TextSubstitution object at 0x7fc40eb58d90>]' not found on the PATH
"

@ayahelmyy
Copy link

i only download your repo from the branch foxy , and download the https://github.com/hoverboard-robotics/
hoverboard-firmware-hack-FOC this firmware , built the packages , it's built without any error , but the problem in the ros2 launch

@ayahelmyy
Copy link

Image here the problem

@ayahelmyy
Copy link

the workspace include these files Image

@rgruberski
Copy link
Contributor

Just to be sure :) Have you switched to the foxy branch?

@ayahelmyy
Copy link

yes

@ayahelmyy
Copy link

i replied to this issue because i made the same things he did , and have the same errors from the foxy branch

@rgruberski
Copy link
Contributor

@ayahelmyy Sure, let me reproduce the problem. I have to prepare a containerized workspace with the foxy distro and try to run the code from scratch.

@ayahelmyy
Copy link

okay , please let me know the problem if you solve this , it will be very appreciated to reply on me back later , because i need to urgently and i didn't find any package for foxy , all is humble only

@rgruberski
Copy link
Contributor

@ayahelmyy, I have added a simple fix to the foxy branch. Please pull the changes and check. The first problem should be solved :) I have a lookup error in my containerized environment, but please check if it will also appear in your environment.

@ayahelmyy
Copy link

okay i will check it now , and tell you

@ayahelmyy
Copy link

did you try it and no errors found? because same errors found

@ayahelmyy
Copy link

Image like this

@rgruberski
Copy link
Contributor

@ayahelmyy Yes, the problem should be gone. I don't have this error anymore. You have to download the changes, compile the code (colcon build), and source the workspace. Have you done it? Please show the "git log" command output if the problem persists.

@ayahelmyy
Copy link

i downloaded the repo again and build the packages , and source it , then i ros launch and same errors again , i will try it again

@ayahelmyy
Copy link

unfortunately the same problem , i don't know the git log . in the terminal i wrote git log , but this found "fatal: not a git repository (or any of the parent directories): .git "

@ayahelmyy
Copy link

i asked chatgpt it said that "suggests that ROS 2 is trying to find an executable that does not exist or is not in the system's PATH" and asked me to check if the package have any axecutable by this command "ros2 pkg executables hoverboard_demo_bringup" and no files has appeared , is this true ?

@ayahelmyy
Copy link

i made all files in hoverboard_demo_description executable , then try ros2 pkg executables hoverboard_demo_description no files has appeared , it this right to happend , i'm not an expert in ros so help me

@rgruberski
Copy link
Contributor

rgruberski commented Feb 6, 2025

@ayahelmyy please go through the following steps in a fresh ros2 foxy workspace (in the src directory)

git clone https://github.com/DataBot-Labs/hoverboard_ros2_control.git .
git checkout foxy
cd ..
rosdep install --from-paths src -y --ignore-src --rosdistro foxy
colcon build
source install/setup.bash
ros2 launch hoverboard_demo_bringup hoverboard.launch.py

After that, you should have a result similar to this one:

Image

@ayahelmyy
Copy link

ok wait

@ayahelmyy
Copy link

this error found from the fourth command "rosdep install --from-paths src -y --ignore-src --rosdistro foxy"

Image

@ayahelmyy
Copy link

i solved this command thank you , i will continue then i will tell you the result

@rgruberski
Copy link
Contributor

Please run the "rosdep update --rosdistro=foxy" command and install packages by rosdep again.

@ayahelmyy
Copy link

finally the errors is solved but there is errors in rviz ,

Image

@ayahelmyy
Copy link

Image and this in the terminal

@rgruberski
Copy link
Contributor

Please disable rviz and joystick related nodes in the launch file.

@ayahelmyy
Copy link

ok

@ayahelmyy
Copy link

rviz still open , and in terminal found ,

Image

@ayahelmyy
Copy link

there is an error also , it may affect on me ?

@rgruberski
Copy link
Contributor

Yes, it doesn't work. Let me debug it with Foxy.

@ayahelmyy
Copy link

i wanna ask you some question , i need to use the hoverboard motors in delivery robot works autonomous , so i need the cmd_vel topic and the odom topic , i didn't found the odom topic and the package on ros1 there are many topics i didn't found it here ,

Image

@rgruberski
Copy link
Contributor

It doesn't work now, so you will have all the topics you need eventually :) Also, be careful of the ROS2 version you use. Foxy has reached its EOL (end-of-life), so it's not a good choice for the new project.

@ayahelmyy
Copy link

can i use humble if i use jetson nano ?
and is your repo for humble works well without any errors?

@ayahelmyy
Copy link

i knew why we use foxy , because the legal version of ubunto in our jetson is 18 only and we downloaded 20 by jetson hex image so we must use foxy

@ayahelmyy
Copy link

and last thing if i need the odom topic like the first version of ros1 like this :

Image

@rgruberski
Copy link
Contributor

can i use humble if i use jetson nano ? and is your repo for humble works well without any errors?

Yes, the project works well with the Humble and Jazzy distros. I am unsure, but you could use newer distros in a containerized environment (docker). Using the EOL ROS2 version for a new project is not a good idea.

and last thing if i need the odom topic like the first version of ros1 like this :

Image

You will have all the needed topics, but it has to run correctly. I will try debugging it with Foxy, but it's an EOL version, so I have to find time for it.

Please check these links:

https://github.com/dusty-nv/jetson-containers/tree/master/packages/ros
https://www.youtube.com/watch?v=7ALDqD9I79E

The Humble EOL is set for May 2027, and you can use it with Jetson probably. Please try the above links. I didn't check it, but it may be helpful.

Good luck!

@ayahelmyy
Copy link

sorry for the late replay , and thank you eng. Robert Gruberski for your support . could i ask you about the odom topic , according to using autonomous mode in my project , i need odom topic to take feedback , what should i do if you package doesn't have this topic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants