Python修改.x

2024-04-27 03:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用Aldebaran Robotics开发的NAO机器人系统,我想做的是动态更改行为文件的值,以便我们的研究。这些文件存储为:/behaviors/文件名.xar在

这些文件中有相当数量的代码,我希望能够在运行中修改每个电机的值。在

 ....
<ActuatorCurve name="value" actuator="HeadPitch" recordable="1" mute="0" unit="-1">
    <Key frame="15" value="16.9607" />
    <Key frame="20" value="16.9607" />
    <Key frame="25" value="16.8198" />
    <Key frame="30" value="16.9607" />
    <Key frame="35" value="16.8198" />
    <Key frame="40" value="16.9607" />
    <Key frame="45" value="16.8198" />
    <Key frame="50" value="16.9607" />
    <Key frame="55" value="16.8198" />
</ActuatorCurve>
...

在机器人的肩部、手臂、手、腿等部位,还有各种不同的马达的执行器曲线。我试图找出一种方法,我可以打开这个文件,搜索和找到的值,比如说头部俯仰电机,修改所说的值,并保存文件。在

我知道这里的用户喜欢显示我目前所做的代码,但我还没有写任何东西。我只是在想办法解决这个问题。在

总是有可能创建多个文件的100%头部点头,110%,等等。但这是很耗时的,只是占用了机器人硬盘上不必要的空间。在


Tags: 文件key代码value系统机器人动态frame
1条回答
网友
1楼 · 发布于 2024-04-27 03:12:04

有很多方法可以做到。在

你的要求应该是: -打开文件 -使用minidom解析文件,因为格式是xml -改变它 -保存它

但根据更改的频率,这不是一个好主意(占用cpu)。在

一个更好的方法是加载/解析/更改,但是不保存它,您可以使用直接将新的时间线发送到运动模块motion.angleInterpolationBezier. 在

其他方法是使用“导出运动到剪贴板”将时间轴导出到python,然后使用纯python修改类似时间轴的数组,保存它。。。在

相关问题 更多 >