备份之前ubuntu里面安装程序的一些小东西
GPS 可以为无人机提供较为准确的位置信息,但是某些时候可能会没有 GPS 信号,或者 GPS 信号不够稳定;比如说桥下,室内以及高楼林立的城市内。那么为了能够允许无人机在这些环境中飞行,我们需要提供其它位置估计手段,比如说SLAM。SLAM使用摄像头作为其主要传感器,传感器可以是单目摄像头,双目摄像头以及RGBD深度摄像头。这几种摄像头有着其对应的优缺点;比如说单目摄像头虽然价格低,体积小,但是它需要其它传感器的辅助,否则无法计算环境深度,也就没有办法为SLAM提供尺度信息;双目摄像头可以通过三角测量提供景深,但是计算量较大,并且需要良好标定;RGBD深度相机可以主动测距,但是对于环境较为敏感,测量距离受限,噪声较大,同时对于阳光以及玻璃等环境下无法正常工作。
usb_cam-test.launch中添加一句话,将话题由usb_cam/image_raw改为camera/image_raw
ROS_NAMESPACE=/camera/right rosrun image_proc image_proc image_raw:=image_raw
问题描述:安装ORB_SLAM2时编译“./build_ros.sh”时出现上述报错。
libboost_system.so: error adding symbols: DSO missing from command line
解决办法:在Examples/ROS/ORB_SLAM2/Cmakelist.txt 的文件后面加入两句话:
target_link_libraries(Stereo boost_system boost_filesystem)
target_link_libraries(RGBD boost_system boost_filesystem)
ORB-SLAM2算法流程清晰、代码简洁易读,包含了常见SLAM系统的所有模块:跟踪(Tracking)、局部建图(LocalMapping)、闭环检测(Loop closing);同时支持单目、双目(标定后)、RGB-D方式,即使对于剧烈运动也有很好的鲁棒性,是基于特征点的SLAM系统的经典算法,十分值得学习和借鉴。但是同样有一些局限之处:
1.无法用于导航和避障
ORB-SLAM2算法基于特征点法,构建的地图是稀疏的三维点云,而想要用于导航和避障任务,则需要重建稠密地图才行,因此ORB-SLAM2主要应用于定位和稀疏重建,而无法应用于导航和避障场景。
2.无法保存和加载地图
ORB_SLAM2源码中没有提供保存和加载地图功能,定位和建图也只能实时在线运行,即使是重定位也是在线的,无法离线保存、加载地图。
显示不了topic报frame 、transform之类错误,就有两个办法,
1.把global fixed frame设成topic自己所在的坐标系,按照上图的显示,应该改为tramcar;
2.用tf包工具发布global fixed frame到topic所在坐标系的tf关系,例如:
rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map /camera_link 100 ;//将xxx映射为map
rostopic echo /aruco_single/pose
发布2D导航坐标点:(只能设置 xy z的坐标是默认高度2.5)
rostopic pub /move_base_simple/goal geometry_msgs/PoseStamped ‘{header: {stamp: now, frame_id: “map”}, pose: {position: {x: 1.0, y: 0.0, z: 0.0}, orientation: {w: 1.0}}}’
rosrun ORB_SLAM2 Mono /home/sch/ros_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/sch/ros_ws/src/ORB_SLAM2/Examples/Monocular/TUM1.yaml
编译报错解决方案 error: ‘make_unique’ is not a member of ‘g2o’
运行魔改的GAAS的SLAM
1.opencv需要3.4.5
2.g2o需要最新版本
3.相机格式需要使用灰度图L8
$ urdf_to_graphiz mobot.urdf 以图形的方式可视化模型结构
$ roslaunch gazebo_ros empty_world.launch 构建一个空的gazebo仿真环境
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py键盘控制(通过订阅Twist消息类型)
$ rosrun camera_calibration cameracalibrator.py --size 7x6 --square 0.01 right:=/stereo_camera/right/image_raw left:=/stereo_camera/left/image_raw right_camera:=/stereo_camera/right left_camera:=/stereo_camera/left --fix-principal-point --fix-aspect-ratio --zero-tangent-dist立体相机标定工具
1.更新gcc到5.0
添加软件源
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gcc-5 g+±5
gcc5更新链接
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 53
–slave /usr/bin/g++ g++ /usr/bin/g+±5
–slave /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-5
–slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-5
–slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-5
查看版本
gcc -v
2.安装openGL
安装OpenGL Library
$ sudo apt-get install libgl1-mesa-dev
安装OpenGL Utilities
OpenGL Utilities 是一组建构于 OpenGL Library 之上的工具组,提供许多很方便的函式,使 OpenGL 更强大且更容易使用。
$ sudo apt-get install libglu1-mesa-dev
安装OpenGL Utility Toolkit
OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了强化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 对于视窗介面支援。
$ sudo apt-get install libglut-dev
注意:但是在这一步时,我出现了以下情况:
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package libglut-dev
修改:(改成以下命令)
$ sudo apt-get install freeglut3-dev
3.eigen3.2安装
1)在INSTALL文件所在的文件路径新建一个文件夹如build
2)进入build
3)cmake …
4)make
5)sudo make install
3.orbslam2安装依赖oangolin时 选择0.4版本
4.安装opencv3.2
mkdir relase,
cd relas
第六步:cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local …
第七步:编译并安装
make
sudo make install
第八步:在/etc/ld.so.conf中添加 安装在/usr/local/的opencv动态链接库
sudo vim /etc/ld.so.conf
直接写:/usr/local/lib
第九步:设置头文件全局有效
sudo vim /etc/profile
添加:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
5.编译orbslam2 ros时,先export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/wnw/Projects/ORB_SLAM2-master/Examples/ROS
6.安装Kinect V1 驱动
sudo apt-get install libfreenect-dev
sudo apt-get install ros-indigo-freenect-launch
可以通过 roslaunch freenect_launch freenect.launch 验证kinect驱动是否安装成功;
rostopic list查看ORB-SLAM2需要的两个topic: /camera/rgb/image_raw /camera/depth_registered/image_raw
7.orbslam2 ros配置launch文件
5. 配置launch文件
在解压后的ORB-SLAM2的根目录下新建文件kinect_orbslam2.launch , 其内容为(根据需要,红色字体改为对应的路径,其他的无需修改):
运行ORB-SLAM2
cd ORB-SLAM2
./build.sh
roslaunch kinect_orbslam2.launch
6.修改usb_cam-text.launch
7.安装libfreenect时,需要更新cmake到3.X版本
#增加ppa源 sudo add-apt-repository ppa:george-edison55/cmake-3.x #更新源 sudo apt-get update #安装 sudo apt-get install cmake #删除添加的源 sudo add-apt-repository --remove ppa:george-edison55/cmake-3.x sudo apr-get update
8.安装NVIDIA驱动
alt+ctrl+F1 sudo init3
sudo service lightdm stop
sudo sh ./N…
9.安装cartographer
Install wstool and rosdep
$sudo apt-get update
$sudo apt-get install -y python-wstool python-rosdep ninja-build
$mkdir catkin_ws
$cd catkin_ws wstool
$init src
$wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
$wstool update -t src
$rosdep init rosdep update
rosdepinstall−−from−pathssrc−−ignore−src−−rosdistro=rosdep install --from-paths src --ignore-src --rosdistro=rosdepinstall−−from−pathssrc−−ignore−src−−rosdistro={ROS_DISTRO} -y
catkinmakeisolated−−install−−use−ninjasourceinstallisolated/setup.bash报错:Unrecognizedsyntaxidentifier"proto3".Thisparseronlyrecognizes"proto2".解决办法:更新protobuf:catkin_make_isolated --install --use-ninja source install_isolated/setup.bash 报错:Unrecognized syntax identifier "proto3". This parser only recognizes "proto2". 解决办法:更新protobuf:catkinmakeisolated−−install−−use−ninjasourceinstallisolated/setup.bash报错:Unrecognizedsyntaxidentifier"proto3".Thisparseronlyrecognizes"proto2".解决办法:更新protobuf: which protoc 找到上个版本的执行文件protoc地址然后到那里用 sudorm−rfprotoc到GitHub下载Protobuf3.5.0然后sudo rm -rf protoc 到GitHub下载Protobuf 3.5.0 然后sudorm−rfprotoc到GitHub下载Protobuf3.5.0然后sudo apt-get install autoconf automake libtool curl make g++ unzip
$./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.
检查protobuf版本: $ protoc --version
10.安装tensorflow1.8
更新pip
$sudo pip install tensorflow-gpu==1.8 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install tf-nightly-gpu
$sudo pip install tensorflow-gpu
11.安装caffe
需要英伟达显卡+cuda8+cudnn6
安装cudnn时 记得加权限 $sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
12.Ubuntu编译找不到eigen3的解决方法
在主文件夹下直接查找FindEigen3.cmake文件,然后把它复制到报错的CMakeLists.txt对应的路径下,在CMakeLists.txt中添加
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
include_directories($ {EIGEN3_INCLUDE_DIRS})
然后重新编译就好.
更换无人机模型连接不上qgc:更新SDF中mavlink的插件
备份之前ubuntu里面安装程序的一些小东西相关推荐
- sony手机刷linux,Ubuntu Touch安装器现已支持一加3和索尼Xperia X智能机
尽管 Canonical 官方已放弃 Ubuntu Touch 移动操作系统,但第三方开发者仍在积极提供定期的 OTA 更新和功能改进.今日,UBports 开发者 Marius Gripsgard ...
- 如何使用APTonCD备份和还原已安装的Ubuntu软件包
APTonCD is an easy way to back up your installed packages to a disc or ISO image. You can quickly re ...
- 再生龙给分区安装linux,用Clonezilla再生龙备份还原UBUNTU(LINUX)系统分区(可以备份MAC系统分区)...
苹果系统的分区备份问题总算解决了 用Clonezilla再生龙备份还原UBUNTU(LINUX)系统分区 去官方网站http://clonezilla.org/点击左面download 找到Alter ...
- ubuntu下firefox中,直接在网页上安装程序的方法
我不知道别人是怎么做的,反正这个问题恶心死了. ubuntu下安装软件,一般都是gogole到一个页面,然后上面告诉你把下面的代码输入到ternimal. sudo apt-add-repositor ...
- Ubuntu安装程序出现“Sub-process usrbindpkg returned an error code (1)”的问题
Ubuntu安装程序出现"Sub-process /usr/bin/dpkg returned an error code (1)"的问题 解决方法**: sudo可要可不要,自行 ...
- ubuntu 重装系统备份数据 ubuntu安装kde桌面
1 ubuntu 重装系统备份数据 因为某些原因例如把Ubuntu系统玩挂了诸如此类的原因而需要重装Ubuntu,只要/home是挂载在独立的分区下,并且重装Ubuntu时没有格式化/home,那 ...
- 解决安装ubuntu时,出现安装程序向硬盘复制文件时遇到的错误
问题描述: 使用U盘安装ubuntu系统时,出现 安装程序向硬盘复制文件时遇到错误: [Errno 5] Input/output error 此个别错误往往由有缺陷的CD/DVD光盘或CD/DVD驱 ...
- ubuntu下安装大恒相机驱动并调用程序采集图像
一.ubuntu下安装大恒相机驱动 1.大恒GigE摄像头Ubuntu环境下的配置 大恒GigE摄像头Ubuntu环境下的配置 - Tzbubble - 博客园 2.官方的Linux版SDK常见问题解 ...
- xmanagr 注册机执行ubuntu 桌面程序,ubuntu无需安装 桌面环境
xmanagr 注册机执行ubuntu 桌面程序,ubuntu无需安装 桌面环境 Xshell 5 注册码: 690313-111999-999313 Xftp 5 注册码:101210-450789 ...
最新文章
- NC:多样性激发的确定性细菌装配过程限制了群落功能
- VSS2005 添加文件夹方法!
- InfluxDB配置文件详解
- 学法减分小程序可用可运营源码附带安装教程
- Stateflow历史节点的使用
- Windows10下安装原生TensorFlow GPU版
- 计算机联机玩游戏的操作方法,3种建立局域网的方式,不用网也可以联机玩游戏-局域网设置...
- IADS Revision Note 1: Asymptotic Notations
- NO32、把数组排成最小的数(很好的一道题)
- 券商理财和银行理财的不同
- ORA12514问题
- 高性能ORM数据访问组件Deft,比dapper快20%以上
- 也谈谈我对腾讯“抄袭”的认识
- 升级电脑系统或者重装WIN10后,PADS软件卡死
- VCSA 6.7.U3n 离线打补丁
- 人生是一场秋花的盛开
- iOS 项目源码大全 github 国内外大神
- 基于人脸面部检测的口罩识别系统
- 什么是CISP-PTE证书?考什么?
- 损失函数(Loss)
热门文章
- Labelimg标注工具汉化及32位、64位可执行exe文件下载
- 报告平台模板html,一个易用的HTML测试报告模板
- 网络监控神器!这7大免费开源工具可别错过
- CODE 薄膜分析设计软件
- http隐蔽隧道搭建
- “三天打鱼俩天晒网”
- V8、JSCore、Hermes、QuickJS,hybrid开发JS引擎怎么选
- 小米二手手机回收价格表
- 毕业设计-基于Unity的餐厅经营游戏的设计与开发(附源码、开题报告、论文、答辩PPT、演示视频,带数据库)
- 为影驰主板运行Windows11开启fTPM2.0(Intel PTT)可信计算支持