mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 20:17:47 +08:00
fix: pass robot description as a parameter
This commit is contained in:
@@ -12,22 +12,13 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import os
|
||||
import xacro
|
||||
import tempfile
|
||||
|
||||
|
||||
def to_urdf(xacro_path, parameters=None):
|
||||
"""Convert the given xacro file to URDF file.
|
||||
"""Convert the given xacro file to a URDF string.
|
||||
* xacro_path -- the path to the xacro file
|
||||
* parameters -- to be used when xacro file is parsed.
|
||||
"""
|
||||
with tempfile.NamedTemporaryFile(prefix="%s_" % os.path.basename(xacro_path), delete=False) as xacro_file:
|
||||
urdf_path = xacro_file.name
|
||||
|
||||
# open and process file
|
||||
doc = xacro.process_file(xacro_path, mappings=parameters)
|
||||
# open the output file
|
||||
with open(urdf_path, 'w') as urdf_file:
|
||||
urdf_file.write(doc.toprettyxml(indent=' '))
|
||||
|
||||
return urdf_path
|
||||
return doc.toprettyxml(indent=' ')
|
||||
|
||||
@@ -35,7 +35,8 @@ def generate_launch_description():
|
||||
|
||||
rviz_config_dir = os.path.join(get_package_share_directory('orbbec_description'), 'rviz', 'urdf.rviz')
|
||||
xacro_path = os.path.join(get_package_share_directory('orbbec_description'), 'urdf', params['model'])
|
||||
urdf = to_urdf(xacro_path, {'use_nominal_extrinsics': 'true', 'add_plug': 'true'})
|
||||
robot_description = to_urdf(
|
||||
xacro_path, {'use_nominal_extrinsics': 'true', 'add_plug': 'true'})
|
||||
rviz_node = Node(
|
||||
package='rviz2',
|
||||
executable='rviz2',
|
||||
@@ -50,6 +51,6 @@ def generate_launch_description():
|
||||
executable='robot_state_publisher',
|
||||
namespace='',
|
||||
output='screen',
|
||||
arguments=[urdf]
|
||||
parameters=[{'robot_description': robot_description}]
|
||||
)
|
||||
return launch.LaunchDescription([rviz_node, model_node])
|
||||
|
||||
Reference in New Issue
Block a user