CoppeliaSim添加ROS自定义消息类型

CoppeliaSim(原V-REP)新手上路 CoppeliaSim(原V-REP)是一个机器人仿真平台,里面有很多来自别的公司的机器人模型以及完备的物理引擎,我们可以通过python,c++,matlab等语言控制里面的机器人。,您也可以在官网中Downloads里找您需要的版本,一般只需要下载EDU版本就可以了,我下载的是v4.1.0 windows EDU版本。在版本V4之前,CoppeliaSim叫V-REP,在官网可以下载到之前的V-REP版本。 阅读详情

CoppeliaSim学习互助群:1084817794

CoppeliaSim

CoppeliaSim作为具有高扩展性的仿真平台,提供了许多接口,可谓万物皆插件,只要编译生成插件即可。github提供了simExtROS插件的源代码。当自带的ROS插件功能无法满足时,可以修改其源代码,编译生成插件即可。本文基于Ubuntu 20.04系统测试。

准备工作

建立ROS工作空间

安装catkin-tools

官网
注意 由于Ubunt 20.04 是Python3,所以使用sudo apt-get install python3-catkin-tools会出现依赖问题。完整过程如下
添加repositories

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

安装catkin_tools
注意下面是python3,如果是更低版本的ubuntu系统则用python
sudo apt-get update sudo apt-get install python3-catkin-tools

问题:
在这里插入图片描述
解决:看上面图的最下一行,这是缺少一个依赖osrf_pycommon,安装时要同时安装上osrf-pycommon

sudo apt install python3-catkin-tools python3-osrf-pycommon

编写自定义ROS消息包

大家自行查询,这里以我在github下载的阿克曼消息为例

git clone https://github.com/ros-drivers/ackermann_msgs.git ackermann_msgs

在这里插入图片描述
在工作空间下编译

编译sim_ros_interface

  1. 下载libPlugin
    注意:libPlugin版本必须与CoppeliaSim的版本相对应,可以下载历史版本
    在这里插入图片描述

  2. 下载sim_ros_interface
    注意:同libPlugin,版本必须与CoppeliaSim版本相同,可下载历史版本

git clone --recursive https://github.com/CoppeliaRobotics/simExtROSInterface.git sim_ros_interface
  1. 添加自定义消息ackermann_msgs
    修改sim_ros_interface包CMakeLists.txt、package.xml、meta/messages.txt。
    在cmakelist.txt添加ackermann_msgspackage.xml添加ackermann_msgs添加ackermann_msgs的两个子类型

  2. 启动roscore

  3. 工作空间下编译
    将sim_ros_interface放在工作空间src下,注意,如果工作空间用catkin_make编译过,需要删除devel与build文件,才能用catkin build 编译,或者用catkin_make_isolated编译(我没试过,但其功能与catkin build 差不多)
    在这里插入图片描述

问题1:COPPELIASIM_ROOT_DIR 路径没设置
在这里插入图片描述
解决:在~/.bashrc末尾添加export COPPELIASIM_ROOT_DIR=/home/lyz/sim_ws/src/CoppeliaSim_Edu_V4_1_0_Ubuntu16_04/(具体路径根据自己的CoppeliaSim路径而定)。确认环境变量添加成功,如果添加后还报同样的错误,关闭终端重启即可。

问题2:
在这里插入图片描述
解决:这是因为CoppeliaSim是最新的,libPlugin不是最新的,版本不匹配,先下载最新的libPlugin,替换CoppeliaSim里的libPlugin,然后编译会出现新的问题,
在这里插入图片描述
按照提示,sudo apt install xsltproc 之后编译便没啥问题了。
6. 参考博客

由于ubuntu 16 18 的ROS都是基于python2,下载的CoppeliaSim版本一定要注意,因此上面的过程不适合,需要在github上下载历史版本的sim_ros_interface, 还有下载对应版本的libPlugin,否则编译会出现很多奇怪错误。下载历史版本的github教程。

CoppeliaSim中测试

随便找个场景,订阅消息话题
在这里插入图片描述
在这里插入图片描述
编译没问题,在终端能看到这个话题
在这里插入图片描述

catkin build 与 catkin_make的区别

https://catkin-tools.readthedocs.io/en/latest/migration.html
主要区别是catkin build编译是独立构建的,而catkin_make编译是有依赖的,本例的工作空间下有自定义消息包ackerman_msgs与sim_ros_interface,用catkin_make编译生成的.so插件是有依赖项的,因此将其放在CoppeliaSim下是无法识别ackermann_msgs消息的。而用catkin build编译的包已经将所有需要的依赖添加,相对独立,因此放在CoppeliaSim下是不会出现依赖问题。
在这里插入图片描述
除了用catkin build编译,还可以用catkin_make_isolated单独对sim_ros_interface编译,生成的插件效果一样。

