CoppeliaSim实例分析系列-ABB IRB140(二)

本文深入解析CoppeliaSim中ABB IRB140机器人Non-thread Child Script的控制方法。内容包括sysCall_init()初始化函数的四个主要部分:获取Object句柄和常量,初始化UI,控制变量初始化,以及actuation变量初始化。文章强调了代码结构清晰的重要性,并提供了相关函数的参考资料链接。
摘要由CSDN通过智能技术生成

CoppeliaSim实例分析系列-ABB IRB140(二)

CoppeliaSim实例分析系列-ABB IRB140(一)中,我们简单介绍了ABB IRB140实例的仿真环境设置,并添加了新的Non-thread Child Script来控制机器人。

在这里插入图片描述

现在我们来深入讲解如何使用Non-thread Child Script来控制机器人。原版环境中的脚本编程顺序过于混乱,不方便学习,请大家下载我修改过的IRB140优化脚本

在开始之前,大家需要搞了解如下内容:

  • 简单掌握Lua语言的语法,请参考博客Lua语法快速入门

  • Non-thread Child Script和thread Child Script的区别,请参考博客(整理中,敬请期待)。

控制脚本整体结构与分块

本实例中的脚本总共有四个大函数,分别为:

function sysCall_init()
	--do something
end
function sysCall_actuation()
	--do something
end
function sysCall_sensing()
    -- put your sensing code here
end
function sysCall_cleanup()
    -- do some clean-up here
end
  • sysCall_init()函数是开启仿真时的初始化函数,只运行一次,一般用来初始化变量、UI和Object的句柄等。
  • sysCall_actuation()函数是在仿真过程中循环执行的函数,在每个仿真步都会运行一次,是主要的控制机器人的函数。
  • sysCall_sensing()函数是在仿真过程中执行传感器行为的函数,在每个仿真步都会运行一次。
  • sysCall_cleanup()函数是在仿真结束后的清理函数。

此实例只需要编写前两个函数,为了提高代码的阅读性,我将官方提供的代码进行了整理,整理出下面几个代码块,后面我们按照代码块分别讲解。

function sysCall_init()
	----1. 获取场景中的Object的句柄和一些常量
	----2. 初始化UI
	----3. 初始化一些控制变量
	----4. 初始化一些用于actuation的变量
end
function sysCall_actuation()
	----1. 一个特殊情况的处理
	----2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值