用插件在 Soilworks导出drdf,然后进行运动学仿真那些东西,然后发现放到ros里面之后模型横过来了,大家能不能来帮帮忙,看看怎么让模型正回来。搞了好久,人要裂开了。
是根据B站古月居的教学视频导出的。
用插件在 Soilworks导出drdf,然后进行运动学仿真那些东西,然后发现放到ros里面之后模型横过来了,大家能不能来帮帮忙,看看怎么让模型正回来。搞了好久,人要裂开了。
下午好🌅🌅🌅
本答案参考ChatGPT-3.5
你可以尝试以下几个解决方案来将模型正过来:
修改后的代码示例:
在URDF中更改joint角度:
<joint name="your_joint_name" type="revolute">
<origin xyz="0 0 0" rpy="0 **0 0**"/> <!-- 将加粗的rpy改为0或180度 -->
<parent link="parent_link_name"/>
<child link="child_link_name"/>
<axis xyz="0 0 1"/>
</joint>
在URDF中更改link坐标:
<link name="your_link_name">
<visual>
<origin xyz="**0 0 0**" rpy="0 0 0"/>
</visual>
<collision>
<origin xyz="**0 0 0**" rpy="0 0 0"/>
</collision>
</link>
在Python脚本中发布TransformStamped消息:
import rospy
import tf2_ros
from geometry_msgs.msg import TransformStamped
rospy.init_node('your_node_name')
pub = tf2_ros.TransformBroadcaster()
t = TransformStamped()
t.header.frame_id = "your_frame_id"
t.child_frame_id = "your_child_frame_id"
t.transform.translation.x = <your_translation_x>
t.transform.translation.y = <your_translation_y>
t.transform.translation.z = <your_translation_z>
t.transform.rotation.x = <your_rotation_x>
t.transform.rotation.y = <your_rotation_y>
t.transform.rotation.z = <your_rotation_z>
t.transform.rotation.w = <your_rotation_w>
pub.sendTransform(t)
rospy.spin()