Mobile Robotics in Precision Agriculture: A CAN bus interface implementation of differential drive and exploration of localization, pose estimation and autonomous navigation.
MetadataShow full item record
A complete setup of sensors, estimators and controllers for autonomous and manual control of an unmanned dierential steered ground vehicle has been implemented in this paper. The entire system is implemented in Robot Operative System (ROS) using the open source ROS software platform FroboMind as a foundation. The system is running on a Ubuntu 12.10 laptop, with the Groovy distribution of ROS.A reliable CANopen communication for real-time control and monitoring of the motors over a single CAN bus have been deployed, with security measures for handling loss of connection between the motor controllers and the computer.Pose and position estimation using sensor data from wheel odometry,IMU sensor input and GPS signals has been implemented in an extendedkalman filter.A scheme for waypoint navigation for has been deployed, with a slow control loop for calculation of a manifold to ensure that the vehicle reaches the waypoint with the right heading, and a fast subsystem ensuring that the robot follows the manifold.Due to inaccuracy of the compass and the IMU, the position and pose estimator struggles a bit with the heading accuracy. This can be improved greatly by a better calibration of the IMU. Since we are using a stand alone GPS receiver, the accuracy of the position is in the range 2-3 meters, the accuracy of the estimators can not be more accurate. By using another GPS receiver as a base unit, the accuracy may be improved to a few cm.The waypoint navigation works really well until the vehicle is close to the waypoint, where the inaccuracies of the position estimator leads to big changes in the parameters in waypoint navigation algorithm. This is solved by introducing a parking algorithm that ensures a smooth parking of the vehicle.