使用ROS节点控制PX4(1)
2018-04-04 09:52
239 查看
1.安装ROS IDE:
Roboware Studio(只支持linux),网址:http://www.roboware.me Roboware可以很方便的创建工作空间,编写程序后可以自动更新CmakeLists文件,将节点加入工作空间中。2.创建工作空间,编写相应节点
Roboware有相应的指导手册,根据手册说明,正常创建就可以,没有太多需要注意的地方。
上图的cpp文件经过编译后会在下方imav工作空间中自动生成相应的节点。
3.以PX4高度控制为例
在让飞机真正飞行前一般都要在系统上进行仿真测试,仿真软件主要有两种:jMAVSim和gazebo
笔者这里主要使用第一种,运行jMAVSim无需进行额外的环境配置,在对应的程序安装位置,启动程序即可打开。
cd Firmware
make posix_sitl_default jmavsim
接下来进入PX4地面站的安装目录,打开QGcd qgroundcontrol/
./qgroundcontrol-start.sh
进入QG
当在地面站中将飞机起飞后,再切到offboard模式,仿真器中的飞机就会开始执行编写的节点,具体操作如下:
运行mavros
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
运行任务节点(roslaunch中已经包含roscore,无需运行)rosrun imav holdheight
如图所示,切到offboard后,飞机执行任务节点,在2m悬停。
具体launch文件下篇文章说明
Roboware Studio(只支持linux),网址:http://www.roboware.me Roboware可以很方便的创建工作空间,编写程序后可以自动更新CmakeLists文件,将节点加入工作空间中。2.创建工作空间,编写相应节点
Roboware有相应的指导手册,根据手册说明,正常创建就可以,没有太多需要注意的地方。
上图的cpp文件经过编译后会在下方imav工作空间中自动生成相应的节点。
3.以PX4高度控制为例
在让飞机真正飞行前一般都要在系统上进行仿真测试,仿真软件主要有两种:jMAVSim和gazebo
笔者这里主要使用第一种,运行jMAVSim无需进行额外的环境配置,在对应的程序安装位置,启动程序即可打开。
cd Firmware
make posix_sitl_default jmavsim
接下来进入PX4地面站的安装目录,打开QGcd qgroundcontrol/
./qgroundcontrol-start.sh
进入QG
当在地面站中将飞机起飞后,再切到offboard模式,仿真器中的飞机就会开始执行编写的节点,具体操作如下:
运行mavros
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
运行任务节点(roslaunch中已经包含roscore,无需运行)rosrun imav holdheight
如图所示,切到offboard后,飞机执行任务节点,在2m悬停。
具体launch文件下篇文章说明
相关文章推荐
- 如何在Openstack的控制节点使用命令手动创建一个虚拟机
- 使用JavaScript控制html中节点的增删改
- ros(robot operating system机器人操作系统)订阅函数的多线程使用方法(C++: 外部变量控制跳出for循环)
- 如何使用ROS 控制桌面机械手Dobot魔术师?
- ros节点/话题/服务...管理工具multimaster_fkie的安装和简单使用
- 通过ros节点发布Twist Messages控制机器人--10
- 如何在Openstack的控制节点使用命令手动创建一个虚拟机
- 如何使用pgpool failover_stream.sh自己控制选择指定的master节点
- ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人
- ros_indigo使用keyboard键盘控制虚拟或实际机器人
- 使用Python完成控制主机与任务节点的交互 [Demo]
- ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人
- ros_indigo使用keyboard键盘控制虚拟或实际机器人
- 通过ROS的Node(节点)调用bhand_controller服务实现barrett_hand基本动作控制
- ROS_Kinetic_25 在ubuntu16.04使用Leap_motion并作为手势输入控制Gazebo中的机器人
- ros_indigo使用keyboard键盘控制虚拟或实际机器人
- PX4在ROS-Kinetic外部控制下的仿真(1)
- ros_fuerte创建工作空间、创建ROS功能包、编译ROS功能包、创建节点(cpp)、编译节点、使用launch文件、创建srv和msg文件、使用新建的srv和msg文件
- ROS分布式控制的节点配置
- ROS多机通信/在多台机器上使用ROS系统/多台电脑使用同一个主节点ROS master/ROS多机ssh通信