首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改.xar的Python

修改.xar的Python
EN

Stack Overflow用户
提问于 2013-05-15 01:44:41
回答 1查看 449关注 0票数 1

我目前正在使用由Aldebaran Robotics开发的NAO机器人系统,我试图做的是为我们的研究动态改变行为文件的值。这些文件存储为:/behaviour/filename.xar

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

代码语言:javascript
复制
 ....
<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>
...

在机器人的肩膀、手臂、手、腿等不同的马达上,还有各种不同的ActuatorCurves。我正在试着找出一种方法来打开这个文件,搜索并找到HeadPitch电机中的值,修改所述值,然后保存文件。

我知道这里的用户喜欢像我到目前为止所做的那样显示代码,但我还没有写任何东西。我只是在尝试找出最好的方法来做这件事。

总是有可能在100%点头,110%等情况下创建多个文件。然而,这很耗时,并且只会占用机器人硬盘上不必要的空间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-15 16:32:05

有很多方法可以做到这一点。

您的请求应该是这样的:-打开文件-使用minidom解析文件,因为格式是xml -更改它-保存它

但根据您更改的频率,这不是一个好主意(cpu消耗)。

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

其他方法是使用“导出动画到剪贴板”将时间线导出到python,然后使用纯python像数组一样修改时间线,保存它,...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16549563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档