ROS学习之 roslaunch

wiki链接: http://wiki.ros.org/roslaunch


一.概览

    roslaunch程序包包含了可以读取roslaunch.launch/XML format的工具
    许多的ROS程序包下有launch文件,运行 roslaunch pkg_name *.launch
    这些launch文件通常启动该程序包下一系列完成共同功能的节点(功能聚集的节点)

    命令行方式使用roslaunch: http://wiki.ros.org/roslaunch/Commandline Tools
    roslaunch 使用XML文件来说明应该被启动的节点,应该被设置的参数,以及其它一些启动节点的属性.
    XML文件的具体格式: http://wiki.ros.org/roslaunch/XML
    roslaunch设计上适用于ROS的复杂架构,理解roslaunch的架构可以更好理解如何编写自己的*.launch文件和调式程序
    roslaunch Architecture: http://wiki.ros.org/roslaunch/Architecture

    一个简单的应用示例(python API版): http://wiki.ros.org/roslaunch/API%20Usage

二.roscore


    roscore是一个专门的roslaunch工具用来启动核心ROS系统.
    链接: http://wiki.ros.org/roscore
    roscore 是一系列节点和程序,用来启动ROS基本系统.必须启动一个roscore来提供节点之间的通信,它由roscore命令来启动.

    roscore将启动: 一个ROS主节点Master,一个ROS参数服务器,一个rosout记录节点

    roscore命令可以传递参数,来改变端口。
        $roscore -p 1234   #注意在多机环境中,要再用export ROS_MASTER_URI=http://sl-decktop:1234来声明一下端口

三、教程


    1.Roslaunch for large projects: http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20tips%20for%20larger%20projects

    2.How to Roslaunch Nodes in Valgrid or GDB: http://wiki.ros.org/roslaunch/Tutorials/Roslaunch%20Nodes%20in%20Valgrind%20or%20GDB

四、语法高亮


    主要是使用Emacs或vim来编辑*.launch文件,XML类型,YAML类型

五、Catkin编译


    roslaunch_add_file_check CMake宏被用来检查launch文件的错误,比如丢失参数、依赖项、包名、节点等
    这允许用户检查所有程序包launch目录下的*.launch文件

    用法如下,在CMakeLists.txt文件最后加上检查宏
        find_package(catkin REQUIRED COMPONENTS roslaunch)
        roslaunch_add_file_check(launch)
    这个检查宏接受单个目录或文件参数,基本上,它会在生成Makefile时加入额外对launch文件的检查

