安装mavros_controller

适用 Ubuntu 18.04 + ROS melodic、Ubuntu 20.04 + ROS noetic

1. 准备

ROS

安装之前必须确保你的系统已经安装了ROS,如果没有安装可以参考下面这篇文章👇
ubuntu安装ROS(1) —— 以 ROS1 melodic 为例(最新、超详细图文教程,包含配置rosdep)

(没有创建工作空间,可以执行下列代码,如果创建了可以跳过)

sudo apt-get install python-catkin-tools python-rosinstall-generator -y
# for Ubuntu 20
# sudo apt install python3-catkin-tools python3-rosinstall-generator python3-osrf-pycommon -y
mkdir -p ~/catkin_ws/src
cd catkin_ws && catkin init
catkin build

PX4 仿真环境

安装之前必须确保你的Ubuntu已经配置好了PX4基础仿真环境,如果没有安装可以参考下面这篇文章👇

(最新)ubuntu搭建PX4无人机仿真环境(4) ——仿真环境搭建(以Ubuntu 18.04,ROS1 Melodic 为例)_px4仿真环境搭建-优快云博客

2. 安装

下载源码

cd ~/catkin_ws/src
wstool init
git clone https://github.com/Jaeyoung-Lim/mavros_controllers
cd ~/catkin_ws
wstool merge -t src src/mavros_controllers/dependencies.rosinstall
wstool update -t src -j4 # 这会从 Github上下载源码,所以比较考验网络
rosdep install --from-paths src --ignore-src -y --rosdistro $ROS_DISTRO

编译

cd ~/catkin_ws
catkin build

运行

sitl_trajectory_track_circle.launch 文件会同时启动 PX4 仿真和 mavros_controller,我们这里修改一下,让它们分开启动**(确保PX4仿真是好的)**

<launch>
  <arg name="mav_name" default="iris"/>
  <arg name="fcu_url" default="udp://:14540@127.0.0.1:14557"/>
  <arg name="gcs_url" default="" />
  <arg name="tgt_system" default="1" />
  <arg name="tgt_component" default="1" />
  <arg name="command_input" default="2" />
  <arg name="gazebo_simulation" default="true" />
  <arg name="visualization" default="false"/>
  <arg name="log_output" default="screen" />
  <arg name="fcu_protocol" default="v2.0" />
  <arg name="respawn_mavros" default="false" />
  
  <node pkg="geometric_controller" type="geometric_controller_node" name="geometric_controller" output="screen">
  		<param name="mav_name" type="string" value="$(arg mav_name)" />
          <remap from="command/bodyrate_command" to="/mavros/setpoint_raw/attitude"/>
          <param name="ctrl_mode" value="$(arg command_input)" />
          <param name="enable_sim" value="$(arg gazebo_simulation)" />
          <param name="enable_gazebo_state" value="true"/>
          <param name="max_acc" value="10.0" />
          <!--Params specific for Iris copter-->
          <param name="attctrl_constant" value="0.3"/>
          <param name="normalizedthrust_constant" value="0.06"/>
          <param name="normalizedthrust_offset" value="0.1"/>
          <param name="Kp_x" value="10.0" />
          <param name="Kp_y" value="10.0" />
          <param name="Kp_z" value="20.0" />
          <param name="Kv_x" value="5.0"/>
          <param name="Kv_y" value="5.0"/>
          <param name="Kv_z" value="10.0"/>
  </node>

  <node pkg="trajectory_publisher" type="trajectory_publisher" name="trajectory_publisher" output="screen">
        <param name="trajectory_type" value="1" />
        <param name="shape_omega" value="1.2" />
        <param name="initpos_z" value="2.0" />
        <param name="reference_type" value="2" />
  </node>

  <!-- Launch rqt_reconfigure -->
  <node pkg="rqt_reconfigure" type="rqt_reconfigure" output="screen" name="rqt_reconfigure" />

  <!-- <include file="$(find mavros)/launch/node.launch">
      <arg name="pluginlists_yaml" value="$(find mavros)/launch/px4_pluginlists.yaml" />
      <arg name="config_yaml" value="$(find mavros)/launch/px4_config.yaml" />

      <arg name="fcu_url" value="$(arg fcu_url)" />
      <arg name="gcs_url" value="$(arg gcs_url)" />
      <arg name="tgt_system" value="$(arg tgt_system)" />
      <arg name="tgt_component" value="$(arg tgt_component)" />
      <arg name="log_output" value="$(arg log_output)" />
      <arg name="fcu_protocol" value="$(arg fcu_protocol)" />
      <arg name="respawn_mavros" default="$(arg respawn_mavros)" />
  </include>

  <include file="$(find px4)/launch/posix_sitl.launch">
      <arg name="vehicle" value="$(arg mav_name)"/>
  </include> -->

  <group if="$(arg visualization)">
      <node type="rviz" name="rviz" pkg="rviz" args="-d $(find geometric_controller)/launch/config_file.rviz" />
  </group>

</launch>

修改好后记得保存(这里只是注释了)

  • 终端一:
roslaunch px4 mavros_posix_sitl.launch
  • 终端二:
source ~/catkin_ws/devel/setup.bash
roslaunch geometric_controller sitl_trajectory_track_circle.launch

演示:(飞圆形)

项目复现——mavros

参考

mavros_controller

如有其他问题,或者发现文章有错误,请在评论区留言
Keep learning!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值