urdf to webots

(1 webots 模型)
文件地址
/software/workspace/git/leap_model/
文件树结构

controller是仿真文件的控制程序,agent_revision是正常的控制程序,my_controller是调试控制程序。启动webots会启动这个agent_revision程序,主要作用是提供AI的agent,输入是电机的位置,输出是当前状态以及奖励值,输入格式是:“setPositions” +’ \0’ + 0-3.14的浮点数字符串+’;’+ 0-3.14的浮点数字符串+;+…+’\0’,应用参考/software/workspace/git/walk_train/leap_agent.py文件里的step函数

protos是模型元文件,包括各个零部件,比如腰、第一个关节、大腿……,可以在webots里调出来显示结构及物理参数。由solidWorks导出urdf,经过https://github.com/cyberbotics/urdf2webots这个脚本导出proto源文件,再由本文件夹的script分割成单零部件。

script是脚本文件, 由solidWorks导出urdf,经过https://github.com/cyberbotics/urdf2webots这个脚本导出proto源文件,名字叫LeapTwo.proto,手工从SolidWorks英文系统(统一单位meters、kilograms、meters^3)并且要设置report coordinatevalues relative to对应的坐标系,输入物理数据到Physics.data,运行transform.py和split_proto.py,生成proto文件夹,依次拷贝到protos文件里

从solidWorks导出来的urdf,如下

从终端输入
打开urdf文件全部替换filename的属性。从package://替换成绝对位置,比如

lzx@lzx-System-Product-Name:~/Desktop/leap_one/urdf$ python3 -m urdf2webots.importer --input=leapTwo.urdf (名称)
(如果没有模块记得加载一个 pip install urdf2webots)

最终生成

打开leapTwo.proto
替换 appearance DEF 成  appearance DEF AAA
替换 appearance USE 成 appearance USE  AAA
新建proto文件夹
运行python2 split_proto.py

拷贝到protos文件夹下。

worlds文件为仿真世界,把零部件组装并添加电机、传感器、控制程序,学习参考https://cyberbotics.com/doc/guide/tutorial-1-your-first-simulation-in-webots

参考生成的t.proto文件转化成wbt文件
把t.proto重新命名成LeapTwo.proto文件拷贝到protos文件下,打开webots软件,添加LeapTwo机器人,再添加传感器

你可能感兴趣的:(urdf to webots)