在Windows环境下Webots与Ros的联合仿真

系统环境:Win11专业版 21H2   WSL2+Ubuntu18.04+ROS melodic

软件版本:WebotsR2020a rev1

前言

        工作原因需要在Windows环境下进行开发,而代码开发需要在Linux环境下。在Windows环境下运行WSL中能够流畅进行Linux相关的开发、ROS的开发等。WSL和ROS的详细安装与配置可参照网上其他教程。

WSL是Windows推出的可让开发人员不需要安装虚拟机(vmware,virtbox)或者设置双系统启动就可以原生支持运行GNU/Linux的系统环境,简称WSL子系统。 目前最新的版本是WSL2,在原先的基础上提高了文件系统的性能并添加了完全的的系统调用支持。WSL2使用全新体系架构使其能真正的运行一个Linux内核。

        但Webots 仿真软件在Windows环境下能够流畅仿真,但在Wsl环境下则存在不少兼容性问题,仿真流畅度较低。

        因此最终采用在Windows环境下运行webots,建立ros_python控制器节点,通过虚拟网络适配器与Wsl的Linux环境下搭建Rosmaster通信,从而实现联合仿真的方案。

Webots(Windows端)

        Webots的Windows安装路径下有大量官方文档和示例文件,其中ros_python.wbt 是webots与ros联合仿真的示例世界文件,ros_python为控制器源码。

世界文件目录:(Webots安装路径)\Webots\projects\languages\ros\worlds\ros_python.wbt

控制器源码目录:(Webots安装路径)\Webots\projects\languages\ros\controllers\ros_python

       运行Webots,打开ros_python.wbt后,在Thymio2机器人节点下配置控制器为ros_python。

         加载ros_python控制并开始仿真后,可能存在以下报错,需要到python官网安装3.7版本的python,并加载至系统环境变量。(只能是Python3.7或Python2.7) 

         以下摘自Ros_python控制器源码的Readme文档

`ros_python` is a simple example demonstrating how you can write a Webots controller that implements a ROS node in Python.

It is a pure Python implementation, including all the necessary Python libraries, so that no ROS installation is needed on the machine running the Webots simulation.

Therefore, it runs on Windows, Linux and macOS, straight out of the box.

`ros_python.py` is the Webots controller that is running a ROS node using the `rospy` ROS client library.

This controller

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linking1127

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值