Ros2 Launch Descriptions for Turtlebot3 can't find libexec directory
I am a beginner when it comes to ROS 2. I was following this tutorial to create a way to automatically launch all the nodes from this tutorial. So I created a launch.py
file. Below is the content of this file:
import launch
import launch_ros.actions
def generate_launch_description():
return launch.LaunchDescription([
# ros2 launch turtlebot3_bringup robot.launch.py use_sim_time:=False
launch_ros.actions.Node(
package='turtlebot3_bringup',
executable='robot.launch.py',
name='turtlebot_bringup',
parameters=[{"use_sim_time": False}]
),
#ros2 launch nav2_bringup navigation_launch.py use_sim_time := False
launch_ros.actions.Node(
package='nav2_bringup',
executable='navigation_launch.py',
name='turtlebot_nav2',
parameters=[{"use_sim_time": False}]
),
#ros2 launch slam_toolbox online_async_launch.py use_sim_time:=False
launch_ros.actions.Node(
package='slam_toolbox',
executable='online_async_launch.py',
name='turtlebot_slam',
parameters=[{"use_sim_time": False}]
),
#ros2 launch rosbridge_server rosbridge_websocket_launch.xml
launch_ros.actions.Node(
package='rosbridge_server',
executable='rosbridge_websocket_launch.xml',
name='turtlebot_rosbridge'
),
])
I build it successfully with colcon build
but when I run it on my turtlebot3
, I get the following message:
launch.substitutions.substitution_failure.SubstitutionFailure: package 'turtlebot3_bringup' found at '/home/ubuntu/turtlebot3_ws/install/turtlebot3_bringup', but libexec directory '/home/ubuntu/turtlebot3_ws/install/turtlebot3_bringup/lib/turtlebot3_bringup' does not exist
And the message is right - There is no /lib
folder at all - just a /share
folder. It is unclear to me what I can do about that though. If I run the bringup separately in the terminal it works - so I did install the bringup correctly:
ros2 launch turtlebot3_bringup robot.launch.py use_sim_time:=False
Can I specify the folder it needs to look for the package somewhere? So instead launch will try and run it from the share folder instead? Or is there something else that I am missing here? Maybe something in my package.xml
?
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>py_launch_vrcontrols</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email="joey@todo.todo">joey</maintainer>
<license>TODO: License declaration</license>
<test_depend>ament_copyright</test_depend>
<test_depend>ament_flake8</test_depend>
<test_depend>ament_pep257</test_depend>
<test_depend>python3-pytest</test_depend>
<depend>turtlebot3_bringup</depend>
<export>
<build_type>ament_python</build_type>
</export>
</package>
Or maybe something in my setup.cfg
?
[develop]
script-dir=$base/lib/py_launch_vrcontrols
[install]
install-scripts=$base/lib/py_launch_vrcontrols
I would appreciate the help.