Ubuntu20.04下ROS和PX4的无人机仿真平台的基础配置搭建我所遇到的问题
写在前面:
我目前也处于学习阶段,当时按照ROS教程安装的20.04,随后搭建XTDrone阶段因为版本问题出现了很多问题,这是我根据问题,检索后汇总的一些解决措施。
本文中提到的问题可能不是我遇到的所有问题,由于我整体配置过程比较混乱,所以我主要挑选了自己记忆比较深刻的问题及搜索到的解决方法进行了列举。大家遇到了其他问题都可以直接搜索报错信息,可能可以获得解决方法。
(很多部分可能没有留存报错信息的截图)
参考https://blog.csdn.net/sirobot/article/details/115521712
https://blog.csdn.net/yinhangbin/article/details/125248857
https://blog.csdn.net/qq_45067735/article/details/107303796
https://blog.csdn.net/weixin_45574260/article/details/122442832
详细过程按照语雀文档顺序进行
https://www.yuque.com/xtdrone/manual_cn
1.初始环境依赖问题
初始执行以下命令,显示报错 “软件包 python-empy 没有可安装候选” 等
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
解决:Python 2已经从ubuntu20.04中移除,需要执行以下命令 安装python 2
sudo add-apt-repository universe
sudo apt update
sudo apt install python2
解决后,继续安装依赖如下
pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
显示错误:Command 'pip2' not found
解决方法:以下述命令安装全局pip2,再执行上述命令
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python2 get-pip.py
2.ROS安装部分
若初始自己建立了工作空间但是名字不是catkin_make,最好按照语雀文档中教程重新创建工作空间catkin_make并编译,其中catkin build需要先装catkin-tools(sudo apt install python3-catkin-tools)
3.gazebo安装部分
我安装 的gazebo的开发版,具体指令(按照教程那三行卸载指令,卸载原本gazebo后执行)
sudo apt-get install libgazebo9-dev
此外注意
4. MAVROS安装
安装前要更新软件库
sudo apt-get update
sudo apt-get upgrade
随后再根据教程安装
5.PX4配置
我采取的直接编译下载好的PX4_Firmware,我将其提取(解压)到了主目录,方便按照教程执行cd PX4_Firmware 后直接进入相应目录
其中,修改 ~/.bashrc,需要使用指令:
gedit ~/.bashrc
将教程中的四行路径如下,全部复制到打开的文本的最后,保证前两行source顺序不要颠倒
-
source ~/catkin_ws/devel/setup.bash
-
source ~/Firmware/Tools/setup_gazebo.bash ~/Firmware/ ~/Firmware/build/px4_sitl_default
-
-
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware
-
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/Tools/sitl_gazebo
完成后更新~/.bashrc
source ~/.bashrc
此时在按照教程进行,执行roslaunch时候不会出如下错误
RLException: [mavros_posix_sitl.launch] is neither a launch file in package [px4] nor is [px4] a launch file name. The traceback for the exception was written to the log file
6.安装地面站
按照官网来就好Download and Install · QGroundControl User Guide
7. XTDrone源码下载
其中执行到教程中 cd ~/.gazebo/models/ 可能出错没有models此目录
解决:在教程 安装MAVROS前,小字部分提示可以下载了个models.zip,需将该zip文件提取到(解压)~/.gazebo
中。其中,.gazebo为隐藏文件,可通过按ctrl H显示隐藏文件
8.键盘控制飞行
执行下述指令时
-
cd ~/XTDrone/communication/
-
python multirotor_communication.py iris 0
报错:ImportError: No module named rospkg
解决:输入指令安装 rospkg
sudo pip2 install rospkg
再次运行后,又报错
-
import rospy
-
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 49, in <module>
-
from .client import spin, myargv, init_node, \
-
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/client.py", line 60, in <module>
-
import rospy.impl.init
-
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/init.py", line 54, in <module>
-
from .tcpros import init_tcpros
-
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros.py", line 45, in <module>
-
import rospy.impl.tcpros_service
-
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 54, in <module>
-
from rospy.impl.tcpros_base import TCPROSTransport, TCPROSTransportProtocol, \
-
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 160
-
(e_errno, msg, *_) = e.args
-
^
-
SyntaxError: invalid syntax
需要将**/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py
** 的(e_errno, msg, *_) = e.args
改为(e_errno, msg) = e.args
具体方法:
cd opt/ros/noetic/lib/python3/dist-packages/rospy/impl
sudo gedit tcpros_base.py
此时会打开相应文档,按照报错找到相应行(如上述报错的 line 160),将原本的(e_errno, msg, *_) = e.args
改为(e_errno, msg) = e.args
此时再按照教程继续进行则不会再报错,实现键盘控制无人机,具体无人机键盘控制方法可以百度
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhffffak
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13