## 2D UGCV GOAT Kinematics and Optimal Trajectory Planning

This is work by Ravi Balasubranian with Tucker Balch.

We have developed a 2D kinematic simulator for the GOAT. The purpose of this simulation is to help us evaluate the limits of GOAT mobility and to prototype mobility algorithms. In the simulation we make the following simplfying assumptions:

• infinite friction -- the wheels do not slip
• the terrain is composed of line segments
• both wheels must always contact the terrain

We have coupled the simulation with a planner that attempts to find a trajectory for the robot through configuration space from an arbitrary starting state to a goal state using the A* algorithm. Subject to limitations of our discretization of the action space, the planner will find an optimal trajectory (if one exists).

This kind of approach to terrain navigation may not be feasible for use in a dynamic environment on an autonomous vehicle. However, it is an important tool because it will enable us to find the absolute limits of mobility of the vehicle. We will then be able to compare the capabilities of the robot when driven by a heuristic controller with those possible under optimal control.

The state of the robot is determined by:

• the location of the front wheel in configuration space
• the angle of the "front" shoulder joint wrt the body
• the angle of the "back" shoulder joint wrt the body

At each step the planner is allowed to change the state of the robot by applying one of several "actions" or operators:

• drive the front wheel forward
• drive the front wheel backward
• rotate the front shoulder clockwise
• rotate the front shoulder counterclockwise
• rotate the back shoulder clockwise
• rotate the back shoulder counterclockwise

Each of these actions changes the state of the robot by a small, discrete amount (e.g. drive the front wheel 10cm forward). The fidelity of the solution is determined by the size of the actions. A finer resolution (smaller movements) yields a more accurate plan.

For realism we add additional constraints. If, while planning, one of the actions takes us to a state that violates one of the constraints, that action is discarded. The constraints are:

• the CG of the vehicle must always lie between the two wheels
• no part of the vehicle may penetrate the terrain

The simulation and planner are illustrated in the sequence of images below. The robot is given the task of navigating from the starting configuration on the left to the goal configuration on the right. It must plan a series of forward motions and joint angle changes to get over the step.