从零开始的仿真之旅——在Ubuntu下配置V-Rep仿真平台下的搭载ROS系统的机器人仿真
来源:互联网 发布:php实现网络爬虫 编辑:程序博客网 时间:2024/05/18 18:55
目录
- 目录
- 第一步 在Windows下完成下列步骤
- 第二步 安装并配置Ubuntu1604LTS
- 第三步 安装仿真软件V-rep V-REP 340
- 第四步 安装ROS
- 第五步配置RosInterface
- 第六步配置vrep_ros_bridge可选
- 第七步运行仿真
- 其他遇到的问题
- E1 ros中图像上下颠倒的问题
- E2 激光传感器穿墙问题
- E3 3d地图在vrep中拖动是会闪线条很粗糙成锯齿形
- E4 生成3d地图后地图能明显地看出由一个个三角形组成
- E5 机器人和场景mesh不能相撞而是直接穿过
- E6 用vrep自带的2D激光雷仿真特别卡
- 附录
第一步 在Windows下完成下列步骤
- 分区。将需要分给Linux系统的空间单独划分出来(100G+)**
- 下载并制作Ubuntu16.04的U盘启动盘
第二步 安装并配置Ubuntu16.04LTS
- 安装双系统。先重启电脑,启动时按F12进入U盘启动。选择刚才分出来的磁盘进行分区创建等后续操作。分区的可行方案如:
2. 修改更新源。可搜索“ubuntu16.04源”,根据指引更改 sources.list内容,并联网更新。
可参考:http://www.genshuixue.com/i-cxy/p/15379828
关于联网: 在Ubuntu系统下难以连接有线网的情况下(如公司环境),可外接 USB无线网卡解决问题。
第三步 安装仿真软件V-rep (V-REP 3.4.0+)
- 将(下载 / 拷贝)来的V-REP_PRO_EDU_V3_4_0_Linux.tar.gz文件解压到home
- 修改文件夹名字(建议简短,方便呼叫。如 vrep)
可以启动试试:$ cd vrep/$ ./vrep.sh
3. 现在可以参考手册学习啦!
该软件的详细手册可见:http://www.coppeliarobotics.com/helpFiles/
建议多看Shortcuts、Command line、Tutorials
第四步 安装ROS
- 我们选择的是ROS Kinetic Kame ,点开链接按照指示即可安装。
- 继续学习:http://wiki.ros.org/ROS/Tutorials
- 需要至少完成beginner level。
- 关于这点,在V-REP User Manual中的ROS tutorial 有提到
第五步:配置RosInterface
- RosInterface是V-rep官方推荐的用来跟ROS通信的插件
- 将 /VREP/compiledRosPlugins 中的libv_repExtRosInterface.so库复制到/VREP下,再启动。
- 若遇到下面问题,需要重新编译该库:
Plugin ‘RosInterface’: loading… /home/bamboohuang/vrep/vrep: symbol
lookup error: /home/bamboohuang/vrep/libv_repExtRosInterface.so:
undefined symbol: _ZN3ros4initERiPPcRKSsj
重新编译该库的流程:
- 首先需要安装一些相关的软件包:
sudo apt install git cmake python-tempita python-catkin-tools python-lxml default-jre xsltproc
参考V-REP User Manual 中的ROS tutorial – Indigo。
FYI:生成的文件主要在/devel/lib和 /src//bin中
参考V-REP User Manual → writing code in and around V-REP → V-REP API framework → ROS interface
- 首先需要安装一些相关的软件包:
若遇到问题:
Plugin ‘RosInterface’: loading… ROS master is not running. Cannot
start ‘ROS’ plugin.请先启动ROS,再启动V-REP (即应先执行 roscore命令,再执行vrep.sh)
若遇到问题
Plugin ‘RosInterface’: loading… this plugin requires at least V-REP
3.4.0 rev9你使用的应该是github上最新的版本,这对V-REP的版本要求较高。建议参考上面提到的ROS tutorial–Indigo,直接用自带的vrep/programming/ros_packages中的文件复制到catkin_ws/src/下进行编译;
当然也可以下载最新版本V-REP:www.coppeliarobotics.com/files/tmp若遇到下面问题,原因可能是没有正确安装interface:
Lua runtime error: [string “SCRIPT **“]:32: attempt
to call global ‘simExtRosInterface_publish’ (a nil value) stack
traceback: [string “SCRIPT **“]:32: in main chunk打开vrep 时若显示下面方框内的内容,则说明RosInterface 安装成功:
第六步:配置vrep_ros_bridge(可选)
- vrep_ros_bridge是ROS官方推荐的用来跟V-rep通信的插件,所有需要的文件与相关指引都可以查看github:https://github.com/lagadic/vrep_ros_bridge
- 安装步骤按照上面网址中的InstallationPlugin部分进行即可。如果不知道如何建立catkin workspace,可以回到第四步复习。
- 打开vrep 时若显示下面方框内的内容,则说明RosInterface 安装成功:
根据需求可做安装上的调整,可能会有细微差别。
安装后可对照历例程测试:http://wiki.ros.org/vrep_ros_bridge#Installation_test
第七步:运行仿真
- 首先运行roscore,然后打开vrep,确保所有上述插件安装并加载成功。
Open scene ,可以打开对应的 .ttt 文件。如果已经有现有工程,可以打开对应的ttt;没有的话,可以打开软件目录下的例程(参考Tutorial)
此时可以尝试在ROS侧获取vrep场景中的传感器数据,可以尝试下面的语句:
(注意将“/”后的topicname替换成自己的)
rostopic list rostopic echo /laser_radar rqt_image_view 或者 rosrun image_view image_view image:=/zed_depth_image(为什么看到的图像是颠倒的?解决方案见E1)
- 控制量的输入
rosrun rqt_publisher rqt_publisher
其他遇到的问题:
E.1 ros中图像上下颠倒的问题
- 问题原因:传输的data是字符串,ros收到后按照数组的方式转换为矩阵。
- 解决方案:可以在传输前对要传输的数据进行预处理,“颠倒”了再发送给ROS。
可以参考后面附录里的Lua参考手册。
E.2 激光传感器穿墙问题
- 原因是范围参数设置不对。如下所示参数太大,改小到正常值就行。
E.3 3d地图在vrep中拖动是会闪,线条很粗糙,成锯齿形
- 问题原因:vrep中显示使用opengl进行渲染的,opengl存储的数据为float型,如果使用的是double类型的,就会发生数据的截断。
- 解决方案:将数据改用float类型存储
E.4 生成3d地图后,地图能明显地看出由一个个三角形组成
- 问题原因:用两个三角形去表示一个四个点组成的面时,没有考虑面的方向问题,导致生成的三角形方向不一致
- 解决方案:在生成.obj文件时,由f行代表的边使其顺时针或者逆时针保持一致,从而使得生成的三角形面方向一致
E.5 机器人和场景mesh不能相撞,而是直接穿过
- 问题原因:相关属性没有设置正确
- 解决方案:分别设置机器人和场景的如下属性:Shape->Show dynamic properties dialog,勾选Body is respondable,同时勾选Local responable mask,使两者有重合部分即可。
E.6 用vrep自带的2D激光雷,仿真特别卡
- 问题原因:该激光雷达激光雷达是用一个joint和一个测距传感器然后转动扫描构成,扫描使得速度变慢。
- 解决方案:可以换成Hokuyo URG 04LX UG01_fast.ttm模型。该激光雷达是由两个只有一行的深度摄像头组成,速度快很多。
附录
(一些或许对你有用的链接)
Ubuntu常用快捷键:
Ctrl+Alt+T
Alt+Tab
长按super可以看到快捷按键提示 : )
安装中文sogo输入法:
http://blog.csdn.net/u013894834/article/details/60357071
更新源
http://www.genshuixue.com/i-cxy/p/15379828
V-REP下载
http://www.v-rep.eu/downloads.html
V-rep手册
http://www.coppeliarobotics.com/helpFiles/
ROS安装
ROS Kinetic Kame:http://wiki.ros.org/kinetic/Installation
ROS Tutorials
http://wiki.ros.org/ROS/Tutorials
vrep_ros_bridge
https://github.com/lagadic/vrep_ros_bridge
Create a ROS Workspace (catkin)
http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment
roscore err: IOError: [Errno 13] Permission denied
http://blog.csdn.net/yngki/article/details/53098804
Lua 5.3 参考手册
http://cloudwu.github.io/lua53doc/contents.html
Lua的string和string库总结:
http://www.cnblogs.com/zrtqsk/p/4372889.html
特别感谢徐宽的支持与帮助~
- 从零开始的仿真之旅——在Ubuntu下配置V-Rep仿真平台下的搭载ROS系统的机器人仿真
- ROS(indigo)国外开源示例包括多机器人控制等基于V-Rep和Gazebo的仿真
- 简谈Ubuntu下robocup2d仿真环境的配置
- SkyEye 在linux下的仿真调试
- UCGUI在VC下的仿真
- ros下gazebo的安装,模型加载和仿真
- 机器人操作系统ROS(indigo)与三维仿真软件V-Rep(3.2.1)通信接口使用笔记
- Vivado下的仿真入门
- 基于ROS的smartcar仿真
- ROS探索总结(四)(五)(六)——简单的机器人仿真 创建简单的机器人模型smartcar 使用smartcar进行仿真
- ROS探索总结(四)——简单的机器人仿真
- ROS探索总结(四)——简单的机器人仿真
- ROS探索总结(四)——简单的机器人仿真
- ROS with V-rep (3) 之仿真velodyne16线激光 (ROS学习笔记六)
- PX4在ROS-Kinetic外部控制下的仿真(1)
- 机器人仿真 软件 V-REP 入门教程 (一)简介
- 机器人仿真 软件 V-REP 入门教程 (二)基本操作
- 机器人仿真 软件 V-REP 入门教程 (三)
- bzoj4152 [AMPPZ2014]The Captain
- JEESZ-SSO解决方案
- nodejs express mongdb restful api
- php常用函数
- bzoj4373 算术天才⑨与等差数列
- 从零开始的仿真之旅——在Ubuntu下配置V-Rep仿真平台下的搭载ROS系统的机器人仿真
- Android getResources().getColor() 过时 替代方法
- 典型数据库架构设计与实践
- 阿里云主机配置
- 开发工具
- XSS攻击及防御
- 绑定时间
- Json文件的解析
- The Marshtomp has seen it all before