实现键盘控制基于px4的无人机飞行
启动px4
在PX4的目录下,运行px4+gazebo的联合仿真,输入以下命令:
make px4_sitl gazebo
连接MavROS和PX4
打卡新的终端输入:
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
连接PX4和mavros,此时输入rostopic list可以看到mavros的话题,当前mavros的话题结果是反应当前PX4无人机的状态。
打开px4键盘控制节点
- 首先新建一个工作空间并编译:
mkdir -p Px4Control_ws/src
cd Px4Control_ws
catkin_make
- 将附件中的功能包放入 Px4Control_ws/src 目录下再对该功能包进行编译
catkin_make
-
运行
-
进入root权限,由于当前是键盘控制节点,需要读取外设,因此需要进入root权限,输入命令:
sudo su
- 运行键盘控制节点
source ./devel/setup.bash
rosrun px4_keyboard_control px4_keyboard_control_node
如果没有报错应该可以正常运行
该部分主要是对无人机控制进行说明,也顺便对键位控制的代码简单讲解。
Q ———— 无人机上升
该键位主要控制增加无人机z方向上的线加速度,从而实现上升的效果。
A ———— 无人机停止升降
该键位主要将无人机z方向上的线速度归零,以达到无人机停止上升的效果。
Z—————无人机下降
原理同Q
J ——————无人机向左运动
L——————无人机向右运动
I——————无人机向前运动
K——————无人机停止运动
,——————无人机向后运动
U——————顺时针转向
主要改变角加速度的航向角
O——————逆时针转向
H——————线加速度和角加速度归零
N———————控制姿态
Y———————从控制cmd_vel模式转换到控制pose模式
T————————外部控制启用
G————————无人机解锁
B————————无人机锁定
注意:在控制px4仿真的无人机时,需要先按键 T启动外部控制,然后按键G解锁无人机后才能正常控制其飞行。