ROS教程—基于rviz的机器人仿真(arbotix)

一、rviz介绍

ROS有一个非常强大的图形化模拟环境rviz。在rviz中可以实现对建立地图以及导航路径等的动态观测,而且还可以建立模拟机器人仿真环境。

Rviz启动:

1.ctrl+Alt+T开启新终端

2.$roscore          //rviz开启前要确保roscore开启

3.$rviz

4.点击rviz界面左上角,选取file-->openconfig,打开如下所示:

ROS教程—基于rviz的机器人仿真(arbotix)_第1张图片

5.选取工作目录下allians_arbotix下文件夹rviz中的名为.rviz的配置文件,示例效果如下图:

 ROS教程—基于rviz的机器人仿真(arbotix)_第2张图片

上侧工具栏中2D PoseEstimate 用于指定robot的初始位置,2D Goal用于指定导航目标点。

左侧工具栏显示的为图形界面的加载的部分可视化插件,点击左下角add可选取想要显示的功能。

二、仿真工具arbotix介绍

arbotix是一个基于ROS工具rviz的仿真模拟器。

arbotix安装:

1.sudo apt-getinstall ros-indigo-arbotix     //此处我选择的为indigo版本,如使用kinetic等版本则替换indigo即可

2.建立工程,从联汇智造github克隆arbotix模拟程序:可参考上一篇(ROS—安装篇)

$git clone https://github.com/AlliansChina/allians_arbotix.git

allians_arbotix程序内容介绍:

ROS教程—基于rviz的机器人仿真(arbotix)_第3张图片

1.launch文件夹中两个文件:

display.launch—启动仿真机器人底盘

fake_mover.launch—启动机器人导航(navigation)

2.config文件夹中三个文件夹分别为:

arbotix—存有mover_arbotix.yaml为arbotix模拟器的配置文件。

controller—存有joint_state_controller.yaml,joint_state_controller属于controller_manager,联合robot_state_publisher,实现仿真模型上base_link到各个旋转关节的变换。

mover—存有robot的导航参数文件,具体配制在后续高级教程介绍。

3.map文件夹存放地图文件

4.robot文件夹存放机器人的urdf模型

5.rviz文件夹存放rviz图形界面配置文件

启动arbotix仿真机器人:

1.$roslaunchallians_arbotix display.launch

 

//启动成功如下:

startedroslaunch server http://192.168.1.167:40640/

 

SUMMARY

========

 

CLEAR PARAMETERS

 * /arbotix/

//加载上述arbotix配置内容,参数可根据实际机器人修改

PARAMETERS

 * /arbotix/baud: 115200

 * /arbotix/controllers/base_controller/Kd: 0

 * /arbotix/controllers/base_controller/Ki: 0

 * /arbotix/controllers/base_controller/Ko: 0

 * /arbotix/controllers/base_controller/Kp: 1

 */arbotix/controllers/base_controller/accel_limit: 1.0

 */arbotix/controllers/base_controller/base_frame_id: base_link

 */arbotix/controllers/base_controller/base_width: 0.29

 */arbotix/controllers/base_controller/ticks_meter: 22137

 * /arbotix/controllers/base_controller/type:diff_controller

 * /arbotix/port: /dev/ttyUSB0

 * /arbotix/rate: 50

 * /arbotix/read_rate: 20

 * /arbotix/sim: True

 * /arbotix/sync_read: True

 * /arbotix/sync_write: True

 * /arbotix/write_rate: 20

 * /robot_description:

 * /rosdistro: indigo

 * /rosversion: 1.11.21

 * /use_sim_time: False

 

NODES

  /

    arbotix (arbotix_python/arbotix_driver)

 //加载轴关节变换joint_state_publisher

joint_state_publisher(joint_state_publisher/joint_state_publisher)

    robot_state_publisher(robot_state_publisher/state_publisher)

 

ROS_MASTER_URI=http://192.168.1.167:11311

 

core service[/rosout] found

process[arbotix-1]:started with pid [29579]

process[robot_state_publisher-2]:started with pid [29580]

process[joint_state_publisher-3]:started with pid [29582]

[INFO][WallTime: 1526880914.670083] ArbotiX being simulated.

[INFO][WallTime: 1526880914.809997] Started DiffController (base_controller).Geometry: 0.29m wide, 22137.0 ticks/m.

 

2.启动rviz

$rviz

Openconfig选取rviz目录下robot.rviz则可以看到mover的仿真模型

ROS教程—基于rviz的机器人仿真(arbotix)_第4张图片

arbotix是一个非常重要的入门级仿真模拟器,我们可以在arbotix上实现导航定位等的入门,在仿真环境实现基础功能。

如何在arbotix让机器人动起来,请查看下一节。欢迎大家讨论。


点击查看更多>>www.allians.com.cn

你可能感兴趣的:(ROS教程—基于rviz的机器人仿真(arbotix))