Every year, our group Autonomous Ground Vehicle participates in the Intelligent Ground Vehicle Competition, held in Michigan, USA. We designed and developed the robots Eklavya 6.0 and 7.0 for participating in the 26th and 27th IGVC respectively. The Intelligent Ground Vehicle Competition(IGVC) is one of the leading competition in the field of autonomous vehicles. The participants have to develop an autonomous ground vehicle which can navigate through a constrained environment while avoiding multiple obstacles on the path. The robot should also be able to navigate through a set of GPS waypoints while following lanes and avoiding obstacles.
The final run of Eklavya 6.0 that won us the First Runner Up prize at the 26th IGVC
The Eklavya 6.0 and 7.0 both performed equally well as the team grabbed the second position in both the editions. In addition to that, Eklavya 7.0 was given recognition for the first team to qualify for the finals.
Overview of Eklavya 7.0
The entire project was divided into four different subsystems as follows-
- Mechanical design
- Electronics and embedded systems
- Planning and controls
I worked on the overall electronic architecture and control systems of the robot. The robot was based on ROS architecture. Unscented Kalman Filter based localisation was implemented, which combined the odometry data from rotary encoders and inertial data from the GPS and IMU to provide filtered odometry output. The ROS Move-Base package was used for generating the trajectory along with Time Elastic Band local planner for path planning. I also worked on the Lidar based cost-map generation.
Eklavya 7.0 was a three-wheeled differential drive robot with front two driven wheels and a rear castor wheel. The chassis was mainly made up of wood and was reinforced and covered with aluminium. It had mounts for placing a 2D lidar, PointGrey Blackfly camera, GPS and an IMU. It also had provisions for weatherproofing which would protect the electronics and sensors in the event of light rain. The bot was powered with the help of two DC geared motors which could generate torque up to 14.2 Nm.
The Electrical system of Eklavya 7.0 consists of 2 high torque DC motors, Roboteq MDC2230 Motor Controller, sensors like Lidar, Camera, Encoders, GPS and IMU, Xbee for Wireless Emergency stop and a Laptop for processing. There were many additional safety provisions in the bot like onboard/Wireless Emergency stops, reverse polarity check and current limiting. A state of charge estimation technique was implemented for battery monitoring.
As mentioned earlier, Localization is handled by fusing the data from different onboard sensors namely: GPS, IMU and feedback from wheel encoders using Unscented Kalman Filter(UKF). The planning module plans an optimal trajectory between the current bot’s position and the destination waypoint generated through the perception module by using a local and a global planner. A-star algorithm was used for generating the global path whereas the TEB planner was used for generating the local trajectory.
The perception module was subdivided into multiple parts like obstacle and pothole detection, lane detection, curve fitting and waypoint generation. A linear combination of colour channels was used to detect the obstacles which interfered in the proper detection of lanes. Combination of channels like 2B-G, B and 2B-R followed by adaptive thresholding