我有一个简单的差动驱动机器人模型。当我在德雷克开始模拟时,它穿过地板而不停留在地板上。我的URDF文件确实为每个链接定义了冲突。然而,在运行模拟时,它似乎不服从它。
我确实尝试过焊接底盘,这似乎可以让机器人保持在地板上。然而,由于机器人不能移动,这就实现了差动驱动机器人的目的。类似地,如果我没有定义builder.Connect(scene_graph.get_query_output_port(),plant.get_geometry_query_input_port());
它在simulation.AdvanceTo()中给出了一个错误,但我确实看到我的机器人停留在地板上。应该做些什么来纠正这个问题。我的urdf可在https://pastebin.com/jPRnsD83上使用。
我的代码可以在https://pastebin.com/T7rp9q3T上使用
任何帮助都将不胜感激。
发布于 2020-06-04 19:40:14
此外,在肖恩·柯蒂斯( Sean Curtis )给出的例子中,你可能会受益于“更现代”的做事方式,即:
get_query_output_port().DrakeLcm对象( unnecessarily.)
发布于 2020-06-04 03:42:41
有一个答案似乎不见了。我不知道发生了什么,不过,我要在此重申。
看一看你的巴斯特文代码,你似乎还没有申报地面飞机。所以,没有什么可以阻止你的机器人永远坠入爱河。
下面是一个机器人模拟添加地面的例子:
https://github.com/RobotLocomotion/drake/blob/master/examples/atlas/atlas_run_dynamics.cc#L54-L65
https://stackoverflow.com/questions/62185883
复制相似问题