【ROS&GAZEBO】多旋翼无人机仿真(一)——搭建仿真环境
【ROS&GAZEBO】多旋翼无人机仿真(二)——基于rotors的仿真
【ROS&GAZEBO】多旋翼无人机仿真(三)——自定义多旋翼模型
【ROS&GAZEBO】多旋翼无人机仿真(四)——探索控制器原理
【ROS&GAZEBO】多旋翼无人机仿真(五)——位置控制器
上一篇介绍了如何搭建环境,这一篇介绍如何使用rotors包来进行仿真
安装rotors
rotors是ETH(苏黎世联邦理工大学)研究团队开发的一个ROS包,GITHUB地址,安装的过程参考官方的介绍
首先安装依赖包
sudo apt-get install ros-noetic-desktop-full ros-noetic-joy ros-noetic-octomap-ros python-wstool python-catkin-tools protobuf-compiler
sudo apt-get install libgeographic-dev ros-noetic-geographic-msgs # Required for mavros.
这里我们用的是noetic,所以要把官方的indigo替换掉。
创建文件夹并初始化工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
wstool init
将下来开始Git代码
cd ~/catkin_ws/src
git clone git@github.com:ethz-asl/rotors_simulator.git
git clone git@github.com:ethz-asl/mav_comm.git
git clone git@github.com:ethz-asl/glog_catkin.git
git clone git@github.com:catkin/catkin_simple.git
注意一点,git这里需要提前登录github账号,否则不能正常git
开始编译
cd ~/catkin_ws/
catkin init # If you haven't done this before.
catkin build
编译一切正常会输出如下结果
运行rotors
rotors中有许多种机型,包括固定翼、多旋翼等,这里以四旋翼为例,进行仿真,在终端运行下面命令:
roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=basic
执行之后,gazebo会自动启动,出现下面的画面,则表示大功告成:
下面我们来试一下修改四旋翼的位置:
用下面命名我们来看一下有哪些消息可以订阅和发送
rostopic list
可以看见此时已经运行了很多消息,我们要改变四旋翼位置需要用到的话题是第三个/firefly/command/pose
,现在来发送改变位置的命令:
rostopic pub -1 /firefly/command/pose geometry_msgs/PoseStamped "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
pose:
position:
x: 0.0
y: 1.0
z: 1.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0"
这里我设置的位置是(0,1,1)
,执行之后,可以看见四旋翼开始移动
如果能做到这一步,就说明已经可以基本完成四旋翼仿真了,将消息用一个节点来发送,就可以实现更多的工作,感兴趣的可以去探索一下。
下一篇将介绍如何自定义飞机模型
喜欢的朋友可以点个赞,关注微信公众号相互交流:Reed UAV
文章出处登录后可见!
已经登录?立即刷新