luasocket(CoppliaSim原v-rep)

本文介绍了CoppeliaSim内部与外部通信的各种方式,包括信号、自定义数据块、ROS接口、BlueZero、远程API以及持久数据等,提供了一种理解CoppeliaSim通信机制的全面概述。
摘要由CSDN通过智能技术生成

CoppeliaSim内部与外部通讯方式

信号(Signals)
sim.setIntegerSignal (Lua)
sim.getIntegerSignal (Lua)
sim.clearIntegerSignal (Lua)
sim.setDoubleSignal (Lua)
sim.getDoubleSignal (Lua)
sim.clearDoubleSignal (Lua)
sim.setStringSignal (Lua)
sim.getStringSignal (Lua)
sim.clearStringSignal (Lua)
sim.getSignalName (Lua)
sim.waitForSignal (Lua)

  • 信号可以看作是全局变量。
  • 当前支持四种类型的信号:整数,浮点,双精度和字符串型信号。
  • 可以定义,重新定义,读取和清除信号。在仿真结束时,将清除由主脚本或任何子脚本创建的所有信号。
-- script 1 writes the data to string signal "mySignalName":

local myData={
   1,2,{
   "Hello","world",true,{
   value1=63,value2="aString"}}}
sim.setStringSignal("mySignalName",sim.packTable(myData))
-- script 2 reads the data from string signal "mySignalName":

local myData=sim.getStringSignal("mySignalName")
if myData then
    myData=sim.unpackTable(myData)
end

自定义数据块(Custom data blocks)
sim.readCustomDataBlock (Lua)
sim.readCustomDataBlockTags (Lua)
sim.writeCustomDataBlock (Lua)
sim.packUInt8Table (Lua)
sim.packDoubleTable (Lua)
sim.packFloatTable (Lua)
sim.packInt32Table (Lua)
sim.packUInt32Table (Lua)
sim.packUInt16Table (Lua)
sim.packTable (Lua)
sim.unpackUInt8Table (Lua)
sim.unpackDoubleTable (Lua)
sim.unpackFloatTable (Lua)
sim.unpackInt32Table (Lua)
sim.unpackUInt32Table (Lua)
sim.unpackUInt16Table (Lua)
sim.unpackTable (Lua)
sim.transformBuffer (Lua)
sim.setReferencedHandles (Lua)
sim.getReferencedHandles (Lua)

  • 定制数据块是可以存储在对象内部或场景内部的数据。

  • 可以用于存储要与模型或场景一起保存的自定义数据,也可以用作通信手段。

-- script 1 writes the data to the scene:

local myData={
   1,2,{
   "Hello","world",true,{
   value1=63,value2="aString"}}}
sim.writeCustomDataBlock(sim.handle_scene,"myTag",sim.packTable(myData))
-- script 2 reads the data from the scene:

local myData=sim.readCustomDataBlock(sim.handle_scene,"myTag")
if myData then
    myData=sim.unpackTable(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值