ROS 无人机仿真系统3 —— 验证仿真系统
2018-03-29 14:47
387 查看
1、平台验证
前面文档搭建的仿真平台是否正常,可以马上允许一个launch文件进行验证:$ roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=basic当你在终端运行该指令时,会不断弹出信息,当出现报错时说明平台搭建有问题。我在这个过程中出现gazebo运行异常的问题,因为之前使用的是gazebo5,别人建议下使用了gazebo7就没有出现gazebo报错的问题。不过第一次启动还是死在了gazebo启动的画面(网站上介绍是下载模型),这里请等1个h左右,如果还是启动不了,就ctrl+c终结,然后重启电脑再运行。我是第二次重启之后就可以了。
仿真正常运行标志:
1)launch文件后不报错;
2)运行仿真,飞行器上升后悬停飞行;
2、简单控制
这里可以通过rostopic发布转速信息:$ rostopic pub /firefly/command/motor_speed mav_msgs/Actuators '{angular_velocities: [100, 100, 100, 100, 100, 100]}'运行正常的话,飞行器会下降一下再回到悬停的位置。这里没有继续下降的原因是该命令近发布了一次控制电机转速的命令,可以使用下面指令,按照固定频率发布指令:
$ rostopic pub /firefly/command/motor_speed mav_msgs/Actuators -r 50'{angular_velocities: [100, 100, 100, 100, 100, 100]}'上面指令的频率是50Hz,若是将频率设置为10Hz,会出现飞行器先下落后回到悬停位置,再下落,再回复的现象,这个是因为,发送飞行器电机转速话题的节点有两个,这里可以通过rqt_graph查看具体情况:
如图中所示我们通过上述命令创建了/rostopic_103......这个节点,该节点发布了/firefly/command/motor_speed话题,但同时飞行器控制器节点/firefly/lee_position_controller_node也在发布该话题,我们可以通过rostopic echo /firefly/command/motor_speed可以查看到六旋翼六个电机转速信息。飞行器转速会时不时的出现为100(悬停540左右)。/firefly/lee_position_controller_node节点目的是控制飞行器悬停在某个位置,所以上述话题相当于是执行器出现了一个阶跃扰动,最终导致飞行器反复上下飞行,比较有意思。这里可以使用rostopic/rosnode等命令查看相关信息。如rostopic hz 可以查看话题发布的频率。
相关文章推荐
- ROS 无人机仿真系统1 —— 仿真系统
- ROS 无人机仿真系统2 —— 平台搭建
- ROS 无人机仿真系统4 —— 通过键盘控制飞行器飞行
- (原创)构建基于aemb的sopc系统(五)--系统仿真与fpga验证(DE2-70平台)
- 郑君里 信号与系统,傅里叶级数,逼近函数仿真,吉布斯验证
- 郑君里 信号与系统,傅里叶级数,逼近函数仿真,吉布斯验证
- 使用SP Racing F3飞控&ROSflight软件包的无人机自主飞行系统
- 基于ros系统下使用Android应用 Make nav进行地图加载和导航
- 安装wp8sdk 当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。
- [ECshop系统]ECtouch如何接入手机短信验证功能
- 如何修改SQLServer2000身份验证模式和系统管理员
- GemFI-Full System全系统仿真
- ucos 多任务操作系统 无法仿真 系统不运行的调试方法
- Ubuntu 14.04系统中安装ROS Indigo
- 人性化的验证(Validate)系统
- 安装Win7非正版系统验证出现黑屏和右下角提示的解决方法
- 全平台简易接入ROS机器人系统网络方法
- 配置ROS工作环境以及简单介绍文件系统(二)
- 关于微软验证盗版系统出现问题临时解决办法
- vsftpd同时使用系统用户和虚拟用户验证