当前位置: 首页 > news >正文

Coppeliasim倒立摆demo

首先需要将使用Python远程控制的文件导入到文件夹,核心是深蓝色的三个文件。

image.png

本版本为4.70,其文件所在位置如下图所示,需要注意的是,目前不支持Ubuntu22的远程api:

image.png

image.png

双击Sphere这一行的灰色文件,可以看到远程 simRemoteApi 的串口号为19998,当在Coppeliasim运行后,后台会发布该串口,可以利用Python进行远程控制。

image.png

import time  
import numpy as np  
import sys  
sys.path.append('./VREP_RemoteAPIs/')  
import sim as vrep_sim  # 连接Coppeliasim  
vrep_sim.simxFinish(-1) # 关闭掉其他的连接  
while True:  
# simxStart()函数的第一个参数是连接的IP地址,第二个参数是端口号,第三个参数是是否等待连接,第四个参数是是否检查连接,第五个参数是连接超时时间,第六个参数是重连次数  
# 返回的clientID是建立连接的ID,可以理解为指向你的scene  
client_ID = vrep_sim.simxStart('127.0.0.1', 19998, True, False, 5000, 5)  
# 根据返回的值,来判断是否连接成功  
if client_ID > -1:  
print('Connect to remote API server.')  
break  
else:  
print('Failed connecting to remote API server! Try it again ...')  # 打开同步模式  
synchronous_enable = True  
# simxSynchronous()函数的第一个参数是连接的ID,第二个参数是是否开启同步模式  
vrep_sim.simxSynchronous(client_ID, synchronous_enable)  
vrep_sim.simxStartSimulation(client_ID, vrep_sim.simx_opmode_oneshot)  # ------------------------------- Initialization -------------------------------  
# vrep_sim.simx_opmode_blocking为阻塞模式。命令被发送,函数将等待实际的应答并返回它(如果函数没有超时)  
# vrep_sim.simxGetObjectHandle即获取在client_ID下的名字为'joint'的对象的句柄  
return_code, joint_handle = vrep_sim.simxGetObjectHandle(client_ID, 'joint', vrep_sim.simx_opmode_blocking)  
if (return_code == vrep_sim.simx_return_ok):  
print('get object joint ok.')  # 获取'joint'的位置  
_, q = vrep_sim.simxGetJointPosition(client_ID, joint_handle, vrep_sim.simx_opmode_streaming)  
vrep_sim.simxSetJointTargetPosition(client_ID, joint_handle, 0, vrep_sim.simx_opmode_streaming)  # ------------------------------- Simulation -------------------------------  
t = 0  
# 时步,多少秒更新一次  
delta_t = 0.005 # simulation time step  
for _ in range(5000):  
t = t + delta_t  
_, q = vrep_sim.simxGetJointPosition(client_ID, joint_handle, vrep_sim.simx_opmode_buffer)  
print('q=', q)  
q_new = np.sin(t)  
vrep_sim.simxSetJointTargetPosition(client_ID, joint_handle, q_new, vrep_sim.simx_opmode_streaming)  if synchronous_enable == True:  
vrep_sim.simxSynchronousTrigger(client_ID)  
# 检索将命令发送到服务器,执行和发回所需的时间。 那个时间取决于各种因素,如客户端设置,网络负载,仿真是否正在运行,仿真是否是实时,模拟时间步骤等。功能是阻塞。  
_, ping_time = vrep_sim.simxGetPingTime(client_ID)  
# 静止时步的时间  
time.sleep(delta_t)  
# 停止仿真  
vrep_sim.simxStopSimulation(client_ID, vrep_sim.simx_opmode_blocking)  
# 结束此场景  
vrep_sim.simxFinish(client_ID)  
print('Program terminated')

代码运行后,如图所示,可以驱动倒立摆末端转动。

image.png

相关文章:

Coppeliasim倒立摆demo

首先需要将使用Python远程控制的文件导入到文件夹,核心是深蓝色的三个文件。 本版本为4.70,其文件所在位置如下图所示,需要注意的是,目前不支持Ubuntu22的远程api: 双击Sphere这一行的灰色文件,可以看到远程…...

汽车燃油泵数据分析:全球市场的年复合增长率将达到10%左右

燃油泵是汽车配件行业的专业术语。是电喷汽车燃油喷射系统的基本组成之一,位于车辆油箱内部,燃油泵在启动和发动机运转时工作,如果发动机停止而点火开关仍处于ON时,HFM-SFI控制模块关闭燃油泵的电源,以避免意外点火。 …...

