Hi,
I am working with the Real Robot for my Wall Follower rosject and I found an error with the /odom topic. I don’t know if this is due to my code or hardware. What happens is that even when the robot is still, the values published on the /odom topic change.
My code for the odom_callback function is the following:
def odom_callback(self, msg):
x = msg.pose.pose.orientation.x
y = msg.pose.pose.orientation.x
z = msg.pose.pose.orientation.z
w = msg.pose.pose.orientation.w
self.get_logger().info("(" + str(x) + ", " + str(y) + ", " + str(z) + ", " + str(w) + ")")
_, _, yaw = self.euler_from_quaternion([x, y, z, w])
...
What I get printed from this function:
[wall_finder-1] [INFO] [1678735063.178043223] [wall_finder_server]: (0.0, 0.0, 0.44142162799835205, 0.8972998261451721)
[wall_finder-1] [INFO] [1678735063.277297594] [wall_finder_server]: (0.0, 0.0, 0.4350792467594147, 0.9003921747207642)
[wall_finder-1] [INFO] [1678735063.296599984] [wall_finder_server]: (0.0, 0.0, 0.4320705831050873, 0.9018397927284241)
[wall_finder-1] [INFO] [1678735063.376826597] [wall_finder_server]: (0.0, 0.0, 0.42722752690315247, 0.9041441679000854)
[wall_finder-1] [INFO] [1678735063.378956432] [wall_finder_server]: (0.0, 0.0, 0.4242747128009796, 0.9055335521697998)
[wall_finder-1] [INFO] [1678735063.467673831] [wall_finder_server]: (0.0, 0.0, 0.4178750813007355, 0.9085044860839844)
[wall_finder-1] [INFO] [1678735063.475781889] [wall_finder_server]: (0.0, 0.0, 0.4149213135242462, 0.9098572731018066)
[wall_finder-1] [INFO] [1678735063.559542112] [wall_finder_server]: (0.0, 0.0, 0.41010400652885437, 0.9120387434959412)
[wall_finder-1] [INFO] [1678735063.575390708] [wall_finder_server]: (0.0, 0.0, 0.40711191296577454, 0.9133782982826233)
[wall_finder-1] [INFO] [1678735063.643771293] [wall_finder_server]: (0.0, 0.0, 0.40220850706100464, 0.9155480861663818)
[wall_finder-1] [INFO] [1678735063.675256264] [wall_finder_server]: (0.0, 0.0, 0.39928385615348816, 0.916827380657196)
[wall_finder-1] [INFO] [1678735063.734875183] [wall_finder_server]: (0.0, 0.0, 0.3945426046848297, 0.9188776612281799)
[wall_finder-1] [INFO] [1678735063.774708355] [wall_finder_server]: (0.0, 0.0, 0.39148056507110596, 0.9201864004135132)
[wall_finder-1] [INFO] [1678735063.810920069] [wall_finder_server]: (0.0, 0.0, 0.3884337544441223, 0.9214766621589661)
[wall_finder-1] [INFO] [1678735063.875599720] [wall_finder_server]: (0.0, 0.0, 0.38481104373931885, 0.922995388507843)
[wall_finder-1] [INFO] [1678735063.877714735] [wall_finder_server]: (0.0, 0.0, 0.3817926347255707, 0.9242480397224426)
[wall_finder-1] [INFO] [1678735063.951955306] [wall_finder_server]: (0.0, 0.0, 0.376997172832489, 0.9262143969535828)
[wall_finder-1] [INFO] [1678735063.977042202] [wall_finder_server]: (0.0, 0.0, 0.3739388883113861, 0.927453339099884)
[wall_finder-1] [INFO] [1678735064.033299544] [wall_finder_server]: (0.0, 0.0, 0.36809012293815613, 0.9297901391983032)
[wall_finder-1] [INFO] [1678735064.076331293] [wall_finder_server]: (0.0, 0.0, 0.36568543314933777, 0.9307385087013245)
[wall_finder-1] [INFO] [1678735064.078327631] [wall_finder_server]: (0.0, 0.0, 0.359956294298172, 0.9329691529273987)
[wall_finder-1] [INFO] [1678735064.152615143] [wall_finder_server]: (0.0, 0.0, 0.3574869930744171, 0.9339181184768677)
[wall_finder-1] [INFO] [1678735064.176854118] [wall_finder_server]: (0.0, 0.0, 0.3521021902561188, 0.9359615445137024)
[wall_finder-1] [INFO] [1678735064.274333926] [wall_finder_server]: (0.0, 0.0, 0.34906473755836487, 0.9370986223220825)
[wall_finder-1] [INFO] [1678735064.276909494] [wall_finder_server]: (0.0, 0.0, 0.34599360823631287, 0.9382368922233582)
[wall_finder-1] [INFO] [1678735064.344679896] [wall_finder_server]: (0.0, 0.0, 0.3411026895046234, 0.940026044845581)
[wall_finder-1] [INFO] [1678735064.376118998] [wall_finder_server]: (0.0, 0.0, 0.3386133313179016, 0.9409255981445312)
[wall_finder-1] [INFO] [1678735064.445204911] [wall_finder_server]: (0.0, 0.0, 0.33131304383277893, 0.9435209035873413)
[wall_finder-1] [INFO] [1678735064.475702848] [wall_finder_server]: (0.0, 0.0, 0.3281845152378082, 0.9446136355400085)
[wall_finder-1] [INFO] [1678735064.551512397] [wall_finder_server]: (0.0, 0.0, 0.32205286622047424, 0.9467216730117798)
As you can see Z and W values are changing even though the robot is still. This error does not happen while working in simulation.
Best Regards,
Ronaldo