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

赣州网站建设如何百度一下app

赣州网站建设如何,百度一下app,网站建设外包公司招聘,外贸网站商城【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令 目录 【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令 一、上讲回顾 二、ROS2核心命令讲解 1、daemon-各种守护进程相关的子命令 2、node-各种节点进程相关的子命令 3、pkg-各种包进程相关的子命令 4、run运行特定软…

【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令

目录

【手把手做ROS2机器人系统开发二】熟悉ROS2基本命令

一、上讲回顾

二、ROS2核心命令讲解

1、daemon-各种守护进程相关的子命令

2、node-各种节点进程相关的子命令

 3、pkg-各种包进程相关的子命令

 4、run运行特定软件包的可行性文件

5、topic各种话题进程相关的子命令

6、security各种安全进程相关的子命令

7、service各种服务进程相关的子命令

7、ROS2参数

8、ROS2操作Action

 9、ROS2消息日志

10、ROS2自启动节点launch

11、数据记录和播放


一、上讲回顾

        在上一讲开发环境搭建中,我们讲解了如何搭建Ubuntu系统环境和ROS2开发运行环境。

1.Ubuntu系统安装

2.ROS2系统环境安装

二、ROS2核心命令讲解

1、daemon-各种守护进程相关的子命令

查看帮助:

ros2 daemon -h

启动daemon

ros2 daemon start

查看状态

ros2 daemon status

停止daemon

ros2 daemon stop

守护进程用途:按照字面意思起到守护用途。类似ros1 master中心节点功能,用于减少节点之间发现的时间

2、node-各种节点进程相关的子命令

启动一个节点用于测试

ros2 run demo_nodes_cpp talker

输出节点列表:

ros2 node list

查看节点信息

ros2 node info /talker

 3、pkg-各种包进程相关的子命令

创建功能包命令:指定包名、编译方式、依赖项、节点名等

命令格式:

ros2 pkg create RobotDotTest --build-type ament_python --node-name RobotDotTest_node --dependencies rclpy std_msgs sensor_msgs --license Apache-2.0
命令说明
ros2 pkg createROS2功能包创建命令
RobotDotTest所建功能包名称
--build-type ament_python指定编程语言
-node-name RobotDotTest_node节点名称
--dependencies rclpy std_msgs sensor_msgs指定依赖模块,rclpy是python编程必选的, std_msgs和sensor_msgs是我们要用的消息模块,也可以不指定手动配置
--license Apache-2.0

指定license

Apache-2.0
BSL-1.0
BSD-2.0
BSD-2-Clause
BSD-3-Clause
GPL-3.0-only
LGPL-3.0-only
MIT
MIT-0

查看

---------------------------------------

 查看包列表

ros2 pkg list

 executables输出特定于软件包的可执行文件列表:

ros2 pkg executables turtlesim

 prefix 输出包的前缀路径:

ros2 pkg prefix turtlesim 

 4、run运行特定软件包的可行性文件

ros2 run turtlesim turtlesim_node
ros2 run [-h] [--prefix PREFIX] package_name executable_name ...  
package_name     软件包名称
executable_name  执行名称
argv             执行对应参数

5、topic各种话题进程相关的子命令

usage: ros2 topic [-h] [--include-hidden-topics]bw     显示使用话题带宽delay  通过header中的时间戳计算消息延迟echo   输出话题信息find   按消息类型查找相关话题hz     显示话题平均发布频率info   显示话题消息类型,订阅者数量,发布者数量list   列出域内可使用的主题列表pub    发布一个话题消息type   打印话题数据类型

list   列出域内可使用的主题列表

ros2 topic list

info   显示话题消息类型,订阅者数量,发布者数量

ros2 topic info /turtle1/pose

type   打印话题数据类型

ros2 topic type /turtle1/pose

find   按消息类型查找相关话题

ros2 topic find turtlesim/msg/Pose

pub    发布一个话题消息

ros2 topic pub control_node/action geometry_msgs/msg/TwistStamped "{header: {stamp:{sec: 0, nanosec: 0}, frame_id: control_node}, twist: {linear: {x: 0.3, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}}"

