四旋翼无人机仿真之hector_quadrotor(ROS+Gazebo)(二)键盘teleop_twist_keyboard控制无人机飞行

前言

在前一篇文章中,我们对四旋翼无人机模型hector_quadrotor进行了详细的介绍,并对安装方式以及可能遇到的安装问题进行了说明。在上述问题全部解决后,我们便可以正常运行其中给到的两个demo,但是我们是想要运行并操作无人机,这就需要我们额外安装其他文件。

一、运行hector_quadrotor

在工作区目录下,运行source devel/setup.bash
之后,便可以启动launch文件(共有两个,一个是outdoor,一个是indoor)测试无人机:
outdoor:

roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch

indoor:

roslaunch hector_quadrotor_demo indoor_slam_gazebo.launch

rviz:
在这里插入图片描述Gazebo:
在这里插入图片描述

二、键盘控制

1.引入库

我们可以下载teleop_twist_keyboard ROS包可以实现键盘操控四旋翼。
下载:

sudo apt-get install ros-kinetic-teleop-twist-keyboard

下载成功后,同样需要先在工作区运行source devel/setup.bash
此后,想要用键盘控制无人机首先要启动无人机的电机:

rosservice call /enable_motors true

2.键盘控制常见问题解决

在运行到如上环节后,会遇到常见的问题,即出现ERROR: Unable to communicate with service [/enable_motors]

造成如上的报错,大多是由于安装ROS时带有的gazebo版本过低(一般为Gazebo7)。

解决办法:升级Gazebo至7.15(没试过其它版本是否可行,大家可以留言讨论)

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

sudo apt-get update

sudo apt-get install gazebo7 gazebo7-common

升级结束,再安装一个包(报错:fatal error: ignition/math/Inertial.hh: No such file or directory)

sudo apt-get install libignition-math2-dev

在运行完如上步骤后,再次于工作区运行source devel/setup.bash,之后运行:

rosservice call /enable_motors true

可以看到,运行成功,显示“true”,证明无人机已成功开启
最后,运行键盘操控代码即可:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
若成功,需首先按t建让飞机飞起来才能进行其他控制

总结

经过如上步骤,想必键盘操控便可以成功解决,在这一步找解决办法用掉了一周的时间,希望大家有类似问题,能早些看到我的解决办法,希望可以帮助到大家。祝大家一切顺利。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值