cp -r ~/XTDrone/motion_planning/3d/ego_planner ~/catkin_ws/src/
cd ~/catkin_ws/
catkin_make #或catkin build ego_planner
按照XTdrone文档安装ego_planne失败,于是按照ego_planner_swarm官方教程安装官方安装教程:
sudo apt-get install python3-catkin-tools python3-rosdep python3-rosinstall python3-rosinstall-generator -y
ubuntu20.04运行上述代码安装依赖。运行
git clone https://github.com/ZJU-FAST-Lab/ego-planner-swarm.git
复制到你的工作空间下的src,目录下并返回工作空间运行
catkin build multi_map_server
catkin build
安装完毕,注意先catkin build multi_map_server再编译其他文件,安装完毕之后,按照https://www.yuque.com/xtdrone/manual_cn/3d_motion_planning官方教程进行无人机三维运动规划,发现执行完之后可以正确规划出轨迹,但是无人机原地不动。检查run_in_xtdrone.launch文件发现
<node pkg="ego_planner" name="iris_$(arg drone_id)_traj_server" type="traj_server" output="screen">
<remap from="position_cmd" to="/xtdrone/iris_$(arg drone_id)/planning/pos_cmd"/>
<remap from="pose_cmd" to="/xtdrone/iris_$(arg drone_id)/cmd_pose_enu"/>
<remap from="~planning/bspline" to="/xtdrone/iris_$(arg drone_id)/planning/bspline"/>
<param name="traj_server/time_forward" value="1.0" type="double"/>
</node>
文件中这部分话题/xtdrone/iris_0/cmd_pose_enu无任何消息发布,检查节点文件,也就是/home/hxb/catkin_ws/src/ego-planner-swarm/src/planner/plan_manage/src/traj_server.cpp这个文件,这是此前安装官方ego_planner_swarm下载的文件,对比Xtdrone下的/home/hxb/XTDrone/motion_planning/3d/ego_planner/plan_manage/src/traj_server.cpp这个文件发现官方文件缺少发布/pose_cmd这个话题的消息,将xtdrone的traj_server.cpp复制过来,并重新编译,再此运行https://www.yuque.com/xtdrone/manual_cn/3d_motion_planning无人机成功规划路径并且到达目标点。