Figure 18. Listing topics.
Figure 19. Echoing imu_data.
roscore on the PC side. Also, the ROS Python serial node
can give you your own device name by using this
When you echo the topic, you may get values like
those in Figure 19. You can also echo the /tf using this
rostopic echo /imu_data
rostopic echo /tf
$ rossrun rosserial_python serial_node.py
If everything is working fine, you will get a message
like that shown in Figure 17.
You can list out the topics after running the above
command. You may get new topics such as /imu_data, /tf
as in Figure 18. You can also inspect each topic. The
imu_data can be echoed using the following command:
Figure 20 shows a typical output of the tf topic. After
checking these topic values, we can display the TF data
inside Rviz as you can see in Figure 21. The screenshot
shows the imu_link with respect to base_link which is a
static link. The IMU link is placed one unit away from
base_link. You can move the IMU by using your hand to
change its orientation. You can see the same orientation
inside Rviz as well.
Congratulatios! You are done
interfacing one of the best IMUs
available on the market to ROS! You
can now use it for various applications
such as robot control and
That wraps up our basic tutorial
session on an ROS-Arduino interface.
We installed ROS and set up ROS serial
packages to communicate with an
Arduino. We have successfully set up
the interface and then performed a
basic Blink code using this interface.
Figure 21. Visualizing TF.
We also completed a complex example
called ROS-IMU interfacing. SV
36 SERVO 11.2016