DC-磁盘管理(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 题目配置步骤组成RAID 5,磁盘分区命名为卷标H盘:Raid5。手动测试破坏一块磁盘,做RAID磁盘修复,确认RAID 5配置完毕。验证查看Raid5(打开磁盘管理器,查看raid信息)Raid5磁盘修复…...

216961-98-7,BODIPY 493/503 NHS 活化酯,可以应用于分子生物学等领域中

您好,欢迎来到新研之家 文章关键词:216961-98-7,BODIPY 493/503 NHS 活化酯,BODIPY 493/503 NHS ester,BODIPY 493/503 SE 一、基本信息 产品简介:BODIPY 493/503 NHS ester是一种特殊的染料&#xff0c…...

Python采集学习笔记-读取excel数据

表格格式 方法一:使用xlrd import xlrd 1.读取Excel文件 workbook xlrd.open_workbook(plc.xlsx) 2.读取第一个表 sheet workbook.sheet_by_index(0) 3.获取表格总行数 total_rows sheet.nrows 4.创建列表,存储表格一行中每一列信息 plc_info [] for row in range(1…...

幻兽帕鲁服务器游戏怎么升级版本?

幻兽帕鲁服务器游戏怎么升级版本?自建幻兽帕鲁服务器进入Palworld游戏提示“您正尝试加入的比赛正在运行不兼容的游戏版本,请尝试升级游戏版本”什么原因?这是由于你的客户端和幻兽帕鲁服务器版本不匹配,如何解决?更新…...

【ASP.NET Core 基础知识】--身份验证和授权--授权和策略

一、授权和策略的概念及应用 在ASP.NET Core中,授权和策略是重要的安全概念,用于确定用户是否有权限执行特定的操作或访问特定的资源。以下是关于ASP.NET Core中授权和策略的概念及其应用的一些重要信息: 1.1 授权(Authorizatio…...

20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动

20240130在ubuntu20.04.6下卸载NVIDIA显卡的驱动 2024/1/30 12:58 缘起,为了在ubuntu20.4.6下使用whisper,以前用的是GTX1080M,装了535的驱动。 现在在PDD拼多多上了入手了一张二手的GTX1080,需要将安装最新的545的驱动程序&#…...

汽车标定技术(十七)--Bypass的前世今生

目录 1.Bypass的诞生 2.Bypass的发扬光大 2.1 基于XCP的Bypassing 2.2 基于Debug的Bypass 2.3 小结 3.Bypass的实际应用 1.Bypass的诞生 下图我相信只要用过INCA的朋友都非常熟悉。 这是远古时期(2000年左右?我猜)ETAS针对发动机控制参数标定设计的一种并行数据…...

【开源精选导航】GitHub-Chinese-Top-Charts:一榜在手,优质中文项目轻松找寻

各位热爱开源技术的朋友们,你们是否有过这样的困扰:面对浩瀚的GitHub海洋,想找寻那些具有高质量中文文档的优秀开源项目却无从下手?今天,我们就为大家揭晓一个宝藏般的开源项目——GitHub 中文项目集合(访问…...

C++ 11新特性之语法甜点1

概述 C 11中引入了许多简化编程工作的语法上的新特性,我们暂且美其名曰:“语法甜点”。下面,我们将对这些“语法甜点”一一进行介绍。 语法甜点1:序列for循环 序列for循环是一种简化的for循环,可用于遍历一组序列&…...

【智能家居】6、语音控制及网络控制代码实现

一、语音控制 1、指令结构体编写 这个结构体定义了一个命令输入的模型。在这个模型中,包含以下几个部分: cmdName:一个长度为128的字符串,用于存储命令名称。dvicesName:一个长度为128的字符串,用于存储设…...

Windows断开映射磁盘提示“此网络连接不存在”,并且该磁盘直在资源管理器中

1、打开注册表编辑器 快捷键winR 打开“运行”, 输入 regedit 2、 删除下列注册表中和无法移除的磁盘相关的选项 \HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\ 3、打开“任务管理器”,重新启动“Windows资源…...

Java项目要不要部署在Docker里?

部署Java项目有很多种方式,传统的方式是直接在物理机或虚拟机上部署应用,但为什么现在容器化部署变得越来越流行, 个人觉得原因有以下几个: 1、 环境一致性:使用Docker可以确保开发、测试和生产环境的一致性&#xff…...

Linux 入门基础知识(一)—— Linux的基本使用

Linux 入门基础知识 一、Linux的基本使用和配置1.1、终端1.2、消耗内存1.3、运行级别1.6、登录前欢迎语1.5、登录后欢迎语1.6、shell1.7、ps aux1.8、设置主机名1.9、whoami和who am i1.10、命令提示符 二、Linux执行命令的过程详解和命令类型2.1、命令执行2.2、hash缓存表2.3、…...

纯静态微信小程序水果商城

首页代码 <view class"container"><!-- 轮播图 --><view class"swiper-container"><swiper class"screen-swiper" indicator-dots"true" circular"true" autoplay"true" interval"300…...

操作系统-线程的实现方式和多线程模型(用户级线程 内核级线程 多线程模型的情况)和线程的状态,转换,组织,控制

文章目录 线程的实现方式和多线程模型总览线程的实现方式用户级线程内核级线程多线程模型一对一多对一多对多 小结 线程的状态,转换,组织,控制总览 线程的状态与转换线程的组织与控制 线程的实现方式和多线程模型 总览 线程的实现方式 用户级线程 程序自己通过自己设计的线程…...

计算机网络 应用层

文章目录 应用层域名系统 DNS域名系统概述互联网的域名结构域名服务器 文件传送协议FTP 概述FTP 的基本工作原理简单文件传送协议 TFTP 远程终端协议 TELNET万维网 WWW统一资源定位符 URL超文本传送协议 HTTP万维网的信息检索系统 电子邮件电子邮件概述简单邮件传送协议 SMTP邮…...

拥有你的微调大模型,零代码定制+算力免费送

2023年&#xff0c;ChatGPT的横空出世掀起了人工智能领域的新一轮革命。 很快大模型的潮水就越过广袤的太平洋&#xff0c;席卷国内科技圈和投资圈&#xff0c;几乎所有科技公司都在押注大模型。根据工信部赛迪研究院数据&#xff0c;预计2023年我国语言大模型市场规模将达到1…...

《Docker技术革命:从虚拟机到容器化,全面解析Docker的原理与应用-上篇》

文章目录 Docker为什么会出现总结 Docker的思想Docker历史总结 Docker能干嘛虚拟机技术虚拟机技术的缺点 容器化技术Docker和虚拟机技术的区别 Docker概念Docker的基本组成镜像&#xff08;image)容器&#xff08;container&#xff09;仓科&#xff08;repository&#xff09;…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...