一直在寻找一个示例可以将ROS学习中常用的基础内容大部分都包含进去,最好还包括Gazebo仿真,

这样即使没有硬件设备,也可以很好的学习ROS相关内容,但又必须有对应的硬件,便于后续研究。

这里,介绍一款意外发现的ROS的robot示例----evarobot----

官方教程网址:http://wiki.ros.org/Robots/evarobot

仿真源码网址:https://github.com/inomuh/evarobot_simulator

下面进入正文:

ROS(indigo)机器人操作系统Gazebo仿真示例evarobot

1. 基本安装和编译

下载功能包后,在catkin_ws中进行编译,一切ok,就可以使用这个功能包了。

~/catkin_ws$ catkin_make

有可能遇到一些问题,可能需要下面命令:

~/catkin_ws$ source devel/setup.bash

~/catkin_ws$ rosdep install --from-path src/ -y -i

~/catkin_ws$ rosstack profile & rospack profile

2. 示例使用

上面步骤完成后,就可以复习常用的ROS命令:

~$ rosstack find evarobot_simulator

/home/exbot/catkin_ws/src/evarobot_simulator/evarobot_simulator

exbot@relay-Aspire-4741:~$ rospack find evarobot_gazebo

/home/exbot/catkin_ws/src/evarobot_simulator/evarobot_gazebo



exbot@relay-Aspire-4741:~$ rosls evarobot_gazebo

cfg            CMakeLists.txt  launch   map          src

CHANGELOG.rst  include         LICENSE  package.xml  worlds

其他还有roscd等,不一一列举。在终端运行:

~$ roslaunch evarobot_gazebo evarobot.launch

~$ rosnode list

/gazebo

/joint_state_publisher

/robot_state_publisher

/rosout

/twist_marker_server

~$ rostopic list

/camera/depth/camera_info

/camera/depth/image_raw

/camera/depth/points

/camera/parameter_descriptions

/camera/parameter_updates

/camera/rgb/camera_info

/camera/rgb/image_raw

/camera/rgb/image_raw/compressed

/camera/rgb/image_raw/compressed/parameter_descriptions

/camera/rgb/image_raw/compressed/parameter_updates

/camera/rgb/image_raw/compressedDepth

/camera/rgb/image_raw/compressedDepth/parameter_descriptions

/camera/rgb/image_raw/compressedDepth/parameter_updates

/camera/rgb/image_raw/theora

/camera/rgb/image_raw/theora/parameter_descriptions

/camera/rgb/image_raw/theora/parameter_updates

/clock

/cmd_vel

/gazebo/link_states

/gazebo/model_states

/gazebo/parameter_descriptions

/gazebo/parameter_updates

/gazebo/sensor/Bumper

/gazebo/set_link_state

/gazebo/set_model_state

/imu

/ir0

/ir0/parameter_descriptions

/ir0/parameter_updates

/ir1

/ir1/parameter_descriptions

/ir1/parameter_updates

/ir2

/ir2/parameter_descriptions

/ir2/parameter_updates

/ir3

/ir3/parameter_descriptions

/ir3/parameter_updates

/joint_states

/lidar

/odom

/rosout

/rosout_agg

/sonar0

/sonar0/parameter_descriptions

/sonar0/parameter_updates

/sonar1

/sonar1/parameter_descriptions

/sonar1/parameter_updates

/sonar2

/sonar2/parameter_descriptions

/sonar2/parameter_updates

/sonar3

/sonar3/parameter_descriptions

/sonar3/parameter_updates

/sonar4

/sonar4/parameter_descriptions

/sonar4/parameter_updates

/sonar5

/sonar5/parameter_descriptions

/sonar5/parameter_updates

/sonar6

/sonar6/parameter_descriptions

/sonar6/parameter_updates

/tf

/tf_static

/twist_marker_server/feedback

/twist_marker_server/update

/twist_marker_server/update_full

~$ rosrun rqt_reconfigure rqt_reconfigure

~$ rviz

~$ rosrun rqt_graph rqt_graph

~$ rosrun rqt_console rqt_console

~$ rosrun rqt_plot rqt_plot /cmd_vel

在Gazebo环境中加入一些物体:

$ rosrun rqt_image_view rqt_image_view

可以使用键盘,手柄或手机遥控gazebo中的机器人运动,观察各类传感器数据的变化。

也可以在虚拟仿真环境中,测试各类图像算法等,构建自己的3D模型等,这里不再赘述。

如果想要查看点云,可以通过rviz:

3. SLAM示例

~$ roslaunch evarobot_gazebo evarobot.launch world_path:=$(rospack find evarobot_gazebo)/worlds/UPlat.sdf

~$ roslaunch evarobot_slam gazebo_slam.launch

~$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

~$ roslaunch evarobot_viz view_evarobot.launch

~$ rosrun map_server map_saver -f $(rospack find evarobot_slam)/gazebo_map/map

4. 导航

