Coppeliasim仿真:ROS节点规划UR5画圆
紧接上节,本节我们写一个自己的小demo,重点在于ROS通讯在Coppeliasim中的应用
理解本篇需要对Coppeliasim的基本使用以及ROS有一定的了解
任务描述:通过ROS节点发布轨迹信息,Coppeliasim中订阅并执行机械臂画圆任务
总体控制思路分析
为简单起见,我们使用软件自带的UR5机械臂模型,将其拖入新的场景中

根据前文的介绍,有了基本的机器人模型后,我们还需要对其脚本进行编写配置,比如发布、订阅话题等。
观察发现这个模型原本就带有两个子脚本,我们重点关注其中的线程子脚本,打开其内容:
-- This is a threaded script, and is just an example!
function sysCall_threadmain()
jointHandles={
-1,-1,-1,-1,-1,-1}
for i=1,6,1 do
jointHandles[i]=sim.getObjectHandle('UR5_joint'..i)
end
-- Set-up some of the RML vectors:
vel=180
accel=40
jerk=80
currentVel={
0,0,0,0,0,0,0}
currentAccel={
0,0,0,0,0,0,0}
maxVel={
vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180,vel*math.pi/180}
maxAccel={
accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180,accel*math.pi/180}
maxJerk={
jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180,jerk*math.pi/180}
targetVel={
0,0,0,0,0,0}
targetPos1={
90*math.pi/180,90*math.pi/180,-90*math.pi/180,90*math.pi/180,90*math.pi/180

本文介绍了如何在Coppeliasim仿真环境中,通过ROS节点控制UR5机械臂,实现从脚本中定义的圆弧路径。作者展示了从修改脚本、添加dummy对象到建立ROS节点进行轨迹发布和接收的整个过程,并讨论了可能出现的问题和后续改进方向。
最低0.47元/天 解锁文章
970

被折叠的 条评论
为什么被折叠?



