从 rviz 发送命令
Last updated
Last updated
RVIZ 允许实时查看车辆的本地位置和姿态、激光雷达数据和制图师的 3D 地图。也可以设置本地位置目标,并让ROS的导航库(在ArduPilot的速度控制器的帮助下)将车辆移动到目标。
这些指令在运行APSync映像并安装了ROS的Nvidia TX2上进行了测试,如此处所述。此页面上的一些信息可在以下维基页面上找到:
在客户端 PC(rviz 将运行的地方)上安装 ROS“桌面完整”。
连接到车辆的wifi接入点(如果使用APSync,则默认用户名/密码为ardupilot/ardupilot)
打开命令提示符并检查是否可以“ping”运行 ROS 的配套计算机。如果使用 APSync,这两个命令都应该有效
使用您喜欢的编辑器打开文件(可能需要使用 sudo),并确保配套计算机出现在列表中。以下是配套计算机运行APSync时应显示的内容/etc/hosts
在新的命令提示符下,键入以获取客户端电脑的名称hostname
使用您喜欢的编辑器将以下两行添加到底部~/.bashrc
SSH 到配套计算机上。如果使用APsync,则以下内容应该有效(密码为“apsync”)
使用您喜欢的编辑器将以下行添加到底部~/.bashrc
要确认客户端笔记本电脑可以从车辆中检索数据,请尝试以下命令
在客户端 PC 上启动 rviz
查看实时激光雷达数据
在显示区域中,选择“添加”,“激光扫描”
添加后,展开“激光扫描”部分并将“主题”设置为“/scan”
查看环境地图
选择“添加”、“地图”
添加后,展开“地图”部分并将“主题”设置为“/map”
查看车辆的当前航向(根据 ROS)
选择“添加”,“姿势”
添加后,展开“姿势”部分并将“主题”设置为“/robot_pose”
要允许 ROS 通过 mavros 将位置目标发送到 ArduPilot,请登录运行 ROS 的 Companion Computer 并使用您喜欢的编辑器修改 mavros 的 node.launch 文件(如下所示的 gedit)
添加如下所示的一行并重新启动所有ROS进程后<rosparam command="load" file="$(arg config_yaml)" />
布防车辆并切换到引导模式
在 rviz 中,单击“2D 导航目标”按钮,然后单击并按住地图上的鼠标按钮以瞄准绿色箭头(这将设置目标位置和最终姿态),然后释放鼠标按钮
地面站应显示飞行器正在移动的目标位置(任务规划器在目标位置放置一个绿色标记,并从车辆上向目标绘制一条橙色线)
如果一切未按预期进行,以下命令可能有助于诊断问题
rostopic info /move_base_simple/goal
应将发布者显示为“rviz”,将订阅者显示为“mavros”
rostopic echo /move_base_simple/goal
应在设置“2D 导航目标”后的瞬间显示“位置”和“方向”
rosrun rqt_graph rqt_graph
显示了 ROS 节点及其连接的图形图