ubuntu16.04下ros kinetic安装及hector_quatrotor安装运行

ubuntu16.04下ros kinetic安装及hector_quatrotor安装运行

  • 一、前置准备
    • 1.安装Ubuntu16.04(虚拟机)
    • 2.注意事项
      • (1):安装时的硬件参数设置
      • (2):打开ubuntu16.04
      • (3):初步设置(第一次开机后)
  • 二、ros kinetic安装
    • 1.安装ros kinetic
    • 2.检测安装
    • 3.运行gazebo
  • 三、hector_quatrotor安装运行
    • 1.安装hector_quatrotor
    • 2.gazebo7更新
    • 3.起飞
  • 四、快照

一、前置准备

1.安装Ubuntu16.04(虚拟机)

安装教程什么的网上有很多,我就不说了,只写几点要注意的:

2.注意事项

(1):安装时的硬件参数设置

  • 英语不好,中文界面

  • 内存------2G以上(我是4,可以运行gazebo时不那么卡)

  • 处理器–根据机器尽量数据好点

  • 硬盘-----100G以上(我给了240,同上)

  • 网络适配器–NAT(其他模式好像经常有问题,如果这个也有问题,建议先检查网络连接,再重启电脑,实在不行重装,实践过,重装可以解决)

  • 显示器–关掉加速3D图形(不关的话运行gazebo会报错)

(2):打开ubuntu16.04

  • 开着流量让它进度条跑着就行,玩玩手机,估计得1小时左右

  • 提示重启,会黑屏并显示让拔除驱动器,直接在虚拟机控制界面关闭客户机,
    ubuntu16.04下ros kinetic安装及hector_quatrotor安装运行_第1张图片
    然后<编辑虚拟机设置> — 关闭启动时连接

(3):初步设置(第一次开机后)

  • 提示更新的都更新一下
  • 到设置里面把常用的都固定到启动器 方法:打开软件界面–右侧启动栏–右键
  • 更换下载源,ros下载快(重要) 方法: 打开软件与更新–中国的服务器–其他站点–建议阿里aliyun和清华tsinghua ,等更新,如果一直卡在更新开始的进程,重装虚拟机吧,我也没办法
  • 打开终端命令ctrl+alt+t,固定到启动器,有点用
  • 火狐浏览器,首选项–搜索设置为百度,或者去Ubuntu软件里下一个chromium(chrome linux版)
  • 懒得下搜狗,去设置里把输入法改一下就行,再改一下切换键位就好了
  • 快照(每一个重要软件安装后都要做!!!–新手)
  • 安装tools ,大界面,可以与windows互传文件,拖动就行(运行很多程序时就不要作死了,会卡死的,最好提前传,如果卡死了,虚拟机关机重启,如果不行,电脑关机重启),使用方便
sudo apt-get install open-vm-tools
  • 快照(记得编写序号,方便恢复)!!然后重启虚拟机

二、ros kinetic安装

  • 写在前面:最好用手机热点,最好照着官网安装

  • ros官网

1.安装ros kinetic

  • 软件源
sudo sh -c'echo“ deb http://packages.ros.org/ros/ubuntu $ {lsb_release -sc)main”> /etc/apt/sources.list.d/ros-latest.list'
  • 安装密钥
sudo apt-key adv --keyserver'hkp://keyserver.ubuntu.com:80'--recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  • 更新索引(这里出问题,去官网找最新的密钥)
sudo apt-get update
  • 安装桌面完全版(最好)
sudo apt-get install ros-kinetic-desktop-full

如果报错有没有下载完的包,执行

sudo apt-get update

然后再执行

sudo apt-get install ros-kinetic-desktop-full
  • 配置环境
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc  


source ~/.bashrc
  • 安装依赖
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
  • 为初始化做准备
sudo apt install python-rosdep
  • 初始化
sudo rosdep init      //这里容易出错,网上有教程

rosdep update

到此安装成功

2.检测安装

  • 第一个终端

启动ros master

roscore

ubuntu16.04下ros kinetic安装及hector_quatrotor安装运行_第2张图片
如图,则运行成功

  • 第二个终端

启动小海龟仿真器

rosrun turtlesim turtlesim_node

出现小海龟

  • 第三个终端

启动海龟控制节点

rosrun turtlesim turtle_teleop_key

鼠标停在此终端,按上下左右键,控制小海龟

  • 在各终端按 ctrl +c 结束进程

3.运行gazebo

切记:手机热点
打开终端

gazebo

然后等着,一定要等,其他的方法有风险,这个是在从国外的网站加载基础模型(貌似),会特别慢,开着热点等着就行了,
ubuntu16.04下ros kinetic安装及hector_quatrotor安装运行_第3张图片
这个界面出现就OK了,也就是那个橙色的启动框消失。

终端按 ctrl +c ,然后再试一次,这次启动会很快,如果没问题。

快照!!

三、hector_quatrotor安装运行

1.安装hector_quatrotor

参考博文:
hector_quadrotor在ROS(Kinetic)下的安装

  • (1)创建工作空间
mkdir  -p  ~/catkin/src       //catkin是工作空间名    src是代码或功能包文件夹
  • (2)下载源码
cd ~/catkin/src
 
git clone https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor.git
  • (3)安装依赖
cd hector_quadrotor

rosdep install --from-path . --ignore-src --rosdistro kinetic
  • (4)编译工作空间
cd ~/catkin

catkin_make
  • (5)配置环境
source devel/setup.bash

可以选择性的将source /home/用户名/catkin/devel/setup.bash添加到~/.bashrc启动文件中。

  • (6)安装键盘控制程序
sudo apt-get install ros-kinetic-teleop-twist-keyboard
  • (7)开始仿真

在catkin文件夹下打开终端,运行launch
方式一:室内环境

roslaunch hector_quadrotor_demo indoor_slam_gazebo.launch

方式二:室外环境

roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch

等一会儿会出现rviz和gazebo的仿真界面,不过等会儿就会报错,并且
在另一终端运行

rosservice call /enable_motors "enable: true"

也会找不到服务,
运行

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

也无法按 t 起飞
这只是为了验证hector_quadrotor安装成功。

  • (8)改变摄像头朝向
hector_quatrotor/hector_quadrotor_description/urdf/quadrotor_hokuyo_utm30lx.urdf.xacro

  
    
    
      
    
    
    修改      
     xyz="0.0 0.0 0.0"为相机在XYZ轴的位置
     rpy="0 0 0"为相机绕XYZ轴旋转的角度(弧度值表示)
     给定参数,确定相机朝向

2.gazebo7更新

参考博文
gazebo 7.0 升级到7.15 参考他人博客

以上问题都是由于ros-kinetic-desktop-full自带的gazebo版本过低导致的(我浪费了好多天)
按照以下步骤,升级gazebo7

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

sudo apt-get update

sudo apt-get install gazebo7 gazebo7-common

升级结束,再安装一个包(报错:fatal error: ignition/math/Inertial.hh: No such file or directory)

sudo apt-get install libignition-math2-dev

3.起飞

第一个终端
运行launch(二选一)

第二个终端

rosservice call /enable_motors "enable: true"

显示 “true”

起飞方式1(已安装ros-kinetic-teleop-twist-keyboard):
在第二个终端下继续运行

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

按照说明即可

起飞方式2(不需要ros-kinetic-teleop-twist-keyboard):
在第二个终端下继续运行

rostopic pub /cmd_vel geometry_msgs/Twist

按tab 还是回车我忘了
然后修改参数即可起飞

四、快照

关闭所有界面,拍摄快照,序号、题目、说明。

你可能感兴趣的:(四旋翼,gazebo,无人机)