国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【rotors】多旋翼無人機仿真(一)——搭建rotors仿真環(huán)境

這篇具有很好參考價值的文章主要介紹了【rotors】多旋翼無人機仿真(一)——搭建rotors仿真環(huán)境。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【rotors】多旋翼無人機仿真(一)——搭建rotors仿真環(huán)境
【rotors】多旋翼無人機仿真(二)——設(shè)置飛行軌跡
【rotors】多旋翼無人機仿真(三)——SE3控制
【rotors】多旋翼無人機仿真(四)——參數(shù)補償和PID控制
【rotors】多旋翼無人機仿真(五)——多無人機仿真

本貼內(nèi)容參考兩位博主的內(nèi)容:
月照銀海似蛟
Reed Liao

1、前言

無人機仿真主要分為兩類:硬件在環(huán)仿真(HITL)和軟件在環(huán)仿真(SITL全稱Software in the loop)。

無人機軟件在環(huán)仿真是指完全用計算機來模擬出無人機飛行時的狀態(tài),而硬件在環(huán)仿真是指計算機連接飛控板來測試飛控軟件是否可以流暢運行。一般來說硬件在環(huán)仿真若沒有加上真實的轉(zhuǎn)臺進行測試的話,其與軟件在環(huán)仿真沒有很大的區(qū)別。

在無須解決在研發(fā)過程中的硬件問題帶來的麻煩,并且可以直觀的調(diào)試代碼,搭建一套無人機仿真系統(tǒng),對于研發(fā)來說好處是數(shù)不剩數(shù)的。

2、rotors介紹

RotorS 是ETH(蘇黎世聯(lián)邦理工大學)研究團隊開發(fā)的一個ROS包,GITHUB地址
提供了幾種多旋翼仿真模型,例如

  • List item
  • AscTec
  • Hummingbird
  • AscTec Pelican
  • AscTec Firefly

但是仿真系統(tǒng)不限于使用這幾種模型

AscTec 是 德國Ascending Technologies公司的縮寫。

是很早的無人機了,實物張下面這個樣子:
rotors,無人機
仿真系統(tǒng)中包含很多種仿真?zhèn)鞲衅鳎伎梢园惭b在無人機上,例如:

  • IMU
  • 里程計
  • 視覺慣導相機

功能包中包含了兩種控制器,后面會詳細介紹控制器的實現(xiàn)

3、rotors安裝

rotors官網(wǎng)提供的配置教程是Ubuntu 16.04 with ROS Kinetic、Ubuntu 14.04 with ROS Indigo , 這里我的配置是Ubuntu 18.04 with ROS melodic
安裝前已經(jīng)安裝好了ROS melodic和gazebo11(melodic默認安裝的是gazebo9,但9不太穩(wěn)定,升級為11了)

(1)安裝依賴安裝包

# 如果是其他ros版本就把melodic改為自己ros版本名字
sudo apt-get install ros-melodic-joy ros-melodic-octomap-ros python-wstool python-catkin-tools protobuf-compiler
sudo apt-get install libgeographic-dev ros-melodic-geographic-msgs 

(2)創(chuàng)建文件夾并初始化工作空間

mkdir -p ~/UAV_rotors/src
cd ~/UAV_rotors/src
catkin_init_workspace

(3)git下載rotors源碼

cd ~/UAV_rotors/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賬號并綁定自己電腦ssh,否則不能正常git,綁定方法參考這個

(4)編譯源碼

cd ~/UAV_rotors
catkin init  # 只需運行一次,后續(xù)如果修改源碼重新編譯不需要再執(zhí)行
catkin build
# 在.bashrc文件中添加環(huán)境變量
source ~/UAV_rotors/devel/setup.bash

編譯一切正常會輸出如下結(jié)果:
rotors,無人機
但不出意外的話,大家或多或少會報一些錯誤,下面是我編譯過程中的遇到的錯誤(編譯過程中優(yōu)先解決編譯錯誤地方,編譯警告的先放著):
問題:
rotors,無人機
解決:
安裝編譯glog庫,安裝方法如下:

