物体回避

用于物体避让的 ROS

../_images/ros-object-avoidance.png

本页介绍如何设置 ROS 的基础本地规划器,以便向 ArduPilot 提供速度命令,以引导漫游车绕过障碍物。这假设所有先前的设置(包括制图师rviz)都已完成。

这些指令在运行APSync映像并安装了ROS的Nvidia TX2上进行了测试,如此所述。

此页面上的一些信息可在以下维基页面上找到:

注意

这些页面正在进行中

配套计算机设置

  • SSH 到配套计算机上。如果使用APsync,则以下内容应该有效(密码为“apsync”)

ssh apsync@apsync.local
  • 配置 mavros 以使用您喜欢的编辑器修改 mavros 的 node.launch 文件(如下所示的 gedit)将速度目标发送到 ArduPilot

roscd mavros   <-- this assumes mavros has been installed with rosdep
cd launch
sudo gedit node.launch
  • 添加如下所示的行后<rosparam command="load" file="$(arg config_yaml)" />

<remap from="/mavros/setpoint_velocity/cmd_vel_unstamped" to="/cmd_vel" />
  • 安装动力导航包

sudo apt-get install ros-kinetic-navigation
cd ~/catkin_ws/src
wget https://github.com/ArduPilot/companion/raw/master/Common/ROS/ap_navigation.zip
unzip ap_navigation.zip
  • 重建所有软件包,包括ap_navigation

cd ~/catkin_ws
source devel/setup.bash
catkin build

开始ap_navigation

  • 重新启动所有软件包(Roscore,RPLIDAR,MAVRO和制图师),然后启动ap_navigation软件包

cd ~/catkin_ws
source devel/setup.bash
roslaunch ap_navigation ap_nav.launch

发送位置目标

  • 布防车辆并切换到引导模式

  • 使用 rviz 的“2D 导航目标”按钮设置位置目标。如果一切顺利,将出现一条绿线,显示车辆将前往目标的路线(见上图)

Last updated