Ubuntu16.04下ROS配置

ubuntu16.04配置Ros和hector quadrotor

一.ubuntu系统安装与配置

双系统安装过程出大量问题,改为安装单系统,直接擦除磁盘安装即可,不需要额外进行磁盘分区。

二.驱动安装及其更新源配置

1.N卡显卡驱动:

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

成功显示如图Ubuntu16.04下ROS配置_第1张图片4.命令查看推荐的驱动版本
ubuntu-drivers devices
Ubuntu16.04下ROS配置_第2张图片5.选择推荐版本使用命令直接安装
sudo apt-get install nvidia-430
完成后查看驱动

nvidia-smi 或 nvidia-settings 

2.无线网卡驱动

首先确认网卡芯片型号,插入网卡usb,使用命令lsusb查看其ID,根据ID网上确认型号为8812BU

RTL8812BU网卡驱动安装

3.搜狗拼音配置

Tips:在设置输入法顺序时,原生英文键盘放在首位否则搜狗输入法会有乱码;全角输入时会导致直接输入英文的间隔很大(全角编码占两个字符)

三. ROS配置主要参考教程

1.节点测试

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]
Ubuntu16.04下ROS配置_第3张图片

2.运行gazebo

1.gazebo,等待加载
Ubuntu16.04下ROS配置_第4张图片

3.hector_quatrotor安装编译 !!! 过程错误,仅记录参考

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)出现如下种类错误,缺失配置文件
Ubuntu16.04下ROS配置_第5张图片

(2)根据报错用sudo apt-get install ros-kinetic-[package name]下载,反复尝试直到出现新的错误:
Ubuntu16.04下ROS配置_第6张图片
(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),终于编译成功
Ubuntu16.04下ROS配置_第7张图片 5. demo运行部分(教程缺失的包很多,只参考其中的命令)
(1)source devel/setup.bash配置环境

(2)运行demoroslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch,会自动打开rviz和gazebo


Ubuntu16.04下ROS配置_第8张图片

(3) 运行roslaunch hector_quadrotor_demo indoor_slam_gazebo.launch出错
Ubuntu16.04下ROS配置_第9张图片根据[github上hector_slam下的问题85]描述,缺失的文件被转移到了另外一个目录(https://hub.fastgit.org/tu-darmstadt-ros-pkg/hector_slam/issues/85),直接将hector_slam目录下的hector_geotiff_launch/launch文件复制到hector_geotiff中解决
Ubuntu16.04下ROS配置_第10张图片
(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)编译成功,再次重复控制器步骤,可得提示界面如下,但是仍然无法操控
Ubuntu16.04下ROS配置_第11张图片

你可能感兴趣的:(ubuntu,linux)