File 'topicsquiz.launch.py' was not found in the share directory of package 'topics_quiz' which is at '/home/user/ros2_ws/src/install/topics_quiz/share/topics_quiz'

Hello,
This error is coming up for some reason and I can’t figure out why.

This is my Cmake code:

cmake_minimum_required(VERSION 3.8)
project(topics_quiz)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES “Clang”)
add_compile_options(-Wall -Wextra -Wpedantic)
endif()

#find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
#the following line skips the linter which checks for copyrights
#comment the line when a copyright and license is added to all source files
set(ament_cmake_copyright_FOUND TRUE)
#the following line skips cpplint (only works in a git repo)
#comment the line when this package is in a git repo and when
#a copyright and license is added to all source files
set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()

add_executable(sub_laser_node src/laser_sub.cpp)
ament_target_dependencies(sub_laser_node rclcpp std_msgs sensor_msgs geometry_msgs)

install(TARGETS
sub_laser_node
DESTINATION lib/${PROJECT_NAME}
)

#Install launch files.
install(DIRECTORY
launch
DESTINATION share/${PROJECT_NAME}/
)

#ament_target_dependencies(sub_odom_node rclcpp std_msgs)

ament_package()

This is my launch file:

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
return LaunchDescription([
Node(
package=‘topics_quiz’,
executable=‘sub_laser_node’,
output=‘screen’),
])

This is my input to the terminal:

ros2 launch topics_quiz topicsquiz.launch.py

Thanks!

I don’t know how relevant, since i am doing ROS basics in pythons, but had the same issue.
Have you double checked where that topicsquiz.launch.py is inside the launch directory which is inside the topics_quiz package?
In my case this launch file and folder were inside /ros2_ws directory not inside the package.

This is the location of my launch file which is inside a file called launch and inside my package. So if I understood your point, I don’t think that’s the issue

I see, you understood me correctly.
Don’t know then, maybe try build and source again, maybe again after restarting the website

I see two problems here:

  • The name of the quiz launch file should be topics_quiz.launch.py. Rename it, or you will fail the quiz because of wrong name.
  • It seems you are yet to set up the launch file properly. Go over the examples explain the setup part.

I discovered my mistake! Indeed it was in the sourcing I was doing it for the install file outside of the src file which is why my launch file couldn’t be found.

Fixed my problem thank you