当前位置: 首页 > news >正文

ROS 发行版 jazzy 加载urdf 渲染到 RVIZ2

新版启动urdf需要两个包分别为urdf_tutorial、urdf_launch

配置package.xml

<exec_depend>rviz_common</exec_depend>

<exec_depend>rviz_default_plugins</exec_depend>

<exec_depend>rviz2</exec_depend>

<exec_depend>robot_state_publisher</exec_depend>

<exec_depend>joint_state_publisher</exec_depend>

<exec_depend>joint_state_publisher_gui</exec_depend>

<exec_depend>xacro</exec_depend>

<exec_depend>launch_ros</exec_depend>

CMakeLists.txt配置

install(DIRECTORY launch worlds urdf meshes models rviz

DESTINATION share/${PROJECT_NAME})

launch.py 内容

from launch import LaunchDescription

from launch_ros.substitutions import FindPackageShare

from launch.actions import DeclareLaunchArgument,IncludeLaunchDescription

from launch.substitutions import PathJoinSubstitution,LaunchConfiguration,Command

from launch_ros.actions import Node

from launch_ros.parameter_descriptions import ParameterValue

from launch.conditions import IfCondition,UnlessCondition

import os

def generate_launch_description():

ld = LaunchDescription()

## 找到 项目 包

samll_turtle_dir = FindPackageShare("small_turtle")

## URDF Model 路径

urdf_model_path = PathJoinSubstitution([samll_turtle_dir,"urdf","small_turtle.urdf"])

## urdf_model_path = os.path.join(samll_turtle_dir,"urdf","small_turtle.urdf")

## rviz 配置文件路径

rviz_config_path = PathJoinSubstitution([samll_turtle_dir,"rviz","display.rviz"])

## joint_state_publisher_gui 配置

gui_arg = DeclareLaunchArgument(name="gui",default_value="true",choices=["true","false"],

description="Flag to enable joint_state_publisher_gui")

ld.add_action(gui_arg)

## 声明 rviz

rviz_arg = DeclareLaunchArgument(name="rvizconfig",default_value=rviz_config_path,

description="Absolute path to rviz config file")

ld.add_action(rviz_arg)

## 声明 urdf model

ld.add_action(DeclareLaunchArgument(name="model",default_value=urdf_model_path,

description="Path to robot urdf"))

## robot_state_publisher 配置

robot_description_content = ParameterValue(Command(["xacro ",LaunchConfiguration("model")]),value_type=str)

robot_state_publisher_node = Node(

package="robot_state_publisher",

executable="robot_state_publisher",

parameters=[{"robot_description":robot_description_content}]

)

ld.add_action(robot_state_publisher_node)

## joint_state_publisher

joint_state_publisher_node = Node(

package="joint_state_publisher",

executable="joint_state_publisher",

condition=UnlessCondition(LaunchConfiguration("gui"))

)

ld.add_action(joint_state_publisher_node)

## joint_state_publisher_gui

joint_state_publisher_gui_node = Node(

package="joint_state_publisher_gui",

executable="joint_state_publisher_gui",

condition=IfCondition(LaunchConfiguration("gui"))

)

ld.add_action(joint_state_publisher_gui_node)

## rviz

rviz_node = Node(

package="rviz2",

executable="rviz2",

arguments=["-d",LaunchConfiguration("rvizconfig")],

output="screen"

)

ld.add_action(rviz_node)

return ld

相关文章:

ROS 发行版 jazzy 加载urdf 渲染到 RVIZ2

新版启动urdf需要两个包分别为urdf_tutorial、urdf_launch 配置package.xml <exec_depend>rviz_common</exec_depend> <exec_depend>rviz_default_plugins</exec_depend> <exec_depend>rviz2</exec_depend> <exec_depend>robot…...

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能&#xff1a;可以根据前端传递的参数&#xff0c;导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{&q…...

排序链表(归并排序)

148. 排序链表 - 力扣&#xff08;LeetCode&#xff09; 以O(nlogn)时间复杂度&#xff0c; O(1)空间复杂度 排序链表 涉及知识点&#xff1a; 找到链表的中间节点 2095. 删除链表的中间节点 - 力扣&#xff08;LeetCode&#xff09;合并有序链表 21. 合并两个有序链…...

Adobe After Effects的插件--------CC Particle World

CC Particle World是一个粒子效果器,用于在三维空间中生成和模拟各种粒子系统,包括火焰、雨、雪、爆炸、烟雾等等。它会自动随时间变化发射粒子。 本文部分参照 https://www.163.com/dy/article/IEJVDN760536FE6V.html 使用条件 使用该插件的图层需是2D图层。 我们新建一个…...

电脑硬盘数据丢失了怎么恢复?简单实用的硬盘数据找回的方法

我们的电脑使用硬盘作为存储设备来保存数据&#xff0c;硬盘里的数据是存储在扇区上&#xff0c;这些存储数据的单元则位于表面有磁性材料的旋转的盘片上。硬盘内部的磁头悬浮于高速旋转的盘片上&#xff0c;用于读写和检索数据。 假如我们使用电脑时不小心删除了某个文件&…...

