赞
踩
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
注:此步可能会遇到失败现象,如:换源问题!!!可在图中位置进行换源操作!!!
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
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
注: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'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
如下图所示:
sudo apt update
sudo apt install ros-noetic-desktop-full
- echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
- source ~/.bashrc
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo pip3 install rosdepc
- sudo rosdepc init
- rosdepc update
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
roscore
正常运行图!!!
当!当!
sudo apt install python3-catkin-tools
mkdir -p ~/catkin_ws/src
mkdir -p ~/catkin_ws/scripts
cd catkin_ws
catkin init
运行上述代码如下图所示:
catkin build
注:之前未catkin_ws过是用catkin_ws,如若用过则要改其名称要不会冲突!!!
运行成功后如下图:
sudo apt-get remove gazebo*
sudo apt-get remove libgazebo*
sudo apt-get remove ros-noetic-gazebo*
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
cat /etc/apt/sources.list.d/gazebo-stable.list
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
3.2.4
sudo apt-get update
sudo apt-get install gazebo9
sudo apt-get install libgazebo9-dev
gazebo
安装成功后的界面!!!
当!当!会弹出gazebo的界面
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
/catkin_ws/src
下cd ~/catkin_ws/src
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git
cd ~/catkin_ws
catkin build
注:在进行到3.2.9.2可能会出现错误可使用第二套方案
git clone https://gitee.com/robin_shaun/XTDrone.git
注:执行此步骤可能会出现下图所示问题
解决方法:按照图中提示直接sudo apt install git 即可
cd XTDrone
git submodule update --init --recursive
cd ~/catkin_ws
cp -r ~/XTDrone/sitl_config/gazebo_ros_pkgs src/
catkin build
若出现下面这样的错误:
AttributeError: module 'em' has no attribute 'RAW_OPT'
执行下面这段代码即可。
- pip3 uninstall empy
- pip3 install empy==3.3.4
roscore
source ~/catkin_ws/devel/setup.bash
在如图位置进行添加
rosrun gazebo_ros gazebo
最终成功如下图所示:
可在我的资源中进行下载,将该附件解压缩后放在~/.gazebo
中,此时在~/.gazebo/models/如图所示位置
sudo apt install ros-noetic-mavros ros-noetic-mavros-extras
wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
成功安装如下图所示结果
当!当!
注:可能会安装失败 ,解决办法按照对应失败提示,进行对应包的安装即可!!!
git clone https://github.com/PX4/PX4-Autopilot.git
mv PX4-Autopilot PX4_Firmware
cd PX4_Firmware
git checkout -b xtdrone/dev v1.13.2
git submodule update --init --recursive
make px4_sitl_default gazebo
。
下载后按照如下代码操作:
cd PX4_Firmware
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界面,将其关闭即可。如图所示:
- 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
写在如图所示位置:
source ~/.bashrc
cd ~/PX4_Firmware
roslaunch px4 mavros_posix_sitl.launch
出现如图所示证明安装完成!!!
当!当!
rostopic echo /mavros/state
若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
- ---
若结果下图所示:
莫慌!!!
接着操作即可
- chmod +x ./QGroundControl.AppImage
- ./QGroundControl.AppImage
运行结果:
sudo usermod -a -G dialout $你的ID$
sudo apt-get remove modemmanager
以我自己为例,如下图所示:
地面站安装成功如图:
cd XTDrone
git submodule update --init --recursive
cp sensing/gimbal/gazebo_gimbal_controller_plugin.cpp ~/PX4_Firmware/Tools/sitl_gazebo/src/
cp sitl_config/init.d-posix/rcS ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/
cp sitl_config/worlds/* ~/PX4_Firmware/Tools/sitl_gazebo/worlds/
cp -r sitl_config/models/* ~/PX4_Firmware/Tools/sitl_gazebo/models/
cp -r sitl_config/launch/* ~/PX4_Firmware/launch/
cd ~/.gazebo/models/
rm -r stereo_camera/ 3d_lidar/ 3d_gpu_lidar/ hokuyo_lidar/
执行完如下图所示:
执行如下代码:
- cd ~/PX4_Firmware
- make px4_sitl_default gazebo
注:可能出现如下错误
解决办法:
执行下述代码:
git submodule update --init --recursive
make clean
再运行 make px4_sitl_default gazebo 即可!!!
编译成功出现下图:
此步骤需开三个终端:
- cd ~/PX4_Firmware
- roslaunch px4 indoor1.launch
注:可能会报出下图所示的错误:
解决办法:用ctrl+c关闭仿真进程,有可能没有把Gazebo的相关进程关干净,这样再启动仿真时可能会报错。如果出现这种情况,可以用killall -9 gzclient,killall -9 gzserver 这两个命令强行关闭gazebo所有进程。
注:要等 Gazebo 完全启动后,在另一个终端运行(注意要等Gazebo完全启动完成,或者可能脚本会报错)如下图所示:
输入下述代码:
- cd ~/XTDrone/communication/
- python3 multirotor_communication.py iris 0
输入下述代码:
- cd ~/XTDrone/control/keyboard
- python3 multirotor_keyboard_control.py iris 1 vel
最终出现下图:
到此安装结束!!!完结撒花!!!
写在最后的一段话:你可能在安装的过程中没遇到我遇到的问题,很顺利就安装成功了!!!那么祝贺你幸运儿!!!当然!你更有可能是遇到了比我更多的问题,不要慌慢慢安,实在没有解决办法就卸载重安,想安装上一定能安装上的。加油!!!我安装 XTdrone 时也几近崩溃,当然,最终的结果是安装成功了,当然这只是第一步。以后还有应用。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。