首页 > 编程知识 正文

路由openwrt安装docker,docker openwrt 旁路由

时间:2023-05-06 13:44:53 阅读:148249 作者:28

摘录: https://www.ngui.cc/51cto/show-23557.html

Ubuntu18.04下基于ROS和PX4的无人机仿真平台底层组态编程学习 2020/7/12 19:50:27 522巡阅

Ubuntu18.04下基于ROS和PX4的无人机仿真平台底层配置构建参考资料: https://www.Yu que.com/XT drone/manual _ cn/basic _ config _ 1.11

3359 blog.csdn.net/QQ _ 42585108/article/details/106781596

只是基于这两篇文章进行了总结和个人安装时的经验体会,中途可能会引用很多,如果侵权请联系删除。

系统Ubuntu18.04,从我刚安装的纯Ubuntu开始安装,一步到位,综合了一些网络上的构建方法和其中遇到的问题,把这些记录下来,方便大家和自己参考。 如果有错误就不欢迎指出来。

一.依赖安装1、

sudoaptinstall-yninja-buildexiftoolpython-arg parsepython-empypython-toml python-numpy python

pip installpandasJin ja2py serialCerberuspy ulognumpytomlpy quaternion 2,ROS安装可在ROS官方网站: 33

或教程: https://is mango.blog.csdn.net/article/details/106049992

注意: Ubuntu18.04直接安装所有。 (desktop-full为ROS Melodic时,选择desktop-full方式进行安装。 这将同时安装Gazebo9和感知相关库。 ) 16.04 ) ROSkinetic )如果不选择destop,将安装gazebo7

要稍后启动ROS,请执行以下操作:

roscore具有以下输出,指示安装成功:

. logging to /home/ro诚实汉堡/.ROS/log/a 5118 af0-5474-11ea-8b 86-e 454 e 828 c 524/rcheckinglogdirectoryfordiskusage.thismaytakeawhile.press ctrl-ctointerruptdonecheckinglogfilediskusage.usage is 1gb.sttttted 90336034223/ROS _ commversion1. 12.14 summary=====parameters */ROS distro 3360 k inning ROS version 33601.12.14 : startedwithpid [ 30244 ] ROS _ master _ uri=setting/run _ idtoa 5118 af0- 5474-11ea-8b 86-e 454 e 828 c 524 process

Gazebo的安装请参考官方网站:

http://gazebosim.org/tutorials? tut=install_ubuntucat=install

注意事项:

1 .备用安装:步骤- by-step选择安装方法

安装向导盒9

因为Gazebo本身独立于ROS,所以还必须安装ROS的Gazebo插件

sdoaptinstallros-kinetic-gaze bo9-*四、 MAVROS安装sudoaptinstallros-kinetic-mavrosros-kinetic-MAV ROS-extrasroscdmavroswget 3359 raw.github user content.cotic install _ geographic lib _ datasets.shsudochmodax./install _ geographic lib _ datasets.sh./install _ geographic lic lib

git clone https://github.com/PX4/Firmwaremv Firmware PX4_Firmwarecd PX4_Firmwaregit checkout -b xtdrone/dev v1.11.0-beta1git submodule update --init --recursive

安装必要的python依赖:

cd PX4_Firmware bash bash ./Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools

编译

make posix_sitl_default gazebo

修改 ~/.bashrc,加入以下代码,注意路径匹配

cd PX4_Firmwaresource ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_defaultexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmwareexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo

然后运行如下命令,此时会启动Gazebo,如下图所示。

cd ~/PX4_Firmwareroslaunch px4 mavros_posix_sitl.launch


并运行

rostopic echo /mavros/state

若connected: True,则说明MAVROS与SITL通信成功。

---header:seq: 11stamp:secs: 1827nsecs: 173000000frame_id: ''connected: Truearmed: Falseguided: Falsemanual_input: Truemode: "MANUAL"system_status: 3---

注意:
1.有条件的建议科学上网下载。GitHub上下载速度比较缓慢,还可能失败,我也尝试过修改网络什么的效果几乎没有,建议在git clone之前把GitHub上PX4源码的放到码云(gitee)上,码云的使用请大家自行搜索。
如果是把代码放到码云上下载,在更新子模块(git submodule update --init --recursive)中还是从GitHub上下载速度也是很慢,这个好像需要修改submodule,但是我还不知道如何操作,若有大神希望指导一下。
2.make px4_sitl_default gazebo这个过程可能比较考验电脑内存,我电脑有几次CPU都是100%运行,而且停下卡住
情况可能如下:

