Skip to content

Commit 5c4a6d4

Browse files
authored
Merge branch 'master' into feat/tts
2 parents 1f60e9d + eaef6f0 commit 5c4a6d4

File tree

4 files changed

+1384
-22
lines changed

4 files changed

+1384
-22
lines changed

.github/workflows/ros_build.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ jobs:
3737
uses: actions/checkout@v2
3838
with:
3939
submodules: recursive
40+
- name: Install libunwind (fix issues on humble)
41+
run: sudo apt update && sudo apt install --no-install-recommends libunwind-dev -y
4042
- name: build and test
4143
uses: ros-tooling/action-ros-ci@master
4244
with:

go2_robot_sdk/launch/webrtc_web.launch.py

+32-21
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,36 @@
2525
from ament_index_python.packages import get_package_share_directory
2626
from launch import LaunchDescription
2727
from launch_ros.actions import Node
28-
from launch.actions import DeclareLaunchArgument
29-
from launch.substitutions import LaunchConfiguration
28+
from launch.actions import DeclareLaunchArgument, OpaqueFunction
29+
from launch.substitutions import LaunchConfiguration, Command
30+
from launch_ros.parameter_descriptions import ParameterValue
31+
32+
33+
def load_urdf(context, *args, **kwargs):
34+
# Get the URDF file name from context
35+
urdf_file_name = context.launch_configurations['urdf_file_name']
36+
37+
# Get package directory
38+
pkg_dir = get_package_share_directory('go2_robot_sdk')
39+
40+
# Create full path to URDF
41+
urdf_file_path = os.path.join(pkg_dir, 'urdf', urdf_file_name)
42+
43+
# Robot state publisher node
44+
robot_state_publisher_node = Node(
45+
package='robot_state_publisher',
46+
executable='robot_state_publisher',
47+
name='robot_state_publisher',
48+
output='screen',
49+
parameters=[{
50+
'robot_description': ParameterValue(
51+
Command(['cat ', urdf_file_path]),
52+
value_type=str
53+
)
54+
}],
55+
)
56+
57+
return [robot_state_publisher_node]
3058

3159

3260
def generate_launch_description():
@@ -37,14 +65,6 @@ def generate_launch_description():
3765
urdf_file_name = LaunchConfiguration('urdf_file_name', default='go2.urdf')
3866
send_buffer_limit = LaunchConfiguration('send_buffer_limit', default='100000000')
3967

40-
pkg_dir = get_package_share_directory('go2_robot_sdk')
41-
urdf_path = os.path.join(pkg_dir, 'urdf')
42-
43-
# Read URDF content before LaunchDescription
44-
default_urdf_path = os.path.join(urdf_path, 'go2.urdf')
45-
with open(default_urdf_path, 'r') as infp:
46-
robot_desc = infp.read()
47-
4868
return LaunchDescription([
4969
# Declare launch arguments
5070
DeclareLaunchArgument(
@@ -63,17 +83,6 @@ def generate_launch_description():
6383
description='Name of the URDF file'
6484
),
6585

66-
# Robot state publisher for URDF
67-
Node(
68-
package='robot_state_publisher',
69-
executable='robot_state_publisher',
70-
name='robot_state_publisher',
71-
output='screen',
72-
parameters=[{
73-
'robot_description': robot_desc
74-
}],
75-
),
76-
7786
# Go2 driver node with minimal parameters
7887
Node(
7988
package='go2_robot_sdk',
@@ -122,4 +131,6 @@ def generate_launch_description():
122131
'send_buffer_limit': send_buffer_limit
123132
}],
124133
),
134+
135+
OpaqueFunction(function=load_urdf),
125136
])

go2_robot_sdk/package.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<exec_depend>nav2_util</exec_depend>
2323
<exec_depend>pointcloud_to_laserscan</exec_depend>
2424
<exec_depend>image_transport</exec_depend>
25-
<exec_depend>image_transport_plugins</exec_depend>
25+
<exec_depend>compressed_image_transport</exec_depend>
2626

2727
<exec_depend>slam_toolbox</exec_depend>
2828

0 commit comments

Comments
 (0)