Hello @bayodesegun @girishkumar.kannan
For URDF ROS2 section 6, i started moving the urdf to real robot. My first step in that direction was to replace the gazebo launch with turtlebot_* packages starting with bring up.
Is this the right place to start the split and then adjust urdf not to load laser scanners ?
Also, i have an issue with both directly launch and generate_launch_descripton () to do this step
Can you please provide some guidance here ?
- Direct launch with reference below gives tty error
TurtleBot3
Failed to open the port(/dev/ttyACM0)!
user:~$ ros2 launch turtlebot3_bringup robot.launch.py
[INFO] [launch]: All log files can be found below /home/user/.ros/log/2025-02-01-06-11-37-859586-4_xterm-3625
[INFO] [launch]: Default logging verbosity is set to INFO
urdf_file_name : turtlebot3_burger.urdf
[INFO] [robot_state_publisher-1]: process started with pid [3626]
[INFO] [hlds_laser_publisher-2]: process started with pid [3628]
[INFO] [turtlebot3_ros-3]: process started with pid [3630]
[hlds_laser_publisher-2] 1738390297.978100 [0] hlds_laser: config: //CycloneDDS/Domain/General: 'NetworkInterfaceAddress': deprecated element (file:///var/lib/theconstruct.rrl/cyclonedds.xml line 5)
[turtlebot3_ros-3] 1738390297.978529 [0] turtlebot3: config: //CycloneDDS/Domain/General: 'NetworkInterfaceAddress': deprecated element (file:///var/lib/theconstruct.rrl/cyclonedds.xml line 5)
[hlds_laser_publisher-2] 1738390297.978981 [0] hlds_laser: add_peer_addresses: 4_xterm: unknown address
[hlds_laser_publisher-2] 1738390297.978981 [0] hlds_laser: add_peer_addresses: 4_xterm: unknown address
[turtlebot3_ros-3] 1738390297.979217 [0] turtlebot3: add_peer_addresses: 4_xterm: unknown address
[turtlebot3_ros-3] 1738390297.979217 [0] turtlebot3: add_peer_addresses: 4_xterm: unknown address
[robot_state_publisher-1] 1738390297.981036 [0] robot_stat: config: //CycloneDDS/Domain/General: 'NetworkInterfaceAddress': deprecated element (file:///var/lib/theconstruct.rrl/cyclonedds.xml line 5)
[robot_state_publisher-1] 1738390297.981876 [0] robot_stat: add_peer_addresses: 4_xterm: unknown address
[robot_state_publisher-1] 1738390297.981876 [0] robot_stat: add_peer_addresses: 4_xterm: unknown address
[hlds_laser_publisher-2] [INFO] [1738390297.985000387] [hlds_laser_publisher]: Init hlds_laser_publisher Node Main
[hlds_laser_publisher-2] [INFO] [1738390297.985083290] [hlds_laser_publisher]: port : /dev/ttyUSB0 frame_id : base_scan
[turtlebot3_ros-3] [INFO] [1738390297.988471242] [turtlebot3_node]: Init TurtleBot3 Node Main
[turtlebot3_ros-3] [INFO] [1738390297.988548405] [turtlebot3_node]: Init DynamixelSDKWrapper
[turtlebot3_ros-3] [ERROR] [1738390297.988578954] [DynamixelSDKWrapper]: Failed to open the port(/dev/ttyACM0)!
[turtlebot3_ros-3] [ERROR] [1738390297.988585082] [DynamixelSDKWrapper]: Failed to initialize SDK handlers
[turtlebot3_ros-3] [ERROR] [1738390297.988596669] [turtlebot3_node]: Failed connection with Devices
[turtlebot3_ros-3] [PortHandlerLinux::SetupPort] Error opening serial port!
[turtlebot3_ros-3] [INFO] [1738390297.989799758] [turtlebot3_node]: Add Motors
[turtlebot3_ros-3] [INFO] [1738390297.989842756] [turtlebot3_node]: Add Wheels
[turtlebot3_ros-3] [INFO] [1738390297.989907601] [turtlebot3_node]: Add Sensors
[turtlebot3_ros-3] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[turtlebot3_ros-3] what(): could not create publisher: rcl node's context is invalid, at ./src/rcl/node.c:428
[robot_state_publisher-1] [INFO] [1738390298.030035842] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-1] [INFO] [1738390298.030116377] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1738390298.030128724] [robot_state_publisher]: got segment base_scan
[robot_state_publisher-1] [INFO] [1738390298.030137156] [robot_state_publisher]: got segment caster_back_link
[robot_state_publisher-1] [INFO] [1738390298.030145075] [robot_state_publisher]: got segment imu_link
[robot_state_publisher-1] [INFO] [1738390298.030152901] [robot_state_publisher]: got segment wheel_left_link
[robot_state_publisher-1] [INFO] [1738390298.030161637] [robot_state_publisher]: got segment wheel_right_link
[ERROR] [turtlebot3_ros-3]: process has died [pid 3630, exit code -6, cmd '/opt/ros/humble/lib/turtlebot3_node/turtlebot3_ros -i /dev/ttyACM0 --ros-args --params-file /opt/ros/humble/share/turtlebot3_bringup/param/burger.yaml'].
[ERROR] [hlds_laser_publisher-2]: process has died [pid 3628, exit code 255, cmd '/opt/ros/humble/lib/hls_lfcd_lds_driver/hlds_laser_publisher --ros-args -r __node:=hlds_laser_publisher --params-file /tmp/launch_params_czd0cux0'].
- Generate launch description.
def generate_launch_description():
os.environ['TURTLEBOT3_MODEL'] = 'burger'
os.environ['LDS_MODEL'] = ""
# Start the TurtleBot3 hardware drivers
turtlebot3_node = Node(
package='turtlebot3_bringup',
executable='robot.launch.py',
output='screen',
parameters=[{
'use_sim_time': False
}]
)
GIves error below.
[INFO] [launch]: All log files can be found below /home/user/.ros/log/2025-02-01-06-20-52-248573-4_xterm-5809
[INFO] [launch]: Default logging verbosity is set to INFO
Fetching URDF ==>
Fetching URDF ==>
Fetching URDF ==>
[ERROR] [launch]: Caught exception in launch (see debug for traceback): package 'turtlebot3_bringup' found at '/opt/ros/humble', but libexec directory '/opt/ros/humble/lib/turtlebot3_bringup' does not exist
[INFO] [robot_state_publisher-1]: process started with pid [5827]
Thanks,
Venkat