教训

一定用按照官方教程来做,否则白白浪费那么多时间,自作聪明用catkin_make可以替代catkin build,结果一直没成功,还是乖乖安装好catkin tools后一下子就成功了。

参考博客

发现CoppeliaSim学习资料好少,建立个CoppeliaSim学习互助群:1084817794

CoppeliaSim(VREP)和ROS Moveit的联合仿真 目标 完成一套多视觉和点云感知的机械臂场景,与Moveit实现联合仿真,通过ROS通信实现传感器数据的获取(视觉、点云、机械臂状态等)并实现对机器人的控制。 实现过程 环境配置 CoppeliaSim自带视觉传感器(VIsion sensor、Kinect、雷达、GPS等传感器)直接拖拽进入即可,要调整的是他们之间的位置关系,通过菜单栏的调整平移,调整旋转。 菜单 通过CoppeliaSim的URDF导入功能,直接可以完成机械臂的导入,这部分没有遇到难点,入口在Plug... 阅读详情

相关推荐

Coppeliasim关节控制

Coppeliasim关节控制

m0_47989004的博客 2217

Coppeliasim仿真日记(一): 简介、下载和API的查询

这是我很久以前用CoppeliaSim(原名V-REP)这个仿真软件整理的一些操作的步骤,由于这款软件出的比较久,然而改名后网上有些教程的内容已经过时,造成我使用过程中踩了不少坑,所以写一下这软件相关的一些使用说明帮助后面用这款软件的人。 这系列的文章不会涉及到ros和CoppeliaSim的接口使用(当时用的时候还不会ros),只涉及python和该软件接口的使用,如果后面再次用到这款软件可能会更新相关的操作。 简介: 具有集成开发环境的机器人仿真器CoppeliaSim(原名V-REP)基于分布式

qq_42286607的博客 7278

ROS2 教程——金土石科技CoppeliaSim

Linux 发行版应包含已在 CoppeliaSim/compiledROSPlugins 中编译的文件,但首先需要将其复制到 CoppeliaSim/,否则不会加载。但是,您可能会遇到插件加载问题,具体取决于您的系统特性:确保始终检查 CoppeliaSim 的终端窗口以获取有关插件加载作的详细信息。中的代码将使发布者能够流式传输视觉传感器的图像,并使订阅者能够侦听相同的流。enableSyncMode 主题:通过发布该主题的 std_msgs/msg/Bool 消息,可以开启/关闭单步执行模式。

2503_91265227的博客 794

CoppeliaSim机器人模拟器与Matlab Simulink环境

CoppeliaSim与Matlab Simulink可以通过接口进行集成,从而实现更高级别的机器人仿真和控制。例如,用户可以使用Matlab Simulink来构建机器人控制系统模型,并通过接口将控制指令传递给CoppeliaSim进行仿真验证。它提供了一个集成的开发环境,支持传感器、机械、机器人、环境的系统建模与仿真。Matlab Simulink是MathWorks公司推出的MATLAB中的一个可视化仿真工具。三、CoppeliaSim与Matlab Simulink的集成。

FL1717的博客 3373

【预测控制】【ROS Noetic + CoppeliaSim 】双臂抓取+静态/动态避障

在 Ubuntu 系统上安装和运行一个预测双臂运动规划框架(Predictive Dual-Arm Reactive Motion Planning Framework)所需的环境、步骤及相关信息。

qq_45762996的博客 1915

Ubuntu下Coppeliasim的安装与ROS基本配置

ROS及机器人仿真学习

qq_48922607的博客 1921

Coppeliasim中自定义ROS消息的方法整理

Coppeliasim中自定义ROS消息的方法整理(封面是官方的插件制作案例)

qq_48922607的博客 1209

从仿真到控制:手把手教你用CoppeliaSim和ROS自定义消息控制BubbleRob小车

本文详细介绍了如何利用CoppeliaSim和ROS自定义消息控制BubbleRob小车,从基础环境准备到自定义消息创建,再到高级控制功能实现。通过项目驱动的方式,帮助开发者掌握从仿真到实际控制的全流程,特别适合机器人开发初学者和工程师。

weixin_33709590的博客 586

CoppeliaSim学习笔记之CoppeliaSim Edu V4.1.0 + Ubuntu 16.04 + ROS Kinetic环境搭建与基础测试

博主很懒先站坑。。。。

知不道道不知知不知道道道知的博客 9364

