Converting IMU data into twist messages
If you are able to the visualization in Rviz, you are done with the interfacing. The next step is to convert IMU orientation into command velocity as ROS twist messages. For this, we have to create a ROS package and a Python script. You can get this package from chapter_5_codes/gesture_teleop
; look for a script called gesture_teleop.py
from the gesture_teleop/scripts
folder.
If you want to create the package from scratch, here is the command:
$ catkin_create_pkg gesture_teleop rospy roscpp std_msgs sensor_msgs geometry_msgs
Now let's look at the explanation of gesture_teleop.py
, which is performing the conversion from IMU orientation values to twist
commands.
In this code, what we basically do is subscribe to the /imu_data
topic and extract only the yaw and pitch values. When these values change in the positive or negative direction, a step value is added or subtracted from the linear and angular velocity variable. The resultant velocity is sent using...