版本环境
- ros kinetic
- gazebo 7
资源链接
CSDN上的介绍
ROS quadrotor tutorial
hector quadrotor github
hector_quadrotor安装
按照ROS官方的tutorials,是针对hydro版的ros的。按照CSDN里的介绍,把git的分支改成kinetic即可。
使用wstool从git上下载。
按照CSDN的链接中,安装依赖。但是发现没有要安装的。
编译
- 路径要在
hector_quadrotor_tutorial
下。不要在catkin_ws下。 - catkin_ws/src/CMakeLists.txt 中需要添加
add_compile_options(-std=c++11)
不然有 share_ptr
和std::vector
等报错,编不过。
3. src/hector_localization/hector_pose_estimation_core/include/input.h(82)
virtual bool hasVariance() const { return variance_; }
返回一个指针,类型却为bool
,导致报错。改为:
virtual bool hasVariance() const { return variance_.get(); }
src/hector_localization/hector_pose_estimation_core/src/system/imu_model.cpp(54)
bool GyroModel::init(PoseEstimation& estimator, System &system, State& state)
{
bias_ = state.addSubState<3,3>(this, system.getName() + "_bias");
return bias_;
}
同理,编不过。修改之。
编译完成后在tutorials目录下setup.bash
运行仿真
- CSDN里的室内仿真跑不起来
- ROS tutorial室外仿真可以跑
安装遥控器:
sudo apt-get install ros-kinetic-teleop-twist-keyboard
然后按ROS的tutorial操作。
使能飞行器
ROS tutorial里不一定能用,用这句:
rosservice call /enable_motors true
如果打开多个终端的话,执行上面这个命令的终端一定要先执行过:
source devel/setup.bash
不然找不到这个服务。
使能飞行器后就可以打开键盘控制,遥控飞行器了。