MongoDB启动失败(service mongod start):Failed to unlink socket file /tmp/mongodb-27017.sock Unknown error

错误日志(/var/log/mongodb/mongo.log): 2019-09-16T06:00:00.251+0000 I CONTROL [main] ***** SERVER RESTARTED ***** 2019-09-16T06:00:00.253+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-e...

deantzzz的博客 1838

Silvaco TCAD | GaN HEMT器件仿真与高频功率应用实战

本文详细介绍了使用Silvaco TCAD进行GaN HEMT器件仿真的全流程,涵盖器件结构设计、极化效应建模、高频特性分析及功率损耗优化。通过实战案例展示了GaN HEMT在电动汽车电驱和快充模块等高频功率应用中的性能优势与效率提升策略,为工程师提供可靠的仿真方法与设计验证手段。

desk3的博客 183

ROS 教程——金土石科技CoppeliaSim

Linux 发行版应包含已在 CoppeliaSim/compiledROSPlugins 中编译的文件,但首先需要将其复制到 CoppeliaSim/,否则不会加载。但是,您可能会遇到插件加载问题,具体取决于您的系统特性:确保始终检查 CoppeliaSim 的终端窗口以获取有关插件加载作的详细信息。中的代码将使发布者能够流式传输视觉传感器的图像,并使订阅者能够侦听相同的流。 simulationTime 主题:会定期发布 std_msgs::Float32 类型的消息,表示当前的模拟时间。

2503_91265227的博客 2208

ESP32-C5 Wi-Fi CSI感知技术原理与工程实践

Wi-Fi信道状态信息(CSI)是OFDM系统中反映多径信道特性的复数频域响应,源于导频子载波的信道估计过程,本质属于物理层原始观测数据。其高维度(如56子载波)、高时间分辨率(百赫兹级采样)及零硬件增益的特性,使其成为无感人体感知的理想信号源。相比UWB或毫米波雷达,CSI方案依托现有Wi-Fi基础设施,兼具成本优势与部署灵活性,广泛应用于呼吸监测、跌倒检测、手势识别等边缘智能场景。乐鑫ESP32-C5通过5.8GHz低噪接收、亚纳秒级多天线同步与固件级CSI增强,显著提升微动感知鲁棒性,结合AGC锁定、

weixin_42153793的博客 343

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

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

qq_48922607的博客 2803

Arcmap计算土方量教程

1. 创建现状TIN 结果数据: 2. 创建设计TIN 结果数据: 注意:现状TIN和设计TIN构建时候的坐标系不同,设置坐标系见最后的注意事项第1点,就是import(导入)那步骤,现状TIN构建时选择高程点数据或者等高线数据,设计TIN构建时候选择洱海面数据 3. TIN转栅格 改成你要存的数据库,注意中间不要有汉字 结果数据(设计TIN转栅格的同理) 4. 裁剪现状TIN转成的栅格 结果数据: 5. 计算土方量 结果数据: ...

欢迎关注,共同进步! 5014

高速PCB设计中串扰的成因、影响与实战控制策略

在高速数字电路与硬件系统设计中,信号完整性是确保系统稳定可靠的核心基础。其核心原理在于,当信号在传输线上传播时,会伴随产生电场与磁场,若相邻导线距离过近,便会通过电磁场耦合产生不期望的能量转移,即串扰。这一现象会直接导致信号波形畸变、时序偏移和噪声裕量降低,严重影响系统性能。从技术价值看,深入理解并有效控制串扰,是提升数据传输速率、保障系统稳定性和降低误码率的关键。其应用场景广泛覆盖了从高速SerDes链路、DDR内存接口到高精度模拟电路等几乎所有现代电子系统。本文聚焦于高速PCB设计中的串扰问题,系统剖析

weixin_27625589的博客 575

CoppeliaSim(V-Rep)和ROS2的使用说明

这篇教程简要说明,在CoppeliaSim仿真环境中,使用ROS2接口,如果是ROS 2 Dashing,直接使用安装包中的compiledRosPlugins文件夹下的libsimExtROS2Interface.so。 如果使用其他版本的ROS 2,需要手动编译生成.so文件,否则会出错。当然也支持ROS 1参考之前博文。 重新编译ROS 2之CoppeliaSim插件的过程如下所示:...

zhangrelay的专栏 8229

TGAT Python:图神经网络中的动态图算法