# 安裝gflags
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build && cd build
cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC ..
make -j4
sudo make install

# 安裝glog
git clone https://github.com/google/glog
cd glog
mkdir build && cd build
cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON ..
make -j4
sudo make install

如果編譯安裝過程中報錯說cmake版本太低需要升級版本,可參考這個

(5)運行rotors
rotors中有許多種機型,包括固定翼、多旋翼等,這里以四旋翼為例,進行仿真,在終端運行下面命令:

roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=basic

執(zhí)行之后,gazebo會自動啟動,出現(xiàn)下面的畫面,則表示大功告成:
rotors,無人機

4、launch文件說明

~/UAV_rotors/src/rotors_simulator/rotors_gazebo/launch文件夾中有許多啟動程序的launch文件,使用較多的有兩個:mav_hovering_example.launchmav_hovering_example_with_vi_sensor.launch,后者比前者多啟動了深度攝像頭傳感器。

我們來看看mav_hovering_example_with_vi_sensor.launch

<!-- 啟動無人機仿真,帶深度攝像頭傳感器 -->
<!-- 參數(shù): -->
<!-- mav_name:無人機類型,可以在rotors_description/urdf中查看型號-->
<!--           六翼無人機:firefly、neo11、neo9-->
<!--           四翼無人機:pelican、ardrone、asymmetric_quadrotor、hummingbird、iris-->
<!-- world_name:仿真環(huán)境,可選擇worlds文件夾下的文件-->
<launch>
  <arg name="mav_name" default="firefly"/>
  <arg name="world_name" default="basic"/>
  <arg name="enable_logging" default="false" />
  <arg name="enable_ground_truth" default="true" />
  <arg name="log_file" default="$(arg mav_name)" />

  <env name="GAZEBO_MODEL_PATH" value="${GAZEBO_MODEL_PATH}:$(find rotors_gazebo)/models"/>
  <env name="GAZEBO_RESOURCE_PATH" value="${GAZEBO_RESOURCE_PATH}:$(find rotors_gazebo)/models"/>
  <!-- 啟動gazebo -->
  <include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find rotors_gazebo)/worlds/$(arg world_name).world" />
    <!-- <arg name="debug" value="true"/> -->
    <arg name="paused" value="true"/>
    <!-- <arg name="gui" value="false"/> -->
    <!-- <arg name="verbose" value="true"/> -->
  </include>

  <group ns="$(arg mav_name)">
    <!-- 導入無人機模型 -->
    <include file="$(find rotors_gazebo)/launch/spawn_mav.launch">
      <arg name="mav_name" value="$(arg mav_name)" />
      <arg name="model" value="$(find rotors_description)/urdf/mav_with_vi_sensor.gazebo" />
      <arg name="enable_logging" value="$(arg enable_logging)" />
      <arg name="enable_ground_truth" value="$(arg enable_ground_truth)" />
      <arg name="log_file" value="$(arg log_file)"/>
    </include>
    <!-- 啟動無人機控制節(jié)點 -->
    <node name="lee_position_controller_node" pkg="rotors_control" type="lee_position_controller_node" output="screen">
      <rosparam command="load" file="$(find rotors_gazebo)/resource/lee_controller_$(arg mav_name).yaml" />
      <rosparam command="load" file="$(find rotors_gazebo)/resource/$(arg mav_name).yaml" />
      <remap from="odometry" to="odometry_sensor1/odometry" />
    </node>
    <!-- 啟動無人機軌跡控制命令節(jié)點 -->
    <node name="hovering_example" pkg="rotors_gazebo" type="hovering_example" output="screen"/>
    <!-- 啟動仿真關(guān)節(jié)節(jié)點 -->
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
  </group>
</launch>

