zoukankan      html  css  js  c++  java
  • ROS-by-example的安装

    在这里我之前用的VM12安装成功之后,仿真器机器人会有问题,故把电脑做成双系统的形式来重新安装;

    环境:Ubuntu14.04 LTS 32bits

    ROS版本:ROS Indigo

    在学习本部分之后的内容,请先学习 beginner_Tutorialslearning_tfROS 相关教程。

    下面是安装准备

    1、在下载机器人程序包之前,我需要先安装一些必要的软件包。直接执行下面的命令进行安装:
    注意:如果你还没有使用 ROS 的国内镜像网站,请先配置相关文件。将 ROS 的下载网站设置为国内镜像网站。参考网站:http://blog.csdn.net/github_35160620/article/details/52337181,这里面有讲:如何设置软件源配置文件。)

     sudo apt-get install -y ros-indigo-turtlebot-bringup 
      ros-indigo-turtlebot-create-desktop ros-indigo-openni-* 
      ros-indigo-openni2-* ros-indigo-freenect-* ros-indigo-usb-cam 
      ros-indigo-laser-* ros-indigo-hokuyo-node 
      ros-indigo-audio-common gstreamer0.10-pocketsphinx 
      ros-indigo-pocketsphinx ros-indigo-slam-gmapping 
      ros-indigo-joystick-drivers python-rosinstall 
      ros-indigo-orocos-kdl ros-indigo-python-orocos-kdl 
      python-setuptools ros-indigo-dynamixel-motor-* 
      libopencv-dev python-opencv ros-indigo-vision-opencv 
      ros-indigo-depthimage-to-laserscan ros-indigo-arbotix-* 
      ros-indigo-turtlebot-teleop ros-indigo-move-base 
      ros-indigo-map-server ros-indigo-fake-localization 
      ros-indigo-amcl git subversion mercurial
    

    ros-by-example包 提供了2个测试用的模拟机器人:TurtleBotPi Robot

    2、在必要软件安装好之后,下载rbx1.

    $ cd ~/catkin_ws/src
    $ git clone https://github.com/pirobot/rbx1.git
    $ cd rbx1
    $ git checkout indigo-devel
    $ cd ~/catkin_ws
    $ catkin_make
    $ source ~/catkin_ws/devel/setup.bash
    $ rospack profile

    在ROS By Example包中都是以rbx1开头,使用如下命令

    roscd rbx1
    cd ..
    ls -F

    3、为了能在一个模拟的机器人上测试我们的代码,下面来安装模拟器

    1)什么是rviz

    rvizThe ROS Visualization Tool ,即机器人操作系统3D可视化工具。它的作用就是:一个虚拟世界,用来模拟机器人在现实世界的运行效果。简单的说它就是ROS的一个模拟器软件。

    2)安装rviz

    (如果在上面已经安装完成了rviz,那么你现在可以跳过:安装rviz)

    新开一个终端,执行下面的命令:

    $ sudo apt-get install ros-indigo-arbotix-*
    $ rospack profile        #更新一下ROS内部软件包
    #rospack profile功能类似于使用sudo apt-get update更新Linux软件包一样。它的功能是:更新ros软件包

    安装完成。

    3)举例测试

    开两个终端,来运行下面的命令。第1条命令执行后没有什么实际的效果,第2条打开 rviz 软件,你就可以看到效果。
    (在第一个命令的时候,你可以运行 TurtleBot 机器人,也可以选择运行 Pi Robot 机器人。)

    $ roslaunch rbx1_bringup fake_turtlebot.launch     #或者 roslaunch rbx1_bringup fake_pi_robot.launch
    $ rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz #注意:这条指令中的'`'是键盘左上角'Esc'键下面的那个键

    命令执行完,会打开一个窗口: 这就是 Rviz 模拟器 :

    为了测试模拟,打开另一个终端并运行以下命令,这个命令会引起模拟机器人以逆时针圆周运动

    $ rostopic pub /cmd_vel geometry_msgs/Twist -r 10 '{linear: {x:  0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}' 

    这条命令运行后的效果:就是让机器人做画圆运动:

    注意:: ” 后面必须要加 空格。如果你不加空格,效果就是下面这个样子:

    要停止转动,按下 Ctrl-C 在同一个终端窗口,或者发布空 Twist 消息:

    $ rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

    4、例子讲解

    运行的第一条命令: $ roslaunch rbx1_bringup fake_turtlebot.launch 是:启动一个 TurtleBot 机器人的模型。 如果你想使用 Pi Robot 模型,就不执行这条命令,执行:
    $ roslaunch rbx1_bringup fake_pi_robot.launch 。 总之,你想启动哪个机器人模型,就执行对应的命令。

    Turtlebot机器人 : ————————————————————————-Pi 机器人 :

    5、为什么要使用rviz?

    你不需要用一个实际的机器人开始ROS学习。ROS包含了许多在虚拟环境中运行的机器人包,所以你可以在拥有真实世界的机器人前,在虚拟环境中测试您的程序。

    ROS中有3个可以模拟机器人的模拟器软件:

    • Gazebo
    • Stage
    • ArbotiX(就是RVIz)

    你可以任选一个:

    Gazebo:可以模拟出完整的现实世界,但是软件使用起来比较复杂。
    Stage:简单的2D模拟器,可以管理多个机器人和各种传感器,比如激光传感器。
    ArbotiX:它就是Rviz,它跟Gazebo软件比较,它不能模拟物理现象和没有传感器反馈。

    ROS提高篇教程,我们就使用rviz,因为它简单,并且我们目前不需要有物理现象在本教程。(在ROS教程实战篇中,我们将学习GazeboGazebo软件对CPU的处理速度要求比较高)。

    对应现在来说,我们知道这些就可以了。

  • 相关阅读:
    Scratch-Blockly配置过程
    Scratch www 系统搭建
    Scratch3.0——项目层次结构
    用canvas播放scratch文件
    Scratch3.0——克隆代码仓库的正确姿势
    Scratch3.0——作品截图
    Scratch GUI
    Ubuntu下Visual Studio Code的配置
    关于Ubuntu16.04下phpmyadmin出现mbstring错误的正解
    ubuntu搭建LAMP全教程及简单使用
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6638134.html
Copyright © 2011-2022 走看看