ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot
一直在寻找一个示例可以将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的更多相关文章
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- Ubuntu 16.04 + ROS Kinetic 机器人操作系统学习镜像分享与使用安装说明
Ubuntu 16.04 + ROS Kinetic 镜像分享与使用安装说明 内容概要:1 网盘文件介绍 2 镜像制作 3 系统使用与安装 ---- 祝ROS爱好者和开发者新年快乐:-) ---- ...
- ROS + Caffe 机器人操作系统框架和深度学习框架笔记 (機器人控制與人工智能)
ROS + Caffe,这里以环境中物体识别为示例,机器人怎么知道环境里面有什么呢? [0.0567392 - n03376595 folding chair][0.0566773 - n040999 ...
- 快速了解 Robot Operating System(ROS) 机器人操作系统
http://www.ros.org/ 关于ROS About ROS http://www.ros.org/about-ros/ 机器人操作系统(ROS)是用于编写机器人软件的灵活框架.目的在简化 ...
- ROS(indigo) turtlebot2 + android一些有趣应用
ROS和Android配合使用非常有趣,这里推荐,ROSClinet,使用rosbridge让android和ROS通信: 具体参考奥斯卡的个人剧场:http://xxhong.net/ turtle ...
- ROS(indigo) 安装和使用更新版本的Gazebo----3,4,5,6,7 附:中国机器人大赛中型组仿真比赛说明
ROS(indigo) 安装和使用更新版本的Gazebo,本文以7为例. Gazebo7支持更多新的功能,如果使用下面命令安装ROS(indigo): ~$ sudo apt-get install ...
- 机器人操作系统 除了Android还有一个ROS(转)
你知道市面上的机器人都采用了哪些操作系统吗? 估计大多数人给出的答案就是 Android 了.从市面上的产品来看,基于 Android 系统开发的机器人确实是主流,但是还有一种操作系统却鲜为人知,它叫 ...
- ROS探索总结(六)——使用smartcar进行仿真
转自:https://www.ncnynl.com/archives/201609/843.html 总结: 一.机器人描述文件三个: 机器人主体body文件: gazebo属性文件: 主文件 sma ...
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】
转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...
随机推荐
- 开源Spring解决方案--lm.solution
Github 项目地址: https://github.com/liumeng0403/lm.solution 一.说明 1.本项目未按java项目传统命名方式命名项目名,包名 如:org.xxxx. ...
- 当我们在谈论JMM(Java memory model)的时候,我们在谈论些什么
前面几篇中,我们谈论了synchronized.final以及voilate的用法和底层实现,都绕不开一个话题-Java内存模型(java memory model,简称JMM).Java内存模型是保 ...
- Docker多台物理主机之间的容器互联
Docker 默认的桥接网卡是 docker0.它只会在本机桥接所有的容器网卡,举例来说容器的虚拟网卡在主机上看一般叫做 veth* 而 Docker 只是把所有这些网卡桥接在一起,如下: [root ...
- iOS objc_msgSend 野指针Crash 从 Log 提取 Crash 时 selector 的地址和名字并打印
从 crash stack log 里面,提取 objc_msgSend 关键字,定位是否是野指针问题导致的crash,如果是则打印 crash 时的 objc_msgSend 调用的第二个参数,即 ...
- 操作系统内核Hack:(一)实验环境搭建
操作系统内核Hack:(一)实验环境搭建 三四年前,心血来潮,入手<Orange's:一个操作系统的实现>学习操作系统内核,还配套买了王爽的<汇编语言(第二版)>和<80 ...
- 基于hadoop的BI架构
BI系统,是企业利用数据驱动运营的一个典型系统.BI系统通过发掘企业运行过程中的数据,发现企业的潜在风险.为企业的各项决策提供数据支撑. 传统的BI系统通常构建于关系型数据库之上.随着企业业务量的增大 ...
- Tomcat7源码环境搭建
一.下载Tomcat7源码 从官网上下载Tomcat源码, http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/src/apache-t ...
- activiti 配置节点 连线信息获取
1.1.1. 前言 当使用eclipse插件进行流程设计的时候,部署流程之后,我们如何获取我们定义的所有的节点.连线.关口等配置信息呢?有的人看到这个需求,不免窃喜,这不很简单嘛,重新打来bmpn中定 ...
- 协议系列之IP协议
1.协议 协议(protocol)的定义:为计算机网络中进行数据交换而建立的规则.标准或约定的集合.两个终端相互通信时双方达成的一种约定,规定了一套通信规则,双方通信必须遵守这些规则.这些规则规定了分 ...
- Nginx的负载均衡 - 一致性哈希 (Consistent Hash)
Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 算法介绍 当后端是缓存服务器时,经常使用一致性哈希算法来进行负载均衡. 使用一致性哈希的好处在于,增减 ...