我目前正在使用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%,等等。但这是很耗时的,只是占用了机器人硬盘上不必要的空间。在
有很多方法可以做到。在
你的要求应该是: -打开文件 -使用minidom解析文件,因为格式是xml -改变它 -保存它
但根据更改的频率,这不是一个好主意(占用cpu)。在
一个更好的方法是加载/解析/更改,但是不保存它,您可以使用直接将新的时间线发送到运动模块motion.angleInterpolationBezier. 在
其他方法是使用“导出运动到剪贴板”将时间轴导出到python,然后使用纯python修改类似时间轴的数组,保存它。。。在
相关问题 更多 >
编程相关推荐