[11/33] Building CXX object CMakeFiles...plugin.dir/src/gazebo_uuv_plugin.cpp.oFAILED: /usr/老实的汉堡/c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -Dgazebo_uuv_plugin_EXPORTS -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtCore -isystem /usr/include/gazebo-7 -isystem /usr/include/sdformat-4.4 -isystem /usr/include/ignition/math2 -isystem /usr/include/OGRE -I/home/weiweu/PX4_Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-7/gazebo/msgs -I/home/weiweu/PX4_Firmware/mavlink/include -I/usr/include/OGRE/Paging -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv -I/home/weiweu/PX4_Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/lib/x86_64-linux-gnu/gstreamer-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC -std=gnu++14 -MMD -MT CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o -MF CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o.d -o CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o -c /home/weiweu/PX4_Firmware/Tools/sitl_gazebo/src/gazebo_uuv_plugin.cppc++: internal compiler error: 已杀死 (program cc1plus)Please submit a full bug report,with preprocessed source if appropriate.See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.[11/33] Building CXX object CMakeFiles...dir/src/gazebo_mavlink_interface.cpp.oninja: build stopped: subcommand failed.[2/5] Generating ../../logsFAILED: cd /home/weiweu/PX4_Firmware/build/px4_sitl_default/build_gazebo && /usr/老实的汉堡/cmake --build .ninja: build stopped: subcommand failed.Makefile:198: recipe for target 'px4_sitl_default' failedmake: *** [px4_sitl_default] Error 1

可以尝试先增加临时swap空间,再执行make px4_sitl_default gazebo指令

#注释:of=/home/swap,放置swap的空间; count的大小就是增加的swap空间的大小,64M就是块大小,这里是64MB,所以总共空间就是bs*count=1024MB.这里分配空间的时候需要一点时间,等待执行完毕。sudo dd if=/dev/zero of=/home/swap bs=64M count=16 #注释:把刚才空间格式化成swap各式sudo mkswap /home/swap (可能会提示warning: don't erase bootbits sectorson whole disk. Use -f to force,不用理会)#注释:使刚才创建的swap空间sudo swapon /home/swap

3.在最后一个指令(make px4_sitl_default gazebo)运行时可能出现如下错误:

解决方法:

sudo apt-get install libgstreamer-plugins-base1.0-dev

4.运行时可能会出现如下状况:

这些报错和警告并不影响使用,可以直接无视。

5.第一次运行时进程比较缓慢,gazebo可能有一段时间黑屏,其实这是在初始化,请耐心等待一下,后面的情况也如此。

六、QGC地面站安装

安装链接:https://docs.qgroundcontrol.com/en/getting_started/download_and_install.html
启动后,将出现下图 所示画面。注意Ubuntu16.04没法直接使用QGroundcontrol 版本4系列(可以使用版本3系列),Ubuntu16.04需要源码编译版本4系列,请仔细查看安装链接。

七、XTDrone源码下载 git clone https://gitee.com/ro老实的汉堡_shaun/XTDrone.gitcd XTDronecp 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/modelscp -r sitl_config/models/* ~/.gazebo/models/cp sitl_config/launch/* ~/PX4_Firmware/launch/#如果之前没有catkin_ws,需要建立一下,之后的教程会用到mkdir -p ~/catkin_ws/srcmkdir -p ~/catkin_ws/scripts

注意:cp -r sitl_config/models/* ~/.gazebo/models/ 这一步可能出现如下情况:

可以暂时先不要管,继续进行后面的步骤,编译后再进行尝试可能就成功了。

八、用键盘控制无人机飞行

在一个终端运行

cd ~/PX4_Firmwareroslaunch px4 indoor1.launch

Gazebo启动后,在另一个终端运行

cd ~/XTDrone/communication/python multirotor_communication.py iris 0

与0号iris建立通信后,在另一个终端运行

cd ~/XTDrone/control/python multirotor_keyboard_control.py iris 1 vel

成功后如图所示
可以通过键盘控制1架iris的解锁/上锁,修改飞行模式,飞机速度等。使用t起飞利用的是takeoff飞行模式,相关参数(起飞速度、高度)要在rcS中设置。一般可以使用offboard模式起飞,这时起飞速度要大于0.3m/s才能起飞。
到此,仿真平台基础配置完成
注意:执行roslaunch px4 indoor1.launch指令时可能会发生如下错误:
目前我无法解决这个问题,原作者说可能是三维激光雷达的问题,据说把
gazebo9升到11可以解决,我还没有进行尝试

参考网页:
[1]: https://www.yuque.com/xtdrone/manual_cn/basic_config_1.11
[2]: https://blog.csdn.net/qq_42585108/article/details/106781596

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。