k8s调度(pod亲和、反亲和、污点、容忍度)

pod亲和性 针对对象为Pod&#xff0c;目的是实现&#xff0c;新建Pod和目标Pod调度到一起&#xff0c;在同一个Node上。 示例&#xff1a; apiVersion: v1 kind: Pod metadata:name: testpod01labels:app: myapp01env: test1 spec:containers:- name: testpod01image: nginx:…...

智能制造核心领域:自动化、物联网、大数据分析、人工智能在现代制造业中的应用与融合

一、智能制造系统及领域 智能制造系统是一套集成的解决方案&#xff0c;它利用物联网&#xff08;IoT&#xff09;、大数据分析、人工智能&#xff08;AI&#xff09;、机器学习和云计算等技术&#xff0c;实现工厂和生产线的自动化、数据驱动和智能化。这些系统能够监控和控制…...

Android Studio 2024最新版Hello World

Android Studio 2024最新版Hello World 1. Android Studio 2024安装视频2. 创建项目Read Timed out 问题Android Studio Build Output 控制台中文乱码问题 3. 驱动管理 本文章介绍如何通过Android Studio 2024最新版创建项目&#xff0c; 并成功输出Hello World。 本次教程版本…...

请解释Java中的CountDownLatch和CyclicBarrier的区别和使用场景。什么是Java中的Semaphore?它如何控制并发访问?

请解释Java中的CountDownLatch和CyclicBarrier的区别和使用场景。 CountDownLatch 和 CyclicBarrier 是 Java 并发包&#xff08;java.util.concurrent&#xff09;中提供的两个非常有用的同步工具&#xff0c;它们都用于控制多个线程之间的同步&#xff0c;但它们的目的和使用…...

Django+Vue3前后端分离学习(五)(前端登录页面搭建)

1、如果需要使用组合式API&#xff0c;需要安装插件&#xff1a; npm install vite-plugin-vue-setup-extend --save-dev 在vite.config.js里配置&#xff1a; 首先导入: import VueSetupExtend from vite-plugin-vue-setup-extend 添加&#xff1a; 2、创建login.vue 然…...

虚拟机安装macos系统

虚拟机安装macOS系统是一个相对复杂但可行的过程&#xff0c;主要涉及前期准备、虚拟机软件安装、macOS镜像准备、虚拟机配置、系统安装及后续设置等多个步骤。以下是一个详细的教程&#xff0c;帮助您在虚拟机中成功安装macOS系统。 一、前期准备 1. 硬件要求 确保您的计算…...

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态&#xff0c;生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案&#xff0c;则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时&#x…...

828华为云征文|使用sysbench对Mysql应用加速测评

文章目录 ❀前言❀测试环境准备❀测试工具选择❀测试工具安装❀mysql配置❀未开启Mysql加速测试❀开启Mysql加速测试❀总结 ❀前言 大家好&#xff0c;我是早九晚十二。 昨天有梳理一篇关于华为云最新推出的云服务器产品Flexus云服务器X。当时有说过&#xff0c;这次的华为云F…...

2024 年高教社杯全国大学生数学建模竞赛题目——D 题 反潜航空深弹命中概率问题的求解

2024 年高教社杯全国大学生数学建模竞赛题目 &#xff08;请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”&#xff09; D 题 反潜航空深弹命中概率问题 应用深水炸弹&#xff08;简称深弹&#xff09;反潜&#xff0c;曾是二战时期反潜的重要手段&#xff0c;而随着现代军…...

【Kubernetes】常见面试题汇总(一)

目录 1.简述 etcd 及其特点&#xff1f; 2.简述 etcd 适应的场景&#xff1f; 3.简述什么是Kubernetes&#xff1f; 4.简述 Kubernetes和 Docker的关系&#xff1f; 1.简述 etcd 及其特点&#xff1f; &#xff08;1&#xff09;etcd 是Core0s 团队发起的开源项目&#xf…...

简单实用的php全新实物商城系统

免费开源电商系统,提供灵活的扩展特性、高度自动化与智能化、创新的管理模式和强大的自定义模块,让电商用户零成本拥有安全、高效、专业的移动商城。 代码是全新实物商城系统源码版。 代码下载...

Leetcode面试经典150题-128.最长连续序列-递归版本另解

之前写过一篇这个题的&#xff0c;但是可能代码比较复杂&#xff0c;这回来个简洁版的&#xff0c;这个是递归版本 可以看看之前的版本&#xff0c;两个版本面试用哪个都保过 解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {/**对于之前的解法&#xff0c;我…...

spring security 中的授权使用

一、认证 身份认证&#xff0c;就是判断一个用户是否为合法用户的处理过程。Spring Security 中支持多种不同方式的认证&#xff0c;但是无论开发者使用那种方式认证&#xff0c;都不会影响授权功能使用。因为 SpringSecurity 很好做到了认证和授权解耦。 二、授权 授权&#x…...

python安装以及访问openAI API

安装python 我是python小白&#xff0c;所以需要一步一步来&#xff0c;先安装。 一口吃不成胖子&#xff0c;记住。 从官网下载python&#xff0c;目前最新版本是3.12&#xff0c;但是据说稳定版3.11更好一点&#xff0c;所以&#xff0c;下载3.11&#xff0c;注意不要下载…...

【Unity小技巧】URP管线遮挡高亮效果

前言 在URP渲染管线环境下实现物体遮挡高亮显示效果&#xff0c;效果如下&#xff1a;Unity URP遮挡高亮 实现步骤 创建层级&#xff0c;为需要显示高亮效果的物体添加层级&#xff0c;比如Player 创建一个材质球&#xff0c;也就是高亮效果显示的材质球找到Universal Render…...

Qwen3.5-9B-AWQ-4bit电路仿真辅助:Multisim设计文档自动生成与解析

Qwen3.5-9B-AWQ-4bit电路仿真辅助&#xff1a;Multisim设计文档自动生成与解析 1. 电子工程师的设计痛点 每个电子工程师都经历过这样的场景&#xff1a;深夜加班赶项目&#xff0c;面对复杂的Multisim电路图&#xff0c;需要手动整理几十页的设计文档。元件清单、信号流分析…...

DanKoe 视频笔记:致富之路:三个关键决策

在本节课中&#xff0c;我们将要学习决定个人能否实现财富积累的三个核心决策。这些决策并非关于具体的赚钱技巧&#xff0c;而是关于如何从根本上重塑你的思维方式和行为模式&#xff0c;为创造财富铺平道路。 概述 许多人渴望财富&#xff0c;但往往不得其法。真正的致富之…...

Phi-3-mini-4k-instruct-gguf完整指南:模型原理、部署、调参、运维一体化

Phi-3-mini-4k-instruct-gguf完整指南&#xff1a;模型原理、部署、调参、运维一体化 1. 模型概述 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合处理问答、文本改写、摘要整理和简短创作等任务。相比完整版模型&#xff0c;…...

人脸识别快速上手:Retinaface+CurricularFace镜像教程,简单易学

人脸识别快速上手&#xff1a;RetinafaceCurricularFace镜像教程&#xff0c;简单易学 1. 理解人脸识别黄金组合 在开始动手之前&#xff0c;我们先花两分钟了解Retinaface和CurricularFace这对黄金搭档&#xff1a; Retinaface&#xff1a;就像一位专业的摄影师&#xff0c…...

Chord视频分析工具实操手册:预览区播放控制与分析结果同步验证

Chord视频分析工具实操手册&#xff1a;预览区播放控制与分析结果同步验证 1. 工具概览与核心价值 Chord视频时空理解工具是一款基于Qwen2.5-VL架构开发的本地智能视频分析解决方案。这个工具专门针对视频内容分析需求设计&#xff0c;能够在完全离线的环境下对视频进行深度理…...

别再只建网站了!宝塔面板的‘Node项目’功能,让你的Express/Koa后端服务上线更简单

解锁宝塔面板的隐藏技能&#xff1a;Node.js后端服务一键部署实战指南 你是否还在为Node.js项目的繁琐部署流程而头疼&#xff1f;手动配置PM2、Nginx反向代理、环境变量设置...这些操作不仅耗时耗力&#xff0c;还容易出错。其实&#xff0c;你每天都在使用的宝塔面板早已内置…...

杭州污水提升泵靠谱厂家

在杭州及周边地区进行地下室改造、商业空间建设或解决特殊排污需求时&#xff0c;选择一家技术可靠、服务专业的污水提升泵厂家至关重要。在众多厂家中&#xff0c;杭州富阳赛特仪表阀门有限公司&#xff08;赛斯瑞特&#xff09; 凭借其深厚的技术积淀、过硬的产品品质和完善的…...

别再重装系统了!用GParted给Ubuntu 20.04根目录无损扩容(Win11+Ubuntu双系统适用)

双系统用户必备&#xff1a;Ubuntu根目录无损扩容实战指南 1. 当根目录空间告急时 作为一名长期使用Win11Ubuntu双系统的开发者&#xff0c;我深刻理解那种看着根目录空间一点点被蚕食的焦虑。特别是进行深度学习训练或大型项目编译时&#xff0c;几十GB的空间转眼间就被占满。…...

千问3.5-27B知识库应用:OpenClaw变身技术问答助手

千问3.5-27B知识库应用&#xff1a;OpenClaw变身技术问答助手 1. 为什么需要本地化技术问答助手&#xff1f; 去年我在开发一个开源项目时&#xff0c;遇到了一个奇怪的Docker网络问题。当时在Stack Overflow上搜索了半天&#xff0c;找到的答案要么过时&#xff0c;要么不适…...

2026最权威的十大降AI率神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 随着人工智能生成内容也就是 AIGC 被广泛应用&#xff0c;文本的机器化特征越发明显地呈现出…...