六、roslaunch命令行工具的使用


    链接:http://wiki.ros.org/roslaunch/Commandline%20Tools

    1.roslaunch
        roslaunch对于管理ros节点的启动和停止是一个重要工具。它以一个或多个*.launch文件作为参数
        launch语法:roslaunch pkg_name *.launch
        也可以直接切换目录到相应的包下:  roscd m_pkg
                        roslaunch *.launch

        也可以直接使用路径名: roslaunch file_path/*.launch
    -p port 如果以 roscore -p port 发布主节点,那么也应在launch时,告知这一port参数
    --wait  等待,直到监测到roscore发布
    --local 只会启动本地节点,远端节点不会被启动
    --screen 强制使所有节点的输出指向屏幕,对节点调试有用
    -v      使能冗余输出
    --dump-params 以YAML格式打印launch文件中的参数

    2.参数的传递
        如果launch文件需要具体的参数args传递
        重映射参数的语法:  roslaunch m_file.launch arg:=value

    3.非launch选项
        下面的这些选项提供了关于launch文件的信息,与实际的launch没有关系。
        使用这些参数,可以明确launch文件的路径,明确包名和launch文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于ROS的机械臂仿真-模拟运动控制卡的实现方式进行NURBS等插补算法仿真源码+演示视频+使用说明.zip 基于ROS系统的机械臂仿真,模拟运动控制卡的实现方式进行NURBS等插补算法仿真。基于launch文件以及xml语言进行相关定义以及开发,通过moveit!作为配置器,同时通过python脚本实现自定轨迹开发。 程序说明 具体可见src文件夹:\ (1)moveit!设置:存在于mingmoveit_config文件夹,相关子结构图可以见设计说明;\ (2)urdf模型设置:存在于mingurdf文件夹,可以实现gazebo下的仿真;\ (3)运动仿真:存在于myrobot_control文件夹,可通过myrobot_trajectory.launch文件内部进行运动轨迹自定义;\ (4)ros_control配置:存在于roscontrol文件夹下,关于运动参数的设置。 ## 三、使用说明 (1)简单使用:编译并刷新环境变量后运行:roslaunch mingurdf gazebo.launch\ (2)自定义轨迹:\ 1.moveit!配置:src\mingmoveit_config文件夹下可以对yaml(系统参数)和launch(运行参数)进行相关修改;\ 2.运动轨迹导入:src\myrobot_control\launch文件夹下有关轨迹的python连接脚本,可以直接运行相关脚本; 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
【资源说明】 基于ROS和深度强化学习不同算法的移动机器人导航避障python源码+使用详细说明.zip 要求 python 3.5 Tensorflow 1.14.0 ROS Melodic 使用步骤 因为有未知问题,需要把小车在gazebo中的启动,与tesorflow强化学习分开成两个文件夹,合在一起会报错 ## 1.创建虚拟环境 NDDDQN ## 2.安装tensorflow ``` pip install tensorflow-gpu==1.14.0 -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ## 3.在两个工作空间进行编译 在catkin_ws和catkin_ws1分别编译: ``` catkin_make --cmake-args \ -DCMAKE_BUILD_TYPE=Release \ -DPYTHON_EXECUTABLE=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m \ -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so ``` ## 4.运行 首先在运行小车的catkin_ws1文件夹中: ``` cd catkin_ws1 source devel/setup.sh roslaunch pioneer_utils xxx ``` xxx对应运行环境: ``` bizhang.launch 静态避障 ​ daohang.launch 静态导航 ​ dongtai.launch 动态导航 ​ keyboard_teleop.launch 键盘控制 ``` 然后在运行强化学习的文件夹catkin_ws中: ``` conda activate NDDDQN cd catkin_ws source devel/setup.sh cd src/Tensorflow/xxx python main.py ``` xxx对应运行算法: ``` DQN-bizhang 静态避障-DQN ​ DDQN-bizhang 静态避障-DDQN ​ DQN-Dueling-bizhang 静态避障-Dueling-DQN ​ DDQN-Dueling-bizhang 静态避障-Dueling-DDQN ​ NDDQN-Dueling-bizhang 静态避障-Dueling-NDDQN ​ Beta-DDQN-Dueling-bizhang 静态避障-Beta-Dueling-DDQN ​ Empty-Navigation 静态导航-Dueling-NDDQN ​ separate-Empty-Navigation 静态导航-separate-Dueling-NDDQN ​ Navigation-DDQN 静态导航-DDQN ​ people-Navigation 动态导航-Dueling-NDDQN ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
ROS深度强化学习是指将深度强化学习算法应用于ROS(机器人操作系统)平台上的任务中。在ROS中,可以使用不同的强化学习算法进行机器人的自主学习和决策。一些常见的强化学习算法包括DQN、DDPG、PPO和SAC。这些算法可以用于训练机器人在特定任务中进行决策,如避障、路径规划和目标导航等。 为了在ROS中进行深度强化学习,您需要做以下几个步骤: 1. 下载并安装ROS和相关依赖库,以及强化学习算法所需的库(如PyTorch、TensorFlow等)。 2. 创建ROS工作空间,并在其中安装相关软件包和代码。 3. 配置强化学习任务的参数和环境,例如定义机器人的传感器数据和动作空间。 4. 编写训练代码,包括强化学习算法的实现和机器人与环境的交互逻辑。 5. 运行训练代码,观察机器人在任务中的表现,不断优化算法和参数,直到获得满意的结果。 在使用ROS深度强化学习时,您可能需要修改一些代码和参数来适应特定的任务和机器人平台。例如,您可能需要更改路径代码以适应自己的路径,或者根据任务需求修改训练参数和环境配置文件。 至于启动代码的方式,可以使用终端命令"roslaunch"来启动训练节点和相关配置文件。例如,在终端中输入"roslaunch my_turtlebot2_training start_training.launch"即可启动训练过程。 对于每个训练任务,通常会有一个关联的配置文件,其中包含了该任务所需的参数。您可以在ROS包中创建一个名为"config"的文件夹,并在其中创建一个名为"my_turtlebot2_maze_params.yaml"的配置文件,用于指定任务的参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值