Coppeliasim仿真:ROS节点规划UR5画圆

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

Coppeliasim仿真:ROS节点规划UR5画圆

紧接上节,本节我们写一个自己的小demo,重点在于ROS通讯在Coppeliasim中的应用

理解本篇需要对Coppeliasim的基本使用以及ROS有一定的了解

任务描述:通过ROS节点发布轨迹信息,Coppeliasim中订阅并执行机械臂画圆任务

总体控制思路分析

为简单起见,我们使用软件自带的UR5机械臂模型,将其拖入新的场景中

image-20240101155757353

根据前文的介绍,有了基本的机器人模型后,我们还需要对其脚本进行编写配置,比如发布、订阅话题等。

观察发现这个模型原本就带有两个子脚本,我们重点关注其中的线程子脚本,打开其内容:

-- 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值