##RedBot Odom
Using the SparkFun RedBot as the development platform and ros differential_drive ported for ROS indigo, as well as ros_android_sensors from my previous development, and finally robot_localization, this project tackles robot localization through encoder-based odometry sensor fusion with IMU and GPS.
The test was performed in the second floor of the Academic center, in the hallway between the entrance to the Large Project Building and the Robotics Lab.
At the end of the test, the localization node failed to meet the update rate and began to act erratically. Before then, however, the estimates were accurate and reliable.
cd ~/catkin_ws/src
git clone https://github.com/yycho0108/redbot_odom.git
catkin_make --pkg redbot_odom
Alternatively, in case your build environment is catkin tools:
catkin build redbot_odom
-
Run roscore:
roscore
-
Run the Application as explained here
-
Launch the Odometry/Control Interface with the Arduino:
roslaunch redbot_odom odom.launch
This will instantiate a rosserial socket that communicates with the arduino, as well as the diff_drive package that would provide basic first-order estimate of the odometry.
Currently, the package requires that you control the robot with a joystick (/dev/input/js0), over /joy -> /cmd_vel.
-
Launch the Localization Node:
Before this step, be sure to zero out the arduino's odometry (lwheel, rwheel) by pressing reset.
roslaunch redbot_odom localization.launch