echo   输出话题信息

ros2 topic echo /control_node/action

 hz     显示话题平均发布频率

ros2 topic hz /control_node/action

打开节点主题显示图形

rqt_graph

打开主题列表

ros2 topic list -t

查看主题数据

ros2 topic echo <topic_name>

ros2 topic echo /turtle1/cmd_vel

查看主题信息

ros2 topic info /turtle1/cmd_vel

查看主题数据结构

ros2 interface show geometry_msgs/msg/Twist

发布主题数据消息

ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

注:--once 单次发送   --rate 1 循环发送频率1HZ

查看主题信息

ros2 topic echo /turtle1/pose

查看主题发送速率

ros2 topic hz /turtle1/pose

6、security各种安全进程相关的子命令

  create_enclave      Create enclavecreate_key          创建秘钥create_keystore     创建秘钥库create_permission   创建许可generate_artifacts  从身份和策略文件列表中生成密钥和许可文件generate_policy     Generate XML policy file from ROS graph datalist_enclaves       List enclaves in keystorelist_keys           DEPRECATED: List enclaves in keystore. Use list_enclaves instead

7、service各种服务进程相关的子命令

call调用服务

list列出所有的服务

ros2 service list

服务基于呼叫->应答模型

查看服务列表

ros2 service list

ros2 service list -t

查看服务类型

ros2 service type <service_name>

ros2 service type /clear

查看服务查找

ros2 service find <type_name>

ros2 service find std_srvs/srv/Empty

服务展示显示

ros2 interface show <type_name>.srv

ros2 interface show std_srvs/srv/Empty.srv

ros2 interface show turtlesim/srv/Spawn

服务调用call

ros2 service call <service_name> <service_type> <arguments>

ros2 service call /clear std_srvs/srv/Empty

ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: 'turtle2'}"

7、ROS2参数

查看参数列表

ros2 param list

ros2参数get

ros2 param get <node_name> <parameter_name>

ros2 param get /turtlesim background_g

ros2 参数set

ros2 param set <node_name> <parameter_name> <value>

ros2 param set /turtlesim background_r 150

ros2参数存储

ros2 param dump <node_name>

ros2 param dump /turtlesim

ros2 参数加载

ros2 param load <node_name> <parameter_file>

ros2 param load /turtlesim ./turtlesim.yaml

ros2 节点启动时加载参数

ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml

8、ROS2操作Action

(1)节点信息查看

ros2 node info /turtlesim

ros2 node info /teleop_turtle

(2)查询操作列表

ros2 action list

ros2 action list -t

(3)操作动作信息

ros2 action info /turtle1/rotate_absolute

(4)操作界面显示

ros2 interface show turtlesim/action/RotateAbsolute

(5)发送目标动作

ros2 action send_goal <action_name> <action_type> <values>

ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: 1.57}"

ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: -1.57}" --feedback

 9、ROS2消息日志

消息等级:

Fatal消息指示系统将终止以尝试保护自身免受损害。

Error消息指示不一定会损坏系统,但会阻止其正常运行的重大问题。

Warn消息指示可能代表更深层次问题的意外活动或非理想结果,但不会完全损害功能。

Info消息指示事件和状态更新,用于直观验证系统是否按预期运行。

Debug消息详细说明了系统执行的整个分步过程。

启动信息终端

ros2 run rqt_console rqt_console

设置节点启动消息等级

ros2 run turtlesim turtlesim_node --ros-args --log-level WARN

10、ROS2自启动节点launch

执行自动文件

ros2 launch <package_name> <launch_file_name>

ros2 launch <path_to_launch_file>

执行自动文件后接参数

ros2 launch <package_name> <launch_file_name> background_r:=255

ros2 launch <path_to_launch_file> background_r:=255

参考启动文件

<!-- example.launch.xml -->

