从 rviz 发送命令

./_images/ros-rviz.png

rviz 可实时查看飞行器的本地位置和姿态、激光雷达数据以及 制图师的 3D 地图.也可以设置一个本地位置目标,然后让 ROS 的导航库(在 ArduPilot 速度控制器的帮助下)将载具移动到目标位置。

这些指令在一台 Nvidia TX2 运行 APSync 图像 按描述安装了 ROS 这里.本页面的部分信息来自这些维基页面:

客户端电脑设置

  • 在客户端电脑(rviz 将在此运行)上安装 ROS "Desktop-Full"。

  • 连接到车载无线接入点(如果使用 APSync,默认用户名/密码为 ardupilot/ardupilot)。

  • 打开命令提示符,检查能否 "ping "到运行 ROS 的同伴电脑。如果使用 APSync,这两个命令都应该有效

 10.0.1.128
 apsync.当地
  • 使用您喜欢的编辑器,打开 /etc/hosts 文件(可能需要使用 sudo),并确保配套电脑出现在列表中。以下是同伴电脑运行 APSync 时应显示的内容

10.0.1.128  apsync.当地
10.0.1.128  apsync
  • 在新的命令提示符中,键入 主机名 以获取客户端电脑的名称

  • 使用您最喜欢的编辑器,将以下两行添加到 ~/.bashrc

出口 ROS_HOSTNAME=您的-东道主-名字.当地    <--- 取代  客户 个人电脑在此输入姓名
出口 ROS_MASTER_URI=http://apsync.当地:11311

配套电脑设置

  • 用 ssh 登录配套电脑。如果使用 APsync,以下方法应该有效(密码为 "apsync"): 1.

ssh apsync@apsync.当地
  • 使用您喜欢的编辑器,将以下几行添加到 ~/.bashrc

出口 ROS_HOSTNAME=apsync.当地
出口 ROS_MASTER_URI=http://apsync.当地:11311

检查客户机上是否有 ROS 数据

要确认客户笔记本电脑能否从载具上获取数据,请尝试执行以下命令

游标 清单
游标 回响 /机器人姿势

启动 rviz

  • 在客户端电脑上启动 rviz

玫瑰 rviz rviz
  • 查看实时激光雷达数据

    • 在 "显示 "区域,选择 "添加"、"激光扫描 "和 "激光扫描仪"。

    • 添加后,展开 "LaserScan "部分并将 "主题 "设置为"/scan"。

  • 查看环境地图

    • 选择 "添加"、"地图

    • 添加后,展开 "地图 "部分并将 "主题 "设置为"/map"。

  • 查看载具的当前航向(根据 ROS)

    • 选择 "添加"、"姿势

    • 添加后,展开 "姿势 "部分并将 "主题 "设为"/robot_pose"。

发送位置目标

  • 要让 ROS 通过 mavros 向 ArduPilot 发送位置目标,请登录运行 ROS 的伴侣计算机,并使用您喜欢的编辑器(如下所示的 gedit)修改 mavros 的 node.launch 文件。

roscd 马夫罗斯   <--  假设 马夫罗斯  一直 安装  rosdep
CD 启动
苏都 编辑 网站.启动
  • 之后 <rosparam command="load"; file="$(arg config_yaml)"; />; 添加如下一行,并重启所有 ROS 进程

<;重映射 ="/mavros/setpoint_position/local"; ="/move_base_simple/goal"; />;
  • 上膛载具并切换到制导模式

  • 在 rviz 中单击 "2D 导航目标 "按钮,然后在地图上单击并按住鼠标键以瞄准绿色箭头(这将设置目标位置和最终姿态),然后松开鼠标键。

  • 地面站应显示飞行器正向目标位置移动(Mission Planner地面站在目标位置投下绿色标记,并从飞行器向目标划出一条橙色线)。

如果一切不尽如人意,以下命令可能有助于诊断问题

  • 游标 信息 /move_base_simple/goal 出版者应显示为 "rviz",订阅者应显示为 "mavros"

  • 游标 回响 /move_base_simple/goal 在设置 "2D 导航目标 "后,应立即显示 "位置 "和 "方向"。

  • 玫瑰 rqt_graph rqt_graph 显示 ROS 节点及其连接的图形图表