gazebo multi_robot

本文详细解析了multirobot_laser_nav.launch文件的配置方法,包括如何为两个机器人robot1和robot2设置robot_description参数,运行joint_state_publisher、robot_state_publisher和urdf_spawner节点,以及调整发布频率等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

multirobot_laser_nav.launch

	<group ns="robot1">
        <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find myrobot_gazebo)/urdf/myrobot_with_rplidar.urdf.xacro' ns:=robot1" /> 
    	<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> 
   	    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"  output="screen" >
            <param name="publish_frequency" type="double" value="50.0" />
        </node>
        <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
            args="-urdf -model robot1 -param robot_description -x 0"/>   
    </group>

    <group ns="robot2">
        <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find myrobot_gazebo)/urdf/myrobot_with_rplidar.urdf.xacro' ns:=robot2" /> 
    	<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> 
   	    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"  output="screen" >
            <param name="publish_frequency" type="double" value="50.0" />
        </node>
        <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
            args="-urdf -model robot2 -param robot_description -x 2"/>   
    </group>

myrobot_body.urdf.xcro

<robotNamespace>/</robotNamespace>
修改为:
<robotNamespace></robotNamespace>

myrobot_teleop.py

pub = rospy.Publisher('/cmd_vel', Twist, queue_size=5)
修改为:
pub = rospy.Publisher('cmd_vel', Twist, queue_size=5)
<!-- Load joint controller configurations from YAML file to parameter server --> <rosparam file="$(find multi_robot_scenario)/config/wheeltec_control.yaml" command="load"/> <!-- load the controllers --> <node name="controller_manager" pkg="controller_manager" type="spawner" respawn="false" output="screen" ns="/wheeltec_robot" args="left_rear_wheel_velocity_controller right_rear_wheel_velocity_controller left_front_wheel_velocity_controller right_front_wheel_velocity_controller left_steering_hinge_position_controller right_steering_hinge_position_controller joint_state_controller"/> <!--运行joint_state_publisher节点,发布机器人关节状态--> <node name="robot_state_publisher_rviz" pkg="robot_state_publisher" type="robot_state_publisher"/> <node name= "robot_state_publisher" pkg= "robot_state_publisher" type= "robot_state_publisher"> <remap from="/joint_states" to="/wheeltec_robot/joint_states"/> <param name="publish_frequency" type="double" value="50.0"/> </node> <!-- servo node --> <node pkg="multi_robot_scenario" type="servo_commends.py" name="servo_commends" output="screen"/> <!-- transform node --> <node pkg="multi_robot_scenario" type="transform.py" name="transform" output="screen"/> <!-- 是否用gazebo产生 odom --> <node pkg="multi_robot_scenario" name="gazebo_odometry" type="gazebo_odometry.py"/> 采用这样的方式产生gazebo中的odom话题,那么一定时间内不断变换gazebo中的环境,为什么一段时间之后odom话题会出错,数据变成nan
03-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值