问题标签 [webots]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webots - 如何编辑内置机器人的节点
我发现在最新版本的webots(2019a)中,无法编辑内置机器人的模型树节点。它们似乎被封装了,并且没有 Children 节点。我希望通过内置机器人的示例来学习建模,但在以前的版本(7.0.3 版)中它是可编辑的。
ros - 转向角超过规定值
我在 Webots 中模拟了一个机器人。机器人有一个主动脚轮。脚轮有两台电机,一台用于转向,一台用于线速度。我正在使用 Webots ROS 控件,它以 ROS 服务的形式提供所有内容。
对于线性(车轮旋转),我在速度控制中使用它,而转向控制在位置控制中完成。速度控制按预期工作,但转向位置控制工作不正常。每当向机器人发出转向指令时,轮子都会转动 360 度。但不会在指定的值处停止并超过。命令采用 rostopics 的形式,在其回调中调用 webbots rosservices。
作为调试,我在终端中调用了服务并转到指定的值,并且对同一电机的多次服务调用不会超调。但是在下面的脚本中调用相同的服务(通过速度和转向主题)会产生问题。
代码
这是轮子的初始位置,可以在此处看到轮子的所需位置。但是电机并没有停在所需的位置,而是一直到关节的硬极限
c++ - 将 webbot 连接到 Visual Studio
我正在为 webbots 和 Visual Studio 使用最新版本(2019),我想做的是根据https://cyberbotics.com/doc/guide/using-visual-studio-with-连接这两者网络机器人。但是一旦我$(ProjectName).exe
输入,Linker > General > Output File
我会收到以下错误:
此外,当我根据本教程的第 3 节将一些带有以下标头的代码放入 .cpp 文件时,我得到另一个错误:
标题:
错误:
提前致谢!
vrml - 稀有轮子(Hinge2joints)不旋转
我正在使用hinge2joints 来模拟球形轮子。我已经设置了参数,即锚点和 2 轴(y,z)。当我改变关节的位置时,轮子会根据需要旋转。运行模拟并移动机器人后,这两个罕见的轮子根本不动并打滑机器人。
机器人模型:我正在模拟一辆叉车,它有一个主动转向的脚轮,两个罕见的球形轮和叉上的两个圆柱形轮。除了球形轮外,脚轮和圆柱形轮子在运行模拟时会根据需要旋转。
webots - Webots:线路跟随器传感器返回不一致的值
我正在尝试使用红外距离传感器(与 e-puck 线跟随器相同)在 Webots 中制作线跟随器。问题是传感器返回非常不一致的值,范围在黑色表面上的 250-550 和白色表面上的 700-1100 之间。
我尝试使用多个传感器,然后取平均值,但机器人仍然无法下线。根据我的阅读,使用光传感器不是一种选择,因为它不适用于反射光。有没有办法使用一些不同的传感器(或相机)或“修复”距离传感器以提供更一致的值?
谢谢你的帮助
ros - 将 Webots 连接器设备与 ROS 一起使用
我目前正在尝试使连接器设备与 ROS 一起使用。我的第一步是只取一个“connector.wbt”世界的机器人并将其放置在一个新世界中,并将机器人控制器参数切换为“ros”,如下所示。
当我运行模拟时,所有 ROS 服务都会按预期进行广告宣传。在下一步中,我使用其相应的服务启用连接器,其中需要指定一个整数(存在检查时间步长)//presence_sensor/启用服务,如下所示:
现在该主题已启用,但是没有发布任何消息,而我希望看到“webots_ros/Int8Stamped”类型的消息,如果没有合适的连接器,这应该给我零。
如果问题出在我这边,有什么想法吗?如果您重新创建上述示例,Connector-Ros-Interface 是否对您正常工作?
webots - 测量车辆尺寸
我想测量 WeBots 中提供的 BMW X5 和雪铁龙 CZero 车型的后轮轴中点到驾驶座之间的距离。你们中的任何人都可以建议一个程序来测量这种距离,或者从 PROTO 文件中获取它的方法吗?
Ps.:通常人们会在汽车制造商的技术规格中搜索此类数据,但对于这两种车辆,他们都没有提供这样的详细信息。
谢谢。
webots - 我们如何知道传感器值是否已更新?
传感器通常使用 启用wb_XXX_enable(tag, sampling_period)
,并且可以使用 检索传感器值wb_XXX_get_values(tag)
。
我们如何知道检索到的值wb_XXX_get_values(tag)
是否是新值?
一种天真的方法是保存值并为每个循环进行比较,但如果传感器值没有改变,它就行不通。
webots - 控制 Webots 模拟步骤
是否有可能以编程方式计算 Webots 模拟步骤,即每次一个模块完成其规划时,Webots 应该根据模块的输出计算下一个模拟步骤。
我已经检查了主管模式,但除了设置模拟模式之外,它似乎对模拟运行没有一些控制。
编辑1:
另一个ROS节点规划完成后,如何从脚本中“执行一个模拟步骤(Webots环境中的ctrl + 1)”?
python - 导入机器人后更改弹簧常数会导致问题
我必须对模型腿的肌腱刚度进行优化。手动更改弹簧常数不会导致任何问题,并且物理模型似乎运行良好。当我尝试针对这些值进行优化时,问题就出现了。
由于这是一个优化问题,我必须运行模拟 1.5 秒,然后将机器人重置为其初始状态,弹簧常数略有不同。为此,我将机器人模型保存为“Robot.wbo”文件。在每次优化迭代结束时,我删除现有的机器人节点并使用“def importMFNode”创建一个新的机器人节点,从而创建处于初始状态的机器人。在每次新迭代开始时,我会设置新的弹簧常数,设置这些会导致模型出现意外行为。我已将问题归结为这两行。
这两条线所做的就是改变两个滑块接头的弹簧常数。如果我使用这两个命令执行此操作,模型将失败。如果我手动操作,它可以工作。
而不是模型表现正常,它只是表现不规律而不像它应该的那样。但是,如果我在主管代码导入机器人节点后立即手动制作它的新副本,并删除旧的,机器人会按预期运行。