ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ROS入门21讲(7)

2022-09-16 09:33:30  阅读:294  来源: 互联网

标签:文件 ROS 21 launch 机器人 org ros 入门


十二、launch启动文件的使用方法

1、launch文件:通过XML文件实现多节点的配置和启动(可自动启动ROS Master)

2、Launch文件语法:

<launch>
<node pkg=”turtlesim” name=”sim1” type=”turtlesim_node”/>
<node pkg=”turtlesim” name=”sim1” type=”turtlesim_node”/>
</launch>

注意:

①<launch> launch文件中的根元素采用<launch>标签定义

②<node>

启动节点

<node pkg=”package-name” type=”executable-name” name=”node-name” />

pkg:节点所在的功能包名字

type:节点的可执行文件名称

name:节点运行时的名称

output、respawn、required、ns、args

参数设置:

<param>/

<rosparam>

设置ROS系统运行中参数,存储在参数服务器中。

<param name=”output_frame” value=”odom”/>

name:参数名

value:参数值

加载参数文件中的多个参数:

<rosparam file=”params.yaml” command=”load” ns=”params” />

<arg>

launch文件内部的局部变量,仅限于launch文件使用

<arg name=”arg-name” default=”arg-value” />

name:参数名

value:参数值

调用:

<param name=”foo” value=”$(arg arg-name)” />
<node name=”node” pkg=”package” type=”type” args=”$(arg arg-name)” />

重映射:

<remap>

重映射ROS计算图资源的命名

<remap from=”/turtlebot/cmd_vel” to=”cmd_vel” />

from:原命名

to:映射之后的命名

嵌套:

<include>

包含其他launch文件,类似C语言中的头文件包含

<include file=”$(dirname)/other.launch” />

file:包含的其他launch文件路径

更多标签可参照:http://wiki.ros.org/roslaunch/XML

3、Launch示例


十三、常用可视化工具的使用

1、Qt工具箱

①日志输出工具——rqt_console

②计算图可视化工具——rqt_graph

③数据绘图工具——rqt_plot

④图像渲染工具——rqt_image_view

2、Rviz

Rviz是一款三维可视化工具,可以很好的兼容基于ROS软件框架的机器人平台。
在rviz中,可以使用可扩展标记语言XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且在界面中呈现出来。
同时,rviz还可以通过图形化的方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等信息。
总而言之,rviz通过机器人模型参数、机器人发布的传感信息等数据,为用户进行所有可监测信息的图形化显示。用户和开发者也可以在rviz的控制界面下,通过按钮、滑动条、数值等方式,控制机器人的行为。

3、Gazebo

Gazebo是一款功能强大的三维物理仿真平台
  具备强大的物理引擎
  高质量的图形渲染
  方便的编程与图形接口
  开源免费
其典型应用场景包括
测试机器人算法
机器人的设计
现实情景下的回溯测试

 

 

 十四、课程总结与进阶

思维导图:

 

ROS可以做什么? 

参考链接: http://wiki.ros.org/ros_control


 

 

参考链接:http://wiki.ros.org/gmapping/http://wiki.ros.org/hector_slam

 

参考链接: https://moveit.ros.org/

 





标签:文件,ROS,21,launch,机器人,org,ros,入门
来源: https://www.cnblogs.com/Gaowaly/p/16698670.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有