005Launch

Launch

ros2 中,启动脚本是基于python文件维护的。

1.简单的launch文件
import os
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare

#必须以这个函数名开始
def generate_launch_description():
    pkg_share = FindPackageShare("svc_demo").find('svc_demo')
    urdf_file = os.path.join(pkg_share,'launch','single_robot.urdf')
    with open(urdf_file,'r') as infp:
        robot_desc = infp.read()
    rsp_params = {'robot_description': obot_desc}
    argument_node_para_declare = DeclareLaunchArgument('node_count',default_value='1')    
    
    svc_demo = Node(package='svc_demo', #功能包名称
                   executable='svc_demo',#可执行文件名
                   name='new_node_name',# 重命名进程内所有的节点名 ,这个一般不设置
                   namespace='new_namespace',# 给进程内所有内容添加命名空间名
                   exec_name='new_run_name',# 给运行文件修改名称
                   output='screen',
                   arguments=[rsp_params,LaunchConfiguration('node_count')]# 传入参数
                   )
    ld = LaunchDescription()
    ld.addaction(svc_demo)
    ld.addaction(argument_node_para_declare)
    return ld
2.如何构建启动系统

启动脚本有两种策略:在某个功能包内启动改功能包功能,建立专门用于启动的功能包用于启动一个或者多个功能包

步骤:

(1) 在功能包中建立launch文件夹

(2) 添加指定的依赖项,确保构建顺序在其调用功能包之后

(3) 在launch文件夹中添加启动脚本的python文件,一般命名格式xxxx.launch.py

(4) 在脚本中写入启动脚本内容

(5) 在CMakeLists.txt 或者 setup.py 中添加install指令,指定安装”launch“目录

(6) 使用colcon 构建与部署

2.1 添加到CMake
install(DIRECTORY
	launch
	DESTINATION share/${PROJECT_NAME})
2.2 添加到setup.py
setup(
data_files=[
#....
(os.path.join('share',package_name), glob('launch/*launch.py'))
])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFX Launch 是 JavaFX 库中的一个重要组件,用于创建和运行桌面应用程序。它简化了创建跨平台 GUI 应用程序的过程,特别是对于那些使用 Scene Builder 或者手动编写 FXML 和 Java 代码的开发者。 JavaFX Launch 主要包含以下几个关键部分: 1. Application 类:这是 JavaFX 应用的基础,继承自 javafx.application.Application。每个 JavaFX 应用都必须有一个此类的实例。 2. Main 方法:通常在 Application 类中定义,它是应用的入口点。在这里,你可以设置主舞台(primaryStage)并显示你的界面。 3. FXML 文件:JavaFX 使用 FXML (FXML Document) 来描述用户界面,这是一种 XML 格式,包含了布局信息和控件定义。Launch API 可以轻松加载这些文件并与 Java 代码交互。 4. Launch 类:如 `Application.launch()` 方法,它是一个静态方法,接受一个 Application 类型的参数,用于启动应用程序。你可以通过这个方法来初始化并显示你的 JavaFX 应用。 例如,一个简单的 JavaFX Launch 示例可能如下: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class MyApplication extends Application { @Override public void start(Stage primaryStage) { // 在这里创建并配置界面元素 StackPane root = new StackPane(); primaryStage.setScene(new Scene(root, 800, 600)); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值