(本文用anaconda创建基于python2的虚拟环境,在其中完成所有工作)
1、 参考
玩转四旋翼无人机(仿真)和(ROS)hector_quadrotor 的编译运行
2、 随后遇到编译的问题
参考https://blog.csdn.net/xiaodingqq/article/details/87083510
用sudo apt-get install ros-kinetic-***
安装即可解决
3、其次是版本的问题
注意所有版本都要协调一致,采用kinetic版本的,困难一点的是要找到合适版本的hector_gazebo,尤其是这个hector_gazebo如下:
https://github.com/tu-darmstadt-ros-pkg/hector_gazebo/tree/add_zero_pos_hold_kinetic
4、 编译后遇到问题
xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.
For more infos, see http://wiki.ros.org/xacro#Processing_Order
resource not found: hector_sensors_description
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/fyo/auv_ws/src
ROS path [2]=/opt/ros/kinetic/share None
when processing file: /home/fyo/auv_ws/src/hector_quadrotor-kinetic-devel/hector_quadrotor_description/urdf/quadrotor_base.urdf.xacro
included from: /home/fyo/auv_ws/src/hector_quadrotor-kinetic-devel/hector_quadrotor_description/urdf/quadrotor_hokuyo_utm30lx.urdf.xacro
included from: /home/fyo/auv_ws/src/hector_quadrotor-kinetic-devel/hector_quadrotor_description/urdf/quadrotor_hokuyo_utm30lx.gazebo.xacro
while processing /home/fyo/auv_ws/src/hector_quadrotor-kinetic-devel/hector_quadrotor_gazebo/launch/spawn_quadrotor.launch:
Invalid <param> tag: Cannot load command parameter [robot_description]: command [/opt/ros/kinetic/lib/xacro/xacro '/home/fyo/auv_ws/src/hector_quadrotor-kinetic-devel/hector_quadrotor_description/urdf/quadrotor_hokuyo_utm30lx.gazebo.xacro' base_link_frame:=/base_link world_frame:=world] returned with code [2].
Param xml is <param command="$(find xacro)/xacro '$(arg model)' base_link_frame:=$(arg base_link_frame) world_frame:=$(arg world_frame)" name="robot_description"/>
The traceback for the exception was written to the log file
解决办法仍然是一顿sudo apt-get install ros-kinetic-***
安装,此时要安装的东西即是sudo apt-get install ros-kinetic-hector-sensors-description
,注意上方报错中的下划线在此处发生了更换。
后面仍然不知名报错,于是我根据https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor/issues/60
先安装
sudo apt-get install synaptic
打开synaptic进行查看
sudo synaptic
把看起来需要的东西统统用sudo apt-get install ros-kinetic-***
安装一遍
5、 运行程序和结果
(再次说明,本文用anaconda创建基于python2的虚拟环境,在其中完成所有工作)
打开室外环境
source activate py27
cd ~/auv_ws
source devel/setup.bash
roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch
xbox手柄控制
source activate py27
cd ~/auv_ws
source devel/setup.bash
roslaunch hector_quadrotor_teleop xbox_controller.launch
gazebo中订阅图像功能