I am currently working on the project in URDF course. I have finished all the xacro files. The model is correctly spawned in Gazebo, however, it shows status:error in rviz. I’ve noticed that the robot description is wrong as it should be ‘robot_name/robot_description’ but I think I have declared that in the launch files. Also, the neck links from 1 to 4 are missing in rviz, resulting no transform for the final neck link and the head
box_boxer_spawn.launch
<launch>
<arg name="model" default="$(find box_boxer_description)/robot/box_boxer.xacro"/>
<arg name="boxer_name" default="little_mech"/>
<arg name="boxer_id" default="1" />
<group ns="$(arg boxer_name)">
<param name="robot_description" command="$(find xacro)/xacro --inorder $(arg model) boxer_name:=$(arg boxer_name)"/>
<node name="urdf_spawner"
pkg="gazebo_ros"
type="spawn_model"
respawn="false"
output="screen"
args= "-urdf -model $(arg boxer_name) -param robot_description">
</node>
</group>
</launch>
box_boxer_controller.launch
<launch>
<arg name="boxer_name" default="little_mech"/>
<group ns="$(arg boxer_name)">
<rosparam file="$(find box_boxer_description)/config/box_boxer.yaml"
command="load"/>
<node name="controller_spawner"
pkg="controller_manager"
type="spawner"
respawn="false"
output="screen"
args="joint_state_controller
glove_R_joint_position_controller
glove_L_joint_position_controller
neck_1_joint_position_controller
neck_2_joint_position_controller
neck_3_joint_position_controller
neck_4_joint_position_controller
neck_5_joint_position_controller">
</node>
<node name = "robot_state_publisher"
pkg = "robot_state_publisher"
type = "robot_state_publisher"
respawn = "false"
output = "screen">
</node>
</group>
</launch>
main.launch
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<include file="$(find box_boxer_description)/launch/box_boxer_spawn.launch"/>
<include file="$(find box_boxer_description)/launch/box_boxer_controller.launch"/>
</launch>```