ToB企服应用市场:ToB评测及商务社交产业平台
标题:
在 ubuntu20.04 中安装 XTdrone 心路历程
[打印本页]
作者:
李优秀
时间:
2024-8-21 03:42
标题:
在 ubuntu20.04 中安装 XTdrone 心路历程
1.依赖的安装
首先按照语雀文档的步调举行安装,文档地点:语雀,
1.1 从此步开始举行,安装,
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python3-pip gawk
复制代码
注:此步大概会遇到失败现象,如:换源题目!!!
可在图中位置举行换源操作!!!
1.2
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
复制代码
1.3
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse kconfiglib jsonschema future
复制代码
到此依赖安装完毕!
注:出现下述错误
Collecting pandas
Using cached https://files.pythonhosted.org/packages/64/f1/8fdbd74edfc31625d597717be8c155c6226fc72a7c954c52583ab81a8614/pandas-1.1.2.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-qtvsjq8t/pandas/setup.py", line 349
f"{extension}-source file '{sourcefile}' not found.\n"
^
SyntaxError: invalid syntax
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-qtvsjq8t/pandas/
复制代码
运行下述代码:
pip install --upgrade setuptools
#若未报错不需要输入这两行命令
python -m pip install --upgrade pip
复制代码
2.ROS安装
法一.
2.1 设置您的sources.list。sources.list是一个包含软件源信息的设置文件,它告诉系统从哪里获取软件包。
注:Ubuntu 16.04对应Kinetic,18.04对应Melodic,20.04对应Noetic。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
复制代码
2.2设置你的keys
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
复制代码
如下图所示:
2.3 安装
2.3.1 更新
sudo apt update
复制代码
2.3.2 此步我们选择
desktop
的方式安装
sudo apt install ros-noetic-desktop-full
复制代码
2.3.3
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
复制代码
2.3.4
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
复制代码
2.3.5 安装 rosdepc
sudo pip3 install rosdepc
复制代码
2.3.6
sudo rosdepc init
rosdepc update
复制代码
法二.鱼香ROS一键安装(推荐)
wget http://fishros.com/install -O fishros && . fishros
复制代码
根据需求选择所需对应数字编号安装即可安装(很丝滑!!!)如下述代码所示:
cq@ubuntu:~$ wget http://fishros.com/install -O fishros && . fishros--2024-01-07 22:56:49-- http://fishros.com/install正在解析主机 fishros.com (fishros.com)... 139.9.131.171正在毗连 fishros.com (fishros.com)|139.9.131.171|:80... 已毗连。已发出 HTTP 哀求,正在等待回应... 301 Moved Permanently位置:http://fishros.com/install/ [跟随至新的 URL]--2024-01-07 22:56:50-- http://fishros.com/install/再次使用存在的到 fishros.com:80 的毗连。已发出 HTTP 哀求,正在等待回应... 200 OK长度: 582 [application/octet-stream]正在生存至: “fishros”fishros 100%[================>] 582 --.-KB/s 用时 0s 2024-01-07 22:56:50 (83.4 MB/s) - 已生存 “fishros” [582/582])正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 python3-distro 已经是最新版 (1.4.0-1)。python3-yaml 已经是最新版 (5.3.1-1ubuntu0.1)。升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 56 个软件包未被升级。--2024-01-07 22:56:50-- http://fishros.com/install/install1s/tools/base.py正在解析主机 fishros.com (fishros.com)... 139.9.131.171正在毗连 fishros.com (fishros.com)|139.9.131.171|:80... 已毗连。已发出 HTTP 哀求,正在等待回应... 200 OK长度: 44694 (44K) [application/octet-stream]正在生存至: “/tmp/fishinstall/tools/base.py”/tmp/fishinstall/to 100%[================>] 43.65K --.-KB/s 用时 0.09s 2024-01-07 22:56:51 (497 KB/s) - 已生存 “/tmp/fishinstall/tools/base.py” [44694/44694])Run CMD Task:[dpkg --print-architecture][-]Result:success Run CMD Task:[wget https://fishros.org.cn/forum/topic/1733 -O /tmp/t1733 -q && rm -rf /tmp/t1733][-]Result:success 基础查抄通过...=====================================================================================接待使用一键安装工具,人生苦短,三省吾身,省时省力省心!=============一键安装已开源,请放心使用:https://github.com/fishros/install ====================================================================================== .-~~~~~~~~~-._ _.-~~~~~~~~~-. __.' ~. .~ `.__ .'// 开卷有益 \./ 书山有路 \ `. .'// 可以多看看小鱼的文章 | 关注公众号鱼香ROS
复制代码
2.3.7 运行如下代码查抄ROS是否安装并正常运行
roscore
复制代码
正常运行图!!!
当!当!
2.3.8 新建工作空间
2.3.8.1 在catkin build前先安装sudo apt install python3-catkin-tools
sudo apt install python3-catkin-tools
复制代码
2.3.8.2
mkdir -p ~/catkin_ws/src
复制代码
2.3.8.3
mkdir -p ~/catkin_ws/scripts
复制代码
2.3.8.4
cd catkin_ws
复制代码
2.3.8.5
catkin init
复制代码
运行上述代码如下图所示:
2.3.8.6
catkin build
复制代码
注:之前未catkin_ws过是用catkin_ws,如若用过则要改其名称要不会冲突!!!
运行成功后如下图:
3. Gazebo的安装
3.1 先卸载
3.1.1
sudo apt-get remove gazebo*
复制代码
3.1.2
sudo apt-get remove libgazebo*
复制代码
3.1.3
sudo apt-get remove ros-noetic-gazebo*
复制代码
3.2 Gazebo举行安装
3.2.1
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
复制代码
3.2.2
cat /etc/apt/sources.list.d/gazebo-stable.list
复制代码
3.2.3
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
复制代码
3.2.4
sudo apt-get update
复制代码
3.2.5
sudo apt-get install gazebo9
复制代码
3.2.6
sudo apt-get install libgazebo9-dev
复制代码
3.2.7 末了运行gazebo查抄是否安装成功
gazebo
复制代码
安装成功后的界面!!!
当!当!会弹出gazebo的界面
3.2.8 源码编译安装依赖
sudo apt-get install ros-noetic-moveit-msgs ros-noetic-object-recognition-msgs ros-noetic-octomap-msgs ros-noetic-camera-info-manager ros-noetic-control-toolbox ros-noetic-polled-camera ros-noetic-controller-manager ros-noetic-transmission-interface ros-noetic-joint-limits-interface
复制代码
3.2.9 克隆并编译Gazebo的插件gazebo_ros_pkgs,放在
~/catkin_ws/src
下
方案一 (科学上网)
3.2.9.1
cd ~/catkin_ws
/src
复制代码
3.2.9.2
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git
复制代码
3.2.9.3
cd ~/catkin_ws
复制代码
3.2.9.4
注:此步调时间有长有短根据实际情况分析,莫慌!!!
catkin build
复制代码
注:在举行到3.2.9.2大概会出现错误可使用第二套方案
方案二
3.2.9.1*
git clone https://gitee.com/robin_shaun/XTDrone.git
复制代码
注:执行此步调大概会出现下图所示题目
办理方法:按照图中提示直接sudo apt install git 即可
3.2.9.2*
cd XTDrone
复制代码
3.2.9.3*
git submodule update --init --recursive
复制代码
3.2.9.4*
cd ~/catkin_ws
复制代码
3.2.9.5*
cp -r ~/XTDrone/sitl_config/gazebo_ros_pkgs src/
复制代码
3.2.9.6*
注:此步调时间有长有短根据实际情况分析,莫慌!!!
catkin build
复制代码
若出现下面如许的错误:
AttributeError: module 'em' has no attribute 'RAW_OPT'
复制代码
执行下面这段代码即可。
pip3 uninstall empy
pip3 install empy==3.3.4
复制代码
3.3 编译成功后执行如下两条指令,判断gazebo_ros是否安装成功
3.3.1 首先,打开终端一,输入如下命令:
roscore
复制代码
3.3.2 其次,打开文件.bashrc文件(
注:其为潜伏文件可使用ctrl+h命令打开
)添加如下代码
source ~/catkin_ws/devel/setup.bash
复制代码
在如图位置举行添加
3.3.3 末了,打开终端二,输入如下命令:
rosrun gazebo_ros gazebo
复制代码
终极成功如下图所示:
3.4 添加 models 模子
可在我的资源中举行下载,将该附件解压缩后放在~/.gazebo中,此时在~/.gazebo/models/如图所示位置
4.MAVROS安装
4.1
sudo apt install ros-noetic-mavros ros-noetic-mavros-extras
复制代码
4.2
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
复制代码
4.3 给权限
sudo chmod a+x ./install_geographiclib_datasets.sh
复制代码
4.4 注:此步调等待时间较长,莫慌!!!
sudo ./install_geographiclib_datasets.sh
复制代码
成功安装如下图所示结果
当!当!
注:大概会安装失败 ,办理办法按照对应失败提示,举行对应包的安装即可!!!
5. px4安装与设置
5.1
5.1.1 法一:(科学上网)
git clone https://github.com/PX4/PX4-Autopilot.git
复制代码
5.1.2
mv PX4-Autopilot PX4_Firmware
复制代码
5.1.3
cd PX4_Firmware
复制代码
5.1.4
git checkout -b xtdrone/dev v1.13.2
复制代码
5.1.5
git submodule update --init --recursive
复制代码
5.1.6
make px4_sitl_default gazebo
复制代码
5.1.1* 法二
下载下图的px4安装包
。
下载后按照如下代码操作:
5.1.2*
cd PX4_Firmware
复制代码
5.1.3*
make px4_sitl_default gazebo
复制代码
此步调还会遇到另外一个题目,如下图所示:
办理办法:删除下图所示的 build 文件:
注:在make编译px4的过程中,大概会出现编译失败的情况,大概率是由于缺少某些依赖。此时查询报错信息,使用sudo apt install命令安装相应的库。
若出现下面代码中的错误:
FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-build
cd /home/syf/PX4_Firmware/build/px4_sitl_default/build_gazebo && /usr/bin/cmake --build .
ninja: build stopped: subcommand failed.
make: *** [Makefile:200:px4_sitl_default] 错误 1
复制代码
可执行下面这段代码:
sudo apt install libgstreamer1.0-dev
sudo apt install gstreamer1.0-plugins-good
sudo apt install gstreamer1.0-plugins-bad
sudo apt install gstreamer1.0-plugins-ugly
复制代码
在编译完成后,会弹出Gazebo界面,将其关闭即可。如图所示:
5.2
修改 ~/.bashrc,加入以下代码,留意路径匹配,前两个source次序不能颠倒
5.2.1
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo
复制代码
写在如图所示位置:
5.3 运行下述代码
source ~/.bashrc
复制代码
5.4 再运行下述代码
5.4.1
cd ~/PX4_Firmware
复制代码
5.4.2
roslaunch px4 mavros_posix_sitl.launch
复制代码
出现如图所示证明安装完成!!!
当!当!
5.5 同时再开终端运行下述代码
rostopic echo /mavros/state
复制代码
5.6 查抄 connected 是否为 True
若connected: True,则说明MAVROS与SITL通信成功。假如是false,一般是由于.bashrc里的路径写的不对,请过细查抄。(正确应为下图所示)
---
header:
seq: 11
stamp:
secs: 1827
nsecs: 173000000
frame_id: ''
connected: True
armed: False
guided: False
manual_input: True
mode: "MANUAL"
system_status: 3
---
复制代码
若结果下图所示:
莫慌!!!
接着操作即可
6. 安装地面站QGroundControl
安装地面站地点
6.1 打开一个终端,运行如下代码
chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage
复制代码
运行结果:
6.2 打开另外一个终端,运行上图中黄色字体
6.2.1
sudo usermod -a -G dialout $你的ID$
复制代码
6.2.2
sudo apt-get remove modemmanager
复制代码
以我本身为例,如下图所示:
地面站安装成功如图:
7. XTDrone源码下载
7.1 按照如下代码一步一步举行执行即可!!!
7.1.1 进入 XTDrone 文件夹下
cd XTDrone
复制代码
7.1.2 下载补丁
git submodule update --init --recursive
复制代码
7.1.3 拷贝
cp sensing/gimbal/gazebo_gimbal_controller_plugin.cpp ~/PX4_Firmware/Tools/sitl_gazebo/src/
复制代码
7.1.4 修改启动脚本文件
cp sitl_config/init.d-posix/rcS ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/
复制代码
7.1.5 添加天下文件
cp sitl_config/worlds/* ~/PX4_Firmware/Tools/sitl_gazebo/worlds/
复制代码
7.1.6 修改部分模子文件
cp -r sitl_config/models/* ~/PX4_Firmware/Tools/sitl_gazebo/models/
复制代码
7.1.7 添加launch文件
cp -r sitl_config/launch/* ~/PX4_Firmware/launch/
复制代码
7.1.8 更换同名文件
cd ~/.gazebo/models/
复制代码
7.1.9 更换同名文件
rm -r stereo_camera/ 3d_lidar/ 3d_gpu_lidar/ hokuyo_lidar/
复制代码
执行完如下图所示:
7.2 删除原编译文件,重新编译PX4固件
执行如下代码:
cd ~/PX4_Firmware
make px4_sitl_default gazebo
复制代码
注:大概出现如下错误
办理办法:
执行下述代码:
git submodule update --init --recursive
复制代码
make clean
复制代码
再运行 make px4_sitl_default gazebo 即可!!!
编译成功出现下图:
7.3 用键盘控制无人机飞行
此步调需开三个终端:
7.3.1 打开第一个终端:
cd ~/PX4_Firmware
roslaunch px4 indoor1.launch
复制代码
注:大概会报出下图所示的错误:
办理办法:用ctrl+c关闭仿真历程,有大概没有把Gazebo的相关历程关干净,如许再启动仿真时大概会报错。假如出现这种情况,可以用killall -9 gzclient,killall -9 gzserver 这两个命令强行关闭gazebo全部历程。
7.3.2 打开第二终端
注:要等 Gazebo 完全启动后,在另一个终端运行(留意要等Gazebo完全启动完成,大概大概脚本会报错)如下图所示:
输入下述代码:
cd ~/XTDrone/communication/
python3 multirotor_communication.py iris 0
复制代码
7.3.3 打开第三个终端 (与0号iris创建通信后)
输入下述代码:
cd ~/XTDrone/control/keyboard
python3 multirotor_keyboard_control.py iris 1 vel
复制代码
终极出现下图:
到此安装结束!!!完结撒花!!!
写在末了的一段话:你大概在安装的过程中没遇到我遇到的题目,很顺遂就安装成功了!!!那么祝贺你幸运儿!!!当然!你更有大概是遇到了比我更多的题目,不要慌逐步安,实在没有办理办法就卸载重安,想安装上一定能安装上的。加油!!!我安装 XTdrone 时也几近瓦解,当然,终极的结果是安装成功了,当然这只是第一步。以后另有应用。。。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4