<launch>

  <!-- args that can be set from the command line or a default will be used -->

  <arg name="background_r" default="0"/>

  <arg name="background_g" default="255"/>

  <arg name="background_b" default="0"/>

  <arg name="chatter_ns" default="my/chatter/ns"/>

  <!-- include another launch file -->

  <include file="$(find-pkg-share demo_nodes_cpp)/launch/topics/talker_listener.launch.py"/>

  <!-- include another launch file in the chatter_ns namespace-->

  <group>

    <!-- push-ros-namespace to set namespace of included nodes -->

    <push-ros-namespace namespace="$(var chatter_ns)"/>

    <include file="$(find-pkg-share demo_nodes_cpp)/launch/topics/talker_listener.launch.py"/>

  </group>

  <!-- start a turtlesim_node in the turtlesim1 namespace -->

  <node pkg="turtlesim" exec="turtlesim_node" name="sim" namespace="turtlesim1"/>

  <!-- start another turtlesim_node in the turtlesim2 namespace      and use args to set parameters -->

  <node pkg="turtlesim" exec="turtlesim_node" name="sim" namespace="turtlesim2">

    <param name="background_r" value="$(var background_r)"/>

    <param name="background_g" value="$(var background_g)"/>

    <param name="background_b" value="$(var background_b)"/>

  </node>

  <!-- perform remap so both turtles listen to the same command topic -->

  <node pkg="turtlesim" exec="mimic" name="mimic">

    <remap from="/input/pose" to="/turtlesim1/turtle1/pose"/>

    <remap from="/output/cmd_vel" to="/turtlesim2/turtle1/cmd_vel"/>

  </node>

</launch>

11、数据记录和播放

建立测试环境

ros2 run turtlesim turtlesim_node

ros2 run turtlesim turtle_teleop_key

建立记录数据存储区域

mkdir bag_files

cd bag_files

选择对应主题信息

ros2 topic list

ros2 topic echo /turtle1/cmd_vel

数据记录命令

ros2 bag record <topic_name>

ros2 bag record /turtle1/cmd_vel

记录多个主题信息

ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose

查看记录信息

ros2 bag info <bag_file_name>

ros2 bag info subset

播放记录信息

ros2 bag play subset

ros2 topic hz /turtle1/pose

本节文章到此结束,谢谢大家阅读。。。 

http://www.yayakq.cn/news/163518/

相关文章:

  • 微建站平台苏州招聘网站建设
  • 广州腾虎网络网站建设熊掌号ps切片怎么做网站
  • 网站功能报价明细表123建站
  • 沧州市建设局网站招聘网站开发人员
  • 免费进入电影网站人人网入口wordpress 批量添加用户
  • 英文网站建设 江门怎么在百度上发布帖子
  • 北京网站制作网络推广公司wordpress工单系统
  • 德州俱乐部网站开发南宁市住房城乡建设厅网站
  • 自建网站营销是什么东莞短视频seo需要多少钱
  • jsp个人网站怎样做做响应式网站制作
  • 潍坊企业网站制作wordpress 头部不显示
  • 餐饮营销型网站案例app合作开发
  • 网站建设申报方案国际公司名称大全名头
  • 网站关键词的选择企业可以做哪些网站
  • 怎样把自己做的网站放到网上淘宝做基础销量怎么网站
  • 网站建立连接不安全怎么解决潍坊专业做网站
  • 泰安营销网站建设内江如何做百度的网站
  • 推荐十个国外网站企业信息免费查询系统
  • 网站开发需求文档怎么写wordpress后台怎么进
  • 电子商务平台网站建设方式三站合一的网站怎么做
  • 网站文字公告代码今晚12点上海又要封控了吗
  • 上海哪家公司做网站比较好揭阳企业网站模板建站
  • 企业展示网站 数据库设计网站建设书籍资料
  • 电烤箱做蛋糕网站最新国际新闻头条新闻
  • 网站开发维护报价单网站制作导航栏怎么做
  • 赛博网站建设四川必要 网站
  • 建网站都有什么语言做网站 毕业设计
  • 社区网站开发网站开发岗位名称
  • 一个服务器下怎么做两个网站吗百度提交链接多久会被收录
  • 大型门户网站建设服务青海找人做网站多少钱