Base_link and roll_M1_link not generated in rviz

Hi, I kept facing the same problem with this part of the course where if I try to write down the code myself, I was not able to generate the robot. The error that I am receiving is :

    [ERROR] [1623637554.697606526]: Error reading end tag.
Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/joint_state_publisher/joint_state_publisher", line 44, in <module>
    jsp = joint_state_publisher.JointStatePublisher()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/joint_state_publisher/", line 159, in __init__
    robot = xml.dom.minidom.parseString(description)
  File "/usr/lib/python2.7/xml/dom/", line 1928, in parseString
    return expatbuilder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/", line 940, in parseString
    return builder.parseString(string)
  File "/usr/lib/python2.7/xml/dom/", line 223, in parseString
    parser.Parse(string, True)
xml.parsers.expat.ExpatError: mismatched tag: line 8, column 18
[robot_state_publisher-2] process has died [pid 23811, exit code 255, cmd /opt/ros/kinetic/lib/robot_state_publisher/state_publisher __name:=robot_state_publisher __log:=/home/user/.ros/log/ef3c0c30-cca1-11eb-b79a-0242c0a85007/robot_state_publisher-2.log].
log file: /home/user/.ros/log/ef3c0c30-cca1-11eb-b79a-0242c0a85007/robot_state_publisher-2*.log
[joint_state_publisher-1] process has died [pid 23810, exit code 1, cmd /opt/ros/kinetic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/user/.ros/log/ef3c0c30-cca1-11eb-b79a-0242c0a85007/joint_state_publisher-1.log].
log file: /home/user/.ros/log/ef3c0c30-cca1-11eb-b79a-0242c0a85007/joint_state_publisher-1*.log

This is what I wrote but I have no idea what went wrong. I also try to just copy and paste the code from the instruction and it works wonderfully. It would be great if you could point out what I did wrong in my code, shown below;

<?xml version="1.0"?>
<robot name="mira">
    <link name="base_link">
            <origin rpy="0 0 0" xyz="0 0 0"/>
                    <cylinder radius="0.06" length="0.00">

    <link name="roll_M1_link">
            <origin rpy="0 0 0" xyz="0 0 0">
                    <cylinder radius="0.06" length="0.09">

    <joint name="roll_joint" type="revolute">
        <parent link="base_link"/>
        <child link="roll_M1_link"/>
        <origin xyz="0.0023 0 -0.0005" rpy="0 0 0"/>
        <limit lower="-0.2" upper="0.2" effort="0.1" velocity="0.005"/>
        <axis xyz="1 0 0"/>

Also, sometimes I get errors like so

[ERROR] [1623638607.698268255, 10422.229000000]: Failed to find root link: Two root links found: [base_link] and [pitch_M2_link]

Why is that? (p/s This occurs when I tried to make the joints of roll_M1_link and pitch_M2_link but for some reason, the roll_M1_link is nowhere to be found)

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.