其中,图神经网络中的动态图算法成为了研究的热点之一。在模型的 forward 方法中,通过循环调用 TGATLayer 实例来进行图神经网络的前向传播。最终,模型返回图中节点的表示向量 output,可以用于图分类等任务。TGAT 算法的核心思想是在节点之间建立注意力连接,以捕捉节点在不同时间步之间的关系。TGAT 算法通过引入注意力机制和时间信息,从而有效地对动态图数据进行建模和分析。通过以上 Python 代码,我们可以方便地构建和训练 TGAT 模型,并在图分类任务中应用它。

2301_79366435的博客 1827

Coppeliasim中的ROS节点分析

Coppeliasim中的ROS节点分析

qq_48922607的博客 1451

从误检率30%到99.7%:YOLOv8/v9工业零件缺陷检测实战(附产线部署全流程与参数调优秘籍)

工业场景YOLO实战:从实验室到车间的关键调优策略 本文针对工业缺陷检测的特殊性,系统总结了YOLOv8/v9在工业应用中的实战经验。通过齿轮厂缺陷检测案例,揭示了实验室模型与工业场景的三点本质差异:小目标特性(0.2-1mm缺陷)、复杂背景干扰(油污/反光)和数据量不足问题。重点提出了工业级解决方案:1)数据采集需覆盖极端工况(不同光照/污染/角度);2)标注采用LabelStudio+预标注提升效率;3)定制工业增强策略(反光模拟/缺陷复制粘贴)。文章还提供了完整的参数调优记录和TensorRT加速部署

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1733

用 CDS View I_APARToleranceGroup 管理客户与供应商收付差异容差:配置语义、字段解读与 ABAP 落地实践

财务共享服务中心常面临小额差异处理的挑战,SAP通过"客户/供应商容差组"机制实现自动清账规则配置。CDS视图I_APARToleranceGroup将配置数据转化为可查询维度,包含宽限天数、固定现金折扣等关键业务参数。该视图支持按公司代码和容差组查询差异处理策略,可用于报表开发、主数据校验和接口合规检查,帮助财务团队高效管理海量小额交易差异,减少手工操作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 127

保姆级教程:在CoppeliaSim里玩转自定义ROS消息,让你的仿真机器人‘开口说话’

本文提供了一份详细的保姆级教程,指导如何在CoppeliaSim中实现自定义ROS消息,使仿真机器人能够‘开口说话’。通过环境准备、消息包创建、插件配置、Lua脚本编写及消息订阅验证等步骤,帮助开发者掌握ROS与CoppeliaSim的深度整合技术,提升机器人仿真交互能力。

weixin_30920597的博客 642

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

CoppeliaSim与ROS深度集成:从环境配置到自定义消息实战

本文详细介绍了CoppeliaSim与ROS深度集成的实践方法,从环境配置到自定义消息实战,帮助开发者高效实现机器人算法仿真。内容涵盖Ubuntu系统选择、关键组件安装、基础通信配置及自定义消息创建,特别适合机械臂控制和移动机器人SLAM仿真项目。通过性能优化和调试技巧,大幅提升开发效率。

weixin_30383279的博客 198

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

plugin ‘ROS2‘: loading...error CoppeliaSim和ROS2插件问题

装了24年最新版本ROS2 Jazzy但是仿真软件打开出bug,怎么办?等支持的出来,完全可以。但是,如果需要用,那调整一下即可。方法如上,重写一遍。

zhangrelay的专栏 1407

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

用CoppeliaSim和ROS Kinetic玩转自定义消息:从创建msg文件到驱动仿真机器人动起来

本文详细介绍了如何在CoppeliaSim与ROS Kinetic环境中创建和使用自定义消息,从基础环境搭建到实现仿真机器人的驱动控制。通过实战指南,读者将学习如何配置消息包、桥接接口以及实现Lua脚本与ROS的双向通信,适用于Ubuntu系统下的机器人仿真开发。

weixin_33739646的博客 620

CoppeliaSim(V-Rep)与ROS1、ROS2接口变迁-2024-

V-Rep(CoppeliaSim)是由 Coppelia Robotics 开发的一款开源且先进的 3D 物理仿真引擎。它因其灵活性(支持多种机器人平台的模拟)、强大的动力学引擎(支持 ODE、Bullet 和 Vortex)以及高度的可定制性(允许用户包含自己的代码或与外部世界接口)而在机器人社区中越来越受欢迎。插件为 V-Rep 和 ROS 之间的通信提供了一个强大的接口,使得在模拟环境中测试和控制机器人变得更加容易和高效。

zhangrelay的专栏 2505
上一篇: ubuntu20.04 基本配置记录 安装 搜狗输入法 QQ 微信
下一篇: ubuntu ROS_qt5_gui 人机交互环境搭建
燎原之心
博客等级 码龄9年 51粉丝 39原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值