双系统安装过程出大量问题,改为安装单系统,直接擦除磁盘安装即可,不需要额外进行磁盘分区。
1.首先禁用自带的nouveau驱动
sudo gedit /etc/modprobe.d/blacklist.conf
打开文件后在最后两行加上并保存
blacklist nouveau
options nouveau modeset=0
2.更新设置并重启
sudo update-initramfs -u
重启后验证是否已经禁用驱动,如下指令无输出则成功
lsmod | grep nouveau
3.把显卡驱动加入ppa
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
成功显示如图4.命令查看推荐的驱动版本
ubuntu-drivers devices
5.选择推荐版本使用命令直接安装
sudo apt-get install nvidia-430
完成后查看驱动
nvidia-smi 或 nvidia-settings
首先确认网卡芯片型号,插入网卡usb,使用命令lsusb
查看其ID,根据ID网上确认型号为8812BU
RTL8812BU网卡驱动安装
Tips:在设置输入法顺序时,原生英文键盘放在首位否则搜狗输入法会有乱码;全角输入时会导致直接输入英文的间隔很大(全角编码占两个字符)
Ros官网安装教程(ros-kinetic)
sudo rosdep init
命令报错解决方法:
修改hosts文件无效,原因在于连接github失败
采用rosdepc修改源gitee库解决
sudo pip install rosdepc
注意是pip3的库,下载后修改关键字即可
sudo rosdepc init
rosdepc update
Tips:sudo rosdep update
会导致权限混乱错误,只能使用rosep update
安装后测试终端教程
官网中文使用ros系列节点教程
1.第一个节点,ros master,roscore 启动与关闭指令
roscore
2.第二个节点,小海龟仿真器
rosrun turtlesim turtlesim_node
3.第三个节点,海龟控制节点(二三节点需要在不同终端打开(alt+shift+T))
rosrun turtlesim turtle_teleop_key
4.查看运行节点列表和信息
rosnode list
rosnode info [nodename]
1.创建并cd至工作空间
mkdir -p ~/catkin/src
cd ~/catkin/src
2.下载源码,在git clone时改用国内镜像(github.com.cnpmjs.org)以避免链接超时
git clone https://github.com.cnpmjs.org/tu-darmstadt-ros-pkg/hector_quadrotor.git
3.rosdep install --from-path . --ignore-src --rosdistro kinetic
安装依赖
(1)出现错误:
ERROR: Rosdep experienced an error: No module named roscdep2.meta
后续这个错误消失,出现未定位包错误
(2)修改命令至rosdep install --from-paths ~/catkin/src/hector_quadrotor --ignore-src -r
无效
通过apt-get install ros-kineic-[package name]
或apt-get install [package name]
无效
根据github页面问题#16尝试无效
(3)因为hector quadrotor已经不进行维护,其公共库中不包含所需依赖,需要自己根据错误去github上将所有缺失的对应包下载至目录中,完成后再catkin_make
4.catkin_make
编译部分
(1)出现如下种类错误,缺失配置文件
(2)根据报错用sudo apt-get install ros-kinetic-[package name]
下载,反复尝试直到出现新的错误:
(3)改用catin_make -j1
命令,只用一个线程运行方便定位错误,出现编译器错误:
(4)在realtime_tools包中的cmakelist中添add_compile_options(-std=c++11)
,新错误:
(5)可能是gazebo版本问题,更新gazebo仍然有,可能是hector_gazebo下错版本,重新下载kinetic版本解决
经过不断修改包的版本,在cmakelist文件中添加add_compile_options(-std=c++11)
,终于编译成功
5. demo运行部分(教程缺失的包很多,只参考其中的命令)
(1)source devel/setup.bash
配置环境
(2)运行demoroslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch
,会自动打开rviz和gazebo
(3) 运行roslaunch hector_quadrotor_demo indoor_slam_gazebo.launch
出错
根据[github上hector_slam下的问题85]描述,缺失的文件被转移到了另外一个目录(https://hub.fastgit.org/tu-darmstadt-ros-pkg/hector_slam/issues/85),直接将hector_slam目录下的hector_geotiff_launch/launch文件复制到hector_geotiff中解决
(4)rosservice call /enable_motors "enable: true"
启动控制服务命令rosrun teleop_twist_keyboard teleop_twist_keyboard.py
报错,新建一个终端,在catkin目录下输入source ~/catkin/devel/setup.bash
再执行上述命令
(5)hector_quadrotor/hector_quadrotor_controllers这个包总是会报错,重新在工作目录编译一次,出现如下问题,这种配置文件问题一般通过sudo apt-get install ros-kinetic-control-toolbox
解决
(6)编译成功,再次重复控制器步骤,可得提示界面如下,但是仍然无法操控