gazebo加载urdf模型后rostopic控制没反应

gazebo加载urdf模型后rostopic控制没反应

环境:ubuntu18 + melodic
最经在学习古月 《ROS机器人开发实践》这本书,在跑通书上 marm 模型的基础上,想用自己的 urdf 模型在 gazebo 中进行仿真试一下。
问题:在模型加载成功后,通过 rostopic 发布关节转动命令

rostopic pub /arm/joint2_positon_controller/command std_msgs/Float64 1.0

模型没有反应,判断是 urdf 文件的问题,

  <joint name="joint6output_to_joint6" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort = "1000.0" lower = "-3.14" upper = "3.14159" velocity = "0"/>
    <parent link="joint6"/>
    <child link="joint6_flange"/>
    <origin xyz= "0 0.0456 0" rpy = "-1.5708 0 0"/>  
  </joint>

其中,limit标签中,velocity 的值不能为 0 ,应该改为1,机械臂才可以运动

  <joint name="joint6output_to_joint6" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort = "1000.0" lower = "-3.14" upper = "3.14159" velocity = "1"/>
    <parent link="joint6"/>
    <child link="joint6_flange"/>
    <origin xyz= "0 0.0456 0" rpy = "-1.5708 0 0"/>  
  </joint>

再次加载模型并发布话题,机械臂成功运动。

要在Gazebo中启动机器人URDF模型,需要使用以下步骤: 1. 配置好机器人的URDF文件,确保模型和关节描述正确。 2. 创建一个启动文件(launch file),并导入必要的ROS包和参数。 3. 在启动文件中添加一个Gazebo节点,指定需要加载的URDF模型文件,以及其他参数,例如仿真器的时间步长和模型的起始位置。 以下是一个简单的启动文件的示例,可以用来启动一个URDF模型Gazebo中: ``` <launch> <!-- Load URDF model --> <arg name="urdf_file" default="$(find my_robot_description)/urdf/my_robot.urdf" /> <param name="robot_description" command="$(find xacro)/xacro $(arg urdf_file)" /> <!-- Launch Gazebo with URDF model --> <include file="$(find gazebo_ros)/launch/empty_world.launch"> <arg name="world_name" value="$(find my_robot_gazebo)/worlds/my_robot_world.world" /> </include> <!-- Set initial robot pose --> <node name="set_initial_pose" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen" args="-urdf -param robot_description -model my_robot -x 0 -y 0 -z 0 -Y 0" /> </launch> ``` 其中,第一个参数`urdf_file`指定了URDF模型文件的路径。第二个参数`robot_description`使用ROS参数服务器来存储URDF模型的描述。接下来,使用Gazebo的`empty_world.launch`节点来加载仿真器,同时指定需要加载的URDF文件。最后,使用`spawn_model`节点来设置模型的初始位置和姿态。 注意,这只是一个示例启动文件,并且需要根据你的具体情况进行修改。同时,需要确保已经安装了必要的ROS包和Gazebo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值