1.程序线程锁定问题的解决
ps -A | grep apt
sudo kill -9 2068
2.中文输入法按装(goolge pionyin)
(1)sudo apt-get install language-pack-zh-hans
(2)sudo apt-get install fcitx-googlepinyin
(3)打开SystemSettings-->Language Support,系统会进行语言包搜索,照系统提示安装语言包。
(4)如图所示,选择“键盘输入方式系统”为:fcitx。
(5)重启在settings-> Text Entry 里,添加输入源, 搜索 google-pinyin,添加。
3.重置ubuntu登录密码
(1)sudo passwd 用户名
(2)输入旧密码
(3)两次输入新密码
4.华为路由器密码:wuming1981531
5.ros环境刷新语句:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
6.20190225:最初在运行“roslaunch turtlebot_bringup minimal.launch”发现无法找到“turtlebot_bringup“和” minimal.launch”,其实因为少安装了相关软件,运行以下语句即可:
sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs ros-kinetic-turtlebot-simulator
7. kinect点亮过程:(前期按照以下步骤后正常之后安装了一些额外软件后出现点不亮现象,之后卸载ros从做了以下步骤kinect正常点亮)
(1)首先安装完整的ros-kinetic系统,参考:https://blog.csdn.net/jinking01/article/details/79387639
(2)之后按装turtlebot相关软件:
sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs ros-kinetic-turtlebot-simulator
(3)启动项加入文件echo "source /opt/ros/kinetic/setup.bash"
(4)进行刷新,或从新启动新的终端
source ~/.bashrc
(5)打开机器人:roslaunch turtlebot_bringup minimal.launch
打开kinect:roslaunch freenect_launch freenect-registered-xyzrgb.launch
进行RGB和深度图观察:rosrun image_view image_view image:=/camera/rgb/image_color
rosrun image_view image_view image:=/camera/depth_registered/image_raw
8.解决lock问题:sudo rm -rf /var/lib/dpkg/lock (/var/lib/dpkg/lock为lock对象)
libtiff4-dev
9.ORB-SLAM运行总结:
主要参考“在ROS中使用usb摄像头跑ORB SLAM2”,https://blog.csdn.net/goding_learning/article/details/52950993
主要参考“Ubuntu16.04+Ros+Usb摄像头跑ORB SLAM2”,网址:https://www.jianshu.com/p/dbf39b9e4617
主要参考“ORB-SLAM2的安装与运行(转)“,网址:https://www.imooc.com/article/details/id/29136
(1)”make[2]: *** [CMakeFiles/ORB_SLAM2.dir/src/Optimizer.cc.o] Error 1“错误解决:
打开Thirdparty/g2o/g2o/solvers/linear_solver_eigen.h,将以下代码
template <typename MatrixType>
class LinearSolverEigen: public LinearSolver<MatrixType>
{
public:
typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrix;
typedef Eigen::Triplet<double> Triplet;
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;
修改为:
template <typename MatrixType>
class LinearSolverEigen: public LinearSolver<MatrixType>
{
public:
typedef Eigen::SparseMatrix<double, Eigen::ColMajor> SparseMatrix;
typedef Eigen::Triplet<double> Triplet;
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, int> PermutationMatrix;
(2)”Undefined reference to symbol '_ZN5boost6system15system_categoryEv'“问题解决:
打开/home/nvidia/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/CMakeList.txt
修改如下:
set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
-lboost_system
)
(3)将“source ~/catkin_ws/devel/setup.bash”加入到.bashrc文件中去
(4)(自帶單目攝像頭的)运行程序
# 还是3个终端
$ roscore
$ roslaunch usb_cam usb_cam-test.launch
$ rosrun ORB_SLAM2 Mono ~/catkin_ws/src/ORB_SLAM2-master/Vocabulary/ORBvoc.txt ~/catkin_ws/src/ORB_SLAM2-master/Examples/ROS/ORB_SLAM2/Asus.yaml
(5)(數據集的運行,首先要將數據集下載到Datasets文件中,之後在SLAM的根目錄下運行)
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Datasets/rgbd_dataset_freiburg1_xyz
10.小车键盘控制
(1)roslaunch turtlebot_bringup minimal.launch
(2)roslaunch turtlebot_teleop keyboard_teleop.launch keyboard.launch(注意本文件的ros中版本名称和创客上的不同)
11.編譯ORBSLAM
# 编译ORB SLAM2
$ cd catkin_ws/src
$ git clone https://github.com/raulmur/ORB_SLAM2.git
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh #這兩句是關鍵
$ ./build_ros.sh
12.安裝QT相關問題
(1)安裝命令:”sudo apt-get install qt5-default qtcreator -y“
(2)配置編譯器:
”下面就开始进行gcc的配置,首先定位到Tools->Options->Build & Run->Compilers(全屏顯示QT之後才有tool),然后点击Add并选择GCC,在compiler path一栏,输入gcc地址:/usr/bin/gcc 。接下来修改ABI选项,将其依次修改为custom – arm – linux – generic – elf – 64 bit,完成后点击apply生效。“
(如果kit中的compiler一直無法顯示,可以刪除kit後重新建一個)
13.利用QT運行makelist.txt既可以才如cmake項目了,關鍵還是在makelist.txt中
14.在QT編譯和鏈接ORB-SLAM時最先出現了找不到“-lopen_cuda”的問題,在makelist.txt中前部分添加如下語句:
“set(CUDA_USE_STATIC_CUDA_RUNTIME OFF)”
15.爲了使QT具備單步調試功能,修改makelist.txt中,將
“SET(CMAKE_BUILD_TYPE Release)”改爲“SET(CMAKE_BUILD_TYPE Debug)”