Webots安装,及urdf转webots,通过3d模型获取Proto_indexedFaceset数据,MoveIt机械臂路径规划
Webots安装
Webots包含三种不同的软件包类型:.deb
(Debian软件包),.tar.bz2
(tarball软件包)和.snap
(快照软件包)。我们在资料中提供了.deb
安装包。如果需要其他版本的可以在网盘上下载,在Github下载大文件会很不稳定。
sudo dpkg -i webots_2020a-rev1_amd64.deb
sudo apt-get -f install
我们需要配置环境变量webots_home
,指向到我们安装的应用目录。
sudo gedit ~/.bashrc
export WEBOTS_HOME=/usr/local/webots
export webots_home=/usr/local/webots
测试安装(执行命令)
webots
帮助文档
官方教程:https://cyberbotics.com/doc/guide/tutorials
本地帮助文档在应用的安装目录下,docs
的文件夹中。目前的帮助文档无法直接打开,我们需要进行额外的配置。
帮助文档资源
打开帮助文件文件夹。
服务启动
python -m http.server 8000
python2启动服务器
python -m SimpleHTTPServer 8000
python3启动服务器
python -m http.server 8000
文档访问路径
用户手册地址: http://localhost:8000/?url=&book=guide
API手册地址: http://localhost:8000/?url=&book=reference
汽车手册地址: http://localhost:8000/?url=&book=automobile
UR3机械臂Proto制作
当完成一个模型的建立工作后,为了方便后面的管理,我们可以将模型制作成Proto文件。在官方给出的案例中我们可以查看UR系列机械臂的Proto文件。projects\robots\universal_robots
问题:
机械臂头尾的处理方式?
toolSlot
属性,用于添加工具节点,新的工具节点将连接在机械臂的末端。staticBase
属性,用于处理基座。
3d模型文件为:.dae
、.stl
和.step 生成
Proto_IndexedFaceSet信息
dae和stl文件处理
使用Blender将模型(dae和stl)导出为.obj
文件,然后使用view3dscene
工具完成转化。模型文件可以在GitHub上获取。
工具安装
sudo apt-get update
sudo apt-get install view3dscene
转换
view3dscene --write your_model.obj > your_model.wrl
注意:
在导出为.obj
文件时,需要观察Webots中坐标系的方向。
step文件处理
我们可以在C4D、3ds Max、SolidWorks等应用加载,然后转化为VRML文件。
这种直接导出的方式在C4D、3ds Max、SolidWorks中均可以实现。
提示:
如果使用的是Ubuntu18的话,C4D有可以的版本安装。
通过urdf生成的是*.proto文件
对于已有或只有urdf文件的情况下,我们可以通过urdf2webots功能包实现。在资料中提供给大urdf2webots
工具,在urdf2webots目录下终端执行如下命令:
pip install -r requirements.txt
requirements.txt
pycollada==0.6
Pillow
工具使用
python urdf2webots.py --input=your_robot_path.urdf
生成的是*.proto文件,文件在urdf2webots
文件夹中,我们可以导入到自己项目中。
注意
生成的proto文件中robot配置没有设置boundingObject
信息,我们需要单独配置。
MoveIt!机械臂路径规划
前的机械臂控制是我们自己已经写好的位置信息,如果想要进行路径规划,我们需要与其他的工具联合在一起。可以通过将Webots中的world改造为ROS中的一个节点(通过ros
控制器,它是被预编译过的控制器,通常情况下能满足我们大多数需求,只有在特殊需求下我们才会去使用自定义的ros控制器),这样就可以通过ROS完成与多工具的联动。
webots_ros
Webots提供了 webots_ros
包,官方的文档中仅说明了在Linux下的ROS melodic
和 kinetic
两个版本测试。当前使用的是kinetic
版本的Ros。
webots_ros
包下载
sudo apt-get install ros-melodic-webots-ros
kinetic或melodic
案例运行
roslaunch webots_ros e_puck_line.launch
案例说明:
webots.launch
<?xml version="1.0"?>
<launch><arg name="world" default="" doc="Path to the world to load"/><arg name="mode" default="realtime," doc="Startup mode"/><arg name="no-gui" default="false," doc="Start Webots with minimal GUI"/><node name="webots" pkg="webots_ros" type="webots_launcher.py" args="--world=$(arg world) --mode=$(arg mode) --no-gui=$(arg no-gui)" required="true"/>
</launch>
webots_launcher.py
optParser = optparse.OptionParser()
optParser.add_option("--world", dest="world", default="", help="Path to the world to load.")
optParser.add_option("--mode", dest="mode", default="realtime", help="Startup mode.")
optParser.add_option("--no-gui", dest="noGui", default="false", help="Start Webots with minimal GUI.")
options, args = optParser.parse_args()if 'WEBOTS_HOME' not in os.environ:sys.exit('WEBOTS_HOME environment variable not defined.')
command = [os.path.join(os.environ['WEBOTS_HOME'], 'webots'), '--mode=' + options.mode, options.world]
if options.noGui == 'true':command.append('--stdout')command.append('--stderr')command.append('--batch')command.append('--no-sandbox')command.append('--minimize')subprocess.call(command)
MoveIt!使用
在官方文档中我们可以看到UR机械臂与MoveIt!的联动案例。
除了官方文档中提到的需要复制的ur_e_webots
外,还需要在https://github.com/ros-industrial/universal_robot下载ur5_e_moveit_config
和ur_e_description
启动Webots的
ure.wbt
world,修改UR5e
的控制器为universal_robots_ros
。也可配置launch进行启动。sudo apt-get isntall ros-kinetic-moveit
加载ur机械臂的URDF文件
roslaunch ur_e_webots ur5e.launch
MoveIt!启动
roslaunch ur5_e_moveit_config ur5_e_moveit_planning_execution.launch
ERROR:cannot launch node of type [moveit_ros_move_group/move_group]: moveit_ros_move_group
原因:没有安装moveit
解决方法:
sudo apt-get update
sudo apt-get install ros-kinetic-moveit
sudo apt-get install ros-melodic-moveit
Rviz启动
roslaunch ur5_e_moveit_config moveit_rviz.launch config:=true
如果控制其他机械臂下载对应的URDF和MoveIt!即可。
Webots安装,及urdf转webots,通过3d模型获取Proto_indexedFaceset数据,MoveIt机械臂路径规划相关推荐
- 小车yolo机械臂(一)ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体
ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体 目录总览 一,项目代码下载 二,ros下实现darknet_ros(YOLO V3)检测 2.1 编译整个项目 ...
- SolidWorks导出机械臂的URDF模型各个关节坐标系设置
郑重提示:为了记录自己在学习过程中遇到的问题,所以记录了这篇博客..在后面学习的过程中发现之前这篇博客记录的导出URDF模型坐标系设置方法存在一些问题,不好写DH参数表,,更更要命的是,好些朋友都收藏 ...
- Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning
文章目录 从零部署之创建URDF模型 0 创建新工作空间 1 创建URDF模型测试功能包 2 dofbot机械臂的urdf模型 3 meshes 4 launch文件 5 编译并运行 6 运行效果 7 ...
- 【机器人仿真Webots教程】-Webots安装
Webots安装 文章目录 Webots安装 1. Webots简介 2. Webots安装 2.1 系统要求 2.2 验证显卡驱动 2.3 安装 3. Webots仿真 3.1 world文件 3. ...
- Webots安装教程
1.在Linux上安装 Webots将在运行glibc2.11.1或更早版本的最新Linux发行版上运行.这包括相当近期的Ubuntu,Debian,Fedora,SuSE,RedHat等.Webot ...
- 在Webots中导入自己的3D模型
之前自己踩了一些坑,现在来把这个过程纪录下来,供大家一起学习交流. 软件版本:Webots 2020b, Creo 5.0(SolidWorks等3D画图软件都可以,无限制) 详细步骤 1. 将Cre ...
- Webots安装和教程推荐
安装与推荐 软件介绍 Webots是一款专业的物理仿真软件,被广泛运用在机器人.智能车仿真实践控制算法中,2018年12月该软件宣布开源. Webots最初采用C进行编程,至今已经实现提供C.C++. ...
- 安装 SuMa (Surfel-based Mapping using 3D Laser Range Data)遇到的问题
安装 SuMa (Surfel-based Mapping using 3D Laser Range Data)遇到的问题 Catkin Build 提示 Cannot find package py ...
- Webots串级机械臂建模仿真过程-详细!
此篇博客转自本作者在古月居的博客:https://www.guyuehome.com/24692 前言: 非常高兴能作为古月居的签约作者,以后将推出更有价值的文章,以供参考. 由于最近要参与一个等 ...
最新文章
- 用Docker镜像搭建ELK环境
- jquery和bottstrap
- Linux 模拟网络丢包和延迟命令
- 我们已经不用 AOP 做日志很久了!
- css文件修改后没变化 static_Go Web编程使用Go语言创建静态文件服务器
- WAS 报错 Font '宋体' is not available to the JVM
- CentOS 7 安装 JAVA环境(JDK 1.8)
- iOS内存分配五大区:
- 51NOD-1005 大数加法【大数】
- Axure RP安装破解汉化以及发布到至AxureShare
- 使用Python GDAL库对高分三号全极化SAR影像进行RPC几何校正(PolSARpro格式)
- 计算机黑屏的原因及解决办法,电脑突然黑屏重启的原因及解决办法
- 2019.1.30《C Primer Plus》拖了一天写完的第八章编程练习答案
- Windows图像标注软件安装与使用(Vott、labelImg、labelme)
- java.lang.NullPointerException: Missing required view with报错
- html <table> 表格 表头固定 内容滚动 代码拿去就能用
- String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)
- antd DatePicker 组件 月份和星期显示英文
- Sap Program 自动创建供应商资料,BP
- 由sudo -u nobody 开始--todo