~$ roslaunch evarobot_navigation gazebo_navigation.launch world_path:=$(rospack find evarobot_gazebo)/worlds/UPlat.sdf

遇到点小问题,还未解决。

-End-

ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot的更多相关文章

  1. ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)

    ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub    ...

  2. Ubuntu 16.04 + ROS Kinetic 机器人操作系统学习镜像分享与使用安装说明

    Ubuntu 16.04 + ROS Kinetic 镜像分享与使用安装说明 内容概要:1 网盘文件介绍  2 镜像制作  3 系统使用与安装 ---- 祝ROS爱好者和开发者新年快乐:-) ---- ...

  3. ROS + Caffe 机器人操作系统框架和深度学习框架笔记 (機器人控制與人工智能)

    ROS + Caffe,这里以环境中物体识别为示例,机器人怎么知道环境里面有什么呢? [0.0567392 - n03376595 folding chair][0.0566773 - n040999 ...

  4. 快速了解 Robot Operating System(ROS) 机器人操作系统

     http://www.ros.org/ 关于ROS About ROS http://www.ros.org/about-ros/ 机器人操作系统(ROS)是用于编写机器人软件的灵活框架.目的在简化 ...

  5. ROS(indigo) turtlebot2 + android一些有趣应用

    ROS和Android配合使用非常有趣,这里推荐,ROSClinet,使用rosbridge让android和ROS通信: 具体参考奥斯卡的个人剧场:http://xxhong.net/ turtle ...

  6. ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明

    ROS(indigo) 安装和使用更新版本的Gazebo,本文以7为例. Gazebo7支持更多新的功能,如果使用下面命令安装ROS(indigo): ~$ sudo apt-get install ...

  7. 机器人操作系统 除了Android还有一个ROS(转)

    你知道市面上的机器人都采用了哪些操作系统吗? 估计大多数人给出的答案就是 Android 了.从市面上的产品来看,基于 Android 系统开发的机器人确实是主流,但是还有一种操作系统却鲜为人知,它叫 ...

  8. ROS探索总结(六)——使用smartcar进行仿真

    转自:https://www.ncnynl.com/archives/201609/843.html 总结: 一.机器人描述文件三个: 机器人主体body文件: gazebo属性文件: 主文件 sma ...

  9. 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】

    转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...

随机推荐

  1. ios中的safari转换时间戳问题

    后台下发的时间格式如:2016-09-15 15:30:10:也没多想,直接用new Date('2016-09-15 15:30:10').getTime()获取时间戳:开发时候,电脑调试OK,当放 ...

  2. Spring Boot 参数校验

    1.背景介绍 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码 这样写并没有什么错,还挺工整的,只是看起来不是很优雅而已. 接下来,用Validation来改写这段 2.Spr ...

  3. Asp.Net Core 2.0 项目实战(7)MD5加密、AES&DES对称加解密

    本文目录 1. 摘要 2. MD5加密封装 3. AES的加密.解密 4. DES加密/解密 5. 总结 1.  摘要 C#中常用的一些加密和解密方案,如:md5加密.RSA加密与解密和DES加密等, ...

  4. js判断奇偶数实现隐藏显示功能 与css立体按钮

      hello!   好久不见了 ,今天也没准备什么技术,知识想和大家就见个面,一个js判断奇数偶数来实现css样式 ,感觉最大的用途就是页面的导航.就这么一个小小的技术. 劳动快乐   当!当!当! ...

  5. UltraISO安装centos7系统

    1. 使用最新版UltraISO将ISO镜像刻录到U盘一定要是最新版,试用版都可以,按下图操作: 2. U盘启动电脑进入安装界面正常情况下你应该会看到下面的这个界面: 选择第一项,然后按TAB键(在评 ...

  6. jQuery – AJAX get() 和 post() 方法

    jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据. HTTP 请求:GET vs. POST 两种在客户端和服务器端进行请求-响应的常用方 ...

  7. Matlab—regexp正则表达式

    原文转自:http://blog.csdn.net/yf210yf/article/details/42421523 关于正则表达式的基本知识 正则表达式就是一个表达式(也是一串字符),它定义了某种字 ...

  8. 计算机网络之TCP协议与UDP协议

    运输层向它上面应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层. 两个主机进行通信实际上就是两个主机中的应用进程互相通信.应用进程之间的通信又称为端到端的通信. 应用层不同进 ...

  9. Dynamics CRM REST Builder

    今天介绍个很棒的工具叫CRM REST Builder,不管是2016之前的odata查询或者现在的web api都不在话下,界面如下,选项非常丰富 这里以retrieve multiple举个例子, ...

  10. WmS简介(三)之Activity窗口是如何创建的?基于Android7.0源码

    OK,在前面两篇博客中我们分别介绍了WmS中的token,同时也向小伙伴们区分了Window和窗口的区别,并且按照type值的不同将Android系统中的窗口分为了三大类,那么本篇博客我们就来看看应用 ...