launch文件中有兩個比較重要的參數(shù):一個是mav_name 無人機型號,這個可以在rotors_description/urdf文件夾下查看有那些無人機型號的建模文件;一個是world_name 仿真環(huán)境名字,這個可以在rotors_gazebo/worlds文件夾中查看,需要注意的是如果選擇比較復雜的world_name 如 outdoor,仿真環(huán)境會加載gazebo官方的一些模型,如果你沒有提前下載好這些模型,會導致gazebo打不開,因為此時gazebo正在聯(lián)網(wǎng)下載這些模型,需要自己提前把官方的全部模型下載到gazebo中。

此外launch還加載了兩個節(jié)點程序:lee_position_controller_node 、 hovering_example,前者就是無人機的控制節(jié)點,后者是給無人機發(fā)送軌跡點節(jié)點 , 后面會解釋說明這兩個節(jié)點。文章來源地址http://www.zghlxwxcb.cn/news/detail-796168.html

到了這里,關(guān)于【rotors】多旋翼無人機仿真(一)——搭建rotors仿真環(huán)境的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【無人機】基于 ode45實現(xiàn)四旋翼無人機姿態(tài)仿真附Matlab代碼

    【無人機】基于 ode45實現(xiàn)四旋翼無人機姿態(tài)仿真附Matlab代碼

    ??作者簡介:熱愛科研的Matlab仿真開發(fā)者,修心和技術(shù)同步精進, 代碼獲取、論文復現(xiàn)及科研仿真合作可私信。 ??個人主頁:Matlab科研工作室 ??個人信條:格物致知。 更多Matlab完整代碼及仿真定制內(nèi)容點擊?? 智能優(yōu)化算法?? ? ??神經(jīng)網(wǎng)絡(luò)預測?? ? ??雷達通信?? ?

    2024年02月03日
    瀏覽(503)
  • ubuntu搭建PX4無人機仿真環(huán)境(4) —— 仿真環(huán)境搭建

    ubuntu搭建PX4無人機仿真環(huán)境(4) —— 仿真環(huán)境搭建

    前言 在搭建之前,需要把 ROS、MAVROS、QGC 等基礎(chǔ)環(huán)境安裝配置完成。大家可以參考我之前的教程 本次安裝是以 px4 v1.13.2 為例。 我的配置如下: 虛擬機 Ubuntu 18.04 (運行內(nèi)存 4G、硬盤內(nèi)存 80G) 、ROS melodic 、最新版 QGC 建議安裝之前可以先看看這個 ?? ubuntu搭建PX4無人機仿真環(huán)境

    2024年02月15日
    瀏覽(96)
  • 基于EKF的四旋翼無人機姿態(tài)估計matlab仿真

    基于EKF的四旋翼無人機姿態(tài)估計matlab仿真

    目錄 1.算法描述 2.仿真效果預覽 3.MATLAB核心程序 4.完整MATLAB ? ? ? ?卡爾曼濾波是一種高效率的遞歸濾波器(自回歸濾波器),它能夠從一系列的不完全包含噪聲的測量中,估計動態(tài)系統(tǒng)的狀態(tài)。這種濾波方法以它的發(fā)明者魯?shù)婪颉·卡爾曼(Rudolf E. Kalman)命名??柭畛跆?/p>

    2023年04月23日
    瀏覽(357)
  • 無人機|四旋翼運動動力學建模及位置控制仿真

    無人機|四旋翼運動動力學建模及位置控制仿真

    本文將實現(xiàn)對無人機動力學以及運動學的公式推導完成建模,該模型以電機轉(zhuǎn)速為輸入,以無人機的狀態(tài)量為輸出。并在此基礎(chǔ)上實現(xiàn)位置控制,以期望位置作為輸入,使用串級pid結(jié)合無人機模型生成控制指令并對無人機進行控制。 對于任意剛體運動,均可分解為轉(zhuǎn)動和平動

    2024年04月11日
    瀏覽(26)
  • (最新)ubuntu搭建PX4無人機仿真環(huán)境(4) —— 仿真環(huán)境搭建

    (最新)ubuntu搭建PX4無人機仿真環(huán)境(4) —— 仿真環(huán)境搭建

    前言 在搭建之前,需要把 ROS、MAVROS、QGC 等基礎(chǔ)環(huán)境安裝配置完成。大家可以參考我之前的教程 本次安裝是以 px4 v1.13.2 為例。 我的配置如下: 虛擬機 Ubuntu 18.04 (運行內(nèi)存 4G、硬盤內(nèi)存 80G) 、ROS melodic 、最新版 QGC 建議安裝之前可以先看看這個 ?? ubuntu搭建PX4無人機仿真環(huán)境

    2024年02月09日
    瀏覽(90)
  • 四旋翼無人機反步法控制器設(shè)計(含simulink仿真)

    四旋翼無人機反步法控制器設(shè)計(含simulink仿真)

    反步法設(shè)計: 1.建立四旋翼無人機非線性模型: 2.位置環(huán)虛擬控制律及反步控制器設(shè)計: 3. 姿態(tài)解算 ?4.姿態(tài)環(huán)虛擬控制律及反步控制器設(shè)計: ?5.搭建simulink,仿真結(jié)果如下: ? ? ? ?

    2024年02月16日
    瀏覽(19)
  • m基于PID控制算法的四旋翼無人機飛行控制simulink仿真

    m基于PID控制算法的四旋翼無人機飛行控制simulink仿真

    目錄 1.算法描述 2.仿真效果預覽 3.MATLAB核心程序 4.完整MATLAB ? 無人機采用常見的四旋翼無人飛行器,如圖1所示。 ? ? ? PID 控制器,即控制器的控制方式為 P 比例調(diào)整, I 積分調(diào)整以及 D 微分調(diào)整三個部分構(gòu)成, PID 控制器是目前為止應用最為廣泛的控制方式。 PID 控制器具

    2023年04月22日
    瀏覽(98)
  • (最新)ubuntu搭建PX4無人機仿真環(huán)境(1) —— 概念介紹及環(huán)境建議

    搭建PX4仿真環(huán)境一個有挑戰(zhàn)性的過程,如果沒有一個有經(jīng)驗的人來帶的話會走很多彎路。我在搭建PX4仿真環(huán)境的時候,不知道Linux、ROS、git,語言也只會一個C語言,沒有任何無人機基礎(chǔ),純小白一個,靠著自學與網(wǎng)上的各種教程,花了一兩個月才搭好基本的仿真環(huán)境框架。我

    2024年02月08日
    瀏覽(92)
  • (最新)ubuntu搭建PX4無人機仿真環(huán)境(2) —— MAVROS安裝

    (最新)ubuntu搭建PX4無人機仿真環(huán)境(2) —— MAVROS安裝

    MAVROS是一個ROS(Robot Operating System)軟件包 , 有了它就可以讓ROS與飛控通信。這次安裝是以ubuntu 18.04 (ROS Melodic)為例,也適用于其他版本 。安裝之前確保 ROS 安裝成功,沒安裝的可以看我仿真系列教程。 (注:安裝方式有二進制安裝和源碼安裝兩種方式,源碼安裝需要從Git

    2024年02月09日
    瀏覽(114)
  • ubuntu搭建PX4無人機仿真環(huán)境(3) —— ubuntu安裝QGC地面站

    ubuntu搭建PX4無人機仿真環(huán)境(3) —— ubuntu安裝QGC地面站

    前言 QGC ( QGroundControl) 是一個開源地面站,基于QT開發(fā)的,有跨平臺的功能。這次安裝是基于Ubuntu 18.04,QGC v4.2.6 但也適用于其他ubuntu發(fā)行版,QGC 版本也可以自行選擇,如果發(fā)現(xiàn)不行可以降版本。 搭建仿真環(huán)境系列教程 ?? ubuntu搭建PX4無人機仿真環(huán)境(1) —— 概念介紹 ubuntu搭

    2024年02月16日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包