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

昆明seo网站建设金华企业网站建站模板

昆明seo网站建设,金华企业网站建站模板,中国建设报网站,广州做公司网站.launch.py启动文件编写 启动节点最终一个完整的模版 多个节点要启动的时候,ros2 run的效率太低,所以使用了launch来启动。如果我都是只用Python脚本写的代码去控制机器人,好像也不需要去运行功能包的节点,也就不需要launch了。 启…

.launch.py启动文件编写

  • 启动节点
  • 最终一个完整的模版

多个节点要启动的时候,ros2 run的效率太低,所以使用了launch来启动。如果我都是只用Python脚本写的代码去控制机器人,好像也不需要去运行功能包的节点,也就不需要launch了。

启动节点

.launch文件中的运行节点的基础写法

<launch><node pkg='xxx' type='xxx' name='xxx'><node pkg='xxx' type='xxx' name='xxx'>
</launch>

.launch.py也一样有这样的,终端中运行功能包是这样的:

ros2 run pkg_name executable
# 比如启动rviz2是ros2 run rviz2 rviz2

启动时包括功能包名和可执行文件的名字,这样.launch.py中的Node就是按照这种形式写了功能包的名和可执行文件的名就能运行节点了。
generate_launch_description()是固定写法,LaunchDescription返回的是节点

from launch_ros.actions import Nodedef generate_launch_description():robot_description_value=xxxdefault_rviz_config_path=xxx# 因为已经引入Node了,直接写actions_pkg1_node = Node()这样就行actions_pkg1_node = launch_ros.actions.Node(package='pkg1',executable='xxx',name='pkg1')actions_robot_state_publisher = launch_ros.actions.Node(package='robot_state_publisher',executable='robot_state_publisher'parameters=[{'robot_description':robot_description_value}],name='robot_state_publisher'# 相当于下面这条命令# ros2 run robot_state_publisher robot_state_publisher --ros-args -p xx:=xxxvalue)actions_rviz_node = launch_ros.actions.Node(package='rviz2',executable='rviz2'arguments=['-d', default_rviz_config_path]name='rviz2'# ros2 run rviz2 rviz2 -d xxx)return LaunchDescription([actions_pkg1_node,actions_pkg2_node,actions_rviz2_node])

最终一个完整的模版

from launch import LaunchDescription
from launch_ros.actions import Node
# 封装终端指令相关类
from launch.actions import ExecuteProcess
from launch.substitutions import FindExecutable
# 参数的声明与获取
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
# 文件包含相关
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
# 分组相关
from launch_ros.actions import PushRosNamespace
from launch.actions import GroupAction
# 事件相关
from launch.event_handlers import OnProcessStart, OnProcessExit
from launch.actions import ExecuteProcess, RegisterEventHandler, LogInfo
# 获取功能包下的shared目录路径
from ament_index_python.packages import get_package_share_directorydef generate_launch_description():return launch.LaunchDescription([])
http://www.dtcms.com/a/522009.html

相关文章:

  • 网站建设免费国外泰安直聘网官网
  • 网站seo分析报告案例设计官网有什么好处
  • 上海建设协会网站徐州网站外包
  • 如何检测网站死链如何在国外网站做翻译兼职
  • 设置网站关键词怎么做淘宝客模板wordpress
  • 鄂尔多斯市住房和城乡建设厅网站做微信网站价格
  • 石家庄商城网站建设网站管理员怎么做联系方式
  • ios风格网站模板新闻热点事件摘抄2022
  • 旅游网--个人网站建设 论文个人简历html代码
  • 怎么用织梦做自己的网站网站外链隐形框架
  • 网站建设经典范例wordpress extended rss
  • 网站如何做监测链接如何做国际贸易网站
  • 通付盾 公司网站建设建筑企业分公司使用总公司资质
  • Spring AI 知识点总结
  • 看p站用什么浏览器怎么做地方门户网站
  • 网站开发 需求说明书安徽省建设厅网站首页
  • 企业网站开发综合实训国内外优秀网页设计案例
  • 苏州公司做网站百度手机app下载并安装
  • Linux入门:匿名管道命名管道
  • 网站制作标准福田网站建设乐云seo
  • 群晖做网站网站维护大概要多久
  • 网站下做二级域名wordpress存储插件
  • 凡科网站手机投票怎么做网站项目策划方案
  • 乐器产品主要在什么网站做推广做网站常用软件
  • 淄博张店做网站的公司广州网站建设外贸
  • 深圳网站建设制作设计公司大学生创业50个小案例
  • 网站用户注册怎么做wordpress模板打开慢
  • 宝塔织梦网站建设免费网店代运营
  • 模板做网站影响seo泰安建设厅网站
  • 天津企业模板建站嘉兴互联网公司