美文网首页
【ROS-Stage】Stage机器人仿真实验(三)

【ROS-Stage】Stage机器人仿真实验(三)

作者: 十月石榴2013 | 来源:发表于2018-10-11 14:49 被阅读133次

    参考资料: Modules

    本文大概翻译了Stage提供的几种模型的介绍,有些模型只翻译了简介,机器人底座、执行器和激光传感器翻译的比较详细。在最后给出了ROS中Stage的消息类型。

    执行器模型(actuator model)

    ULM

    执行器模型模仿了简单的执行器,可以在单个维度上移位,或者绕Z轴旋转。
    (The actuator model simulates a simple actuator, where child objects can be displaced in a single dimension, or rotated about the Z axis.)

    API: Stg::ModelActuator

    World文件属性

    总结和默认值

      # actuator properties
      type ""
      axis [x y z]
    
      min_position
      max_position
      max_speed
    )
    

    有“线性”和“旋转”两种类型。
    (

    • type "linear" or "rotational"
      the style of actuator. Rotational actuators may only rotate about the z axis (i.e. 'yaw')
    • axis if a linear actuator the axis that the actuator will move along
      )

    闪烁灯光模型(Blinkenlight model)

    模拟闪烁的灯光。链接

    Blobfinder model

    blobfinder模型模拟了一种色块寻找视觉设备,如CMUCAM2或ACTS图像处理软件。 它可以跟踪模拟2D图像中的颜色区域,给出颜色“斑点”的位置和大小。 可以一次跟踪多种颜色; 它们被分成通道,例如 所有红色对象都被跟踪为通道1,通道2中的蓝色对象等。与每个通道关联的颜色是可配置的。链接

    相机模型(Camera model)

    相机的模型
    链接:Camera model

    Fiducial detector model

    The fiducial model simulates a fiducial-detecting device.
    链接: Fiducial detector model

    fiducial
    (
      # fiducial properties
      range_min 0.0
      range_max 8.0
      range_max_id 5.0
      fov 3.14159
      ignore_zloc 0
    
      # model properties
      size [ 0.1 0.1 0.1 ]
    )
    

    抓手模型(Gripper model)

    模拟了一个简单的二指抓手。链接: Gripper model

    机器人底盘模型(Position model)

    UML

    模拟机器人底盘,有两种模式:差速轮式(differential)和全向轮式(omnidirectional)。差速轮式可以前后移动和左右转向,全向轮式可以前后移动、左右移动和转向。

    API: Stg::ModelPosition

    world文件属性

    position
        (
        # position properties
        drive "diff"
    
        velocity [ 0.0 0.0 0.0 0.0 ]
    
        localization "gps"
        localization_origin [ <defaults to model's start pose> ]
    
        # odometry error model parameters, 
        # only used if localization is set to "odom"
        odom_error [0.03 0.03 0.00 0.05]
    
        # only used if drive is set to "car"
        wheelbase 1.0
    
        # [ xmin xmax ymin ymax zmin zmax amin amax ]               
        velocity_bounds [-1 1 -1 1 -1 1 -90 90 ]                    
        acceleration_bounds [-1 1 -1 1 -1 1 -90 90]
    
        # model properties
    
        )
    

    注意:从 Stage-1.6.5开始,odom属性被移除了。(Stage will generate a warning if odom is defined in your worldfile. See localization_origin instead.)

    • acceleration_bounds [ xmin xmax ymin ymax zmin zmax amin amax ]
      加速度取值范围。x,y,z 的单位是米每秒的平方, a 是角度每秒的平方。

    • drive "diff", "omni" or "car"
      diff 差速轮式(比如Pioneer);omni全向轮式(比如麦克纳姆轮底座);car 速度和转向角控制。

    • velocity
      定义模型的初始速度。
      注意:如果模型撞到了障碍物,则速度变成0.

    • localization "gps" or "odom"
      定位方式。
      “gps”定位模型的位置是绝对精准的。
      “odom”是一个简单的里程计模型,随着时间的推移,会产生漂移。里程计模型的参数在 odom_error 属性中设定。

    • localization_origin [x y z theta]
      在参考坐标系下设置定位的坐标原点。默认值是初始位置,因此机器人报告的它的位置都是相对于初始位置的。(Tip: If localization_origin is set to [0 0 0 0] and localization is "gps", the model will return its true global position. This is unrealistic, but useful if you want to abstract away the details of localization. Be prepared to justify the use of this mode in your research!)

    • odom_error [x y z theta]
      指定定位“odom”时使用的里程计误差模型的参数。 每个值x,y,z,theta是最大的积分误差的比例对于每个轴,如果此处指定的值为E,则在启动时选择实际比例,范围为-E / 2到+ E / 2。 请注意,由于舍入错误,将这些值设置为零并不能为您提供完美的本地化 - 因此您需要选择本地化“gps”。
      ( parameters for the odometry error model used when specifying localization "odom". Each value is the maximum proportion of error in intergrating x, y, and theta velocities to compute odometric position estimate. For each axis, if the the value specified here is E, the actual proportion is chosen at startup at random in the range -E/2 to +E/2. Note that due to rounding errors, setting these values to zero does NOT give you perfect localization - for that you need to choose localization "gps".)

    • velocity [ x:<float> y:<float> z:<float> heading:<float>
      速度范围 。x,y,z 的单位是米每秒, a 是度每秒。(wheelbase <float,meters> The wheelbase used for the car steering model. Only used if drive is set to "car". Defaults to 1.0m)

    激光传感器模型(Ranger model)

    UML

    模型模拟一系列声纳或红外(IR)范围传感器。

    API: Stg::ModelRanger

    world文件属性

       ranger
       (
       # ranger-specific properties
    
       sensor (
       pose [ x y z a ]
       size [  x y z ]
       fov a
       range [min max]
       )
    
       # generic model properties with non-default values
       watts 2.0
       color_rgba [ 0 1 0 0.15 ]
       )
    

    Range模型允许单独配置每个传感器的位姿、大小和视野参数(使用spose [index],ssize [index]和sview [index])。 但是,大多数用户将使用默认的大小和视野(使用ssize和sview),只指定各个传感器位姿。

    • pose[<transducer index>] [ x:<float> y:<float> theta:<float> ]
      传感器相对于本体的位姿。
    • ssize [float float]
      [x y]
      单位i是米. Has no effect on the data, but controls how the sensor looks in the Stage window.
    • size[<transducer index>] [float float]
      每个传感器的 ssize 设置.
    • sview [float float float]
      [range_min range_max fov]
      径深范围最小和最大设置(单位是米),视野范围单位是角度。(Currently fov has no effect on the sensor model, other than being shown in the confgiuration graphic for the ranger device.)

    Wifi model

    链接:Wifi model

    ROS中Stage的消息类型(转)

    stage_ros程序包订阅/发布话题具体情况

    注:上述话题是单个机器人发布的话题;若存在多个机器人,则按命名空间的方式进行区分,例如robot_0/odom,robot_0/cmd_vel ,robot_0/base_scan,robot_1/odom ,robot_1/cmd_vel ,robot_1/base_scan等等。

    相关文章

      网友评论

          本文标题:【ROS-Stage】Stage机器人仿真实验(三)

          本文链接:https://www.haomeiwen.com/subject/izrvaftx.html