Skip to content


1. Perception

The basic function of the perception subsystem is to utilize our sensors to detect static and dynamic obstacles and generate a map of the environment. In our design, we will choose radar as our first choice for the perception system. With the radar, we will be able to obtain raw data that indicates the range and relative velocity of the obstacles. After filtering the noise in the data, we can estimate the size and distance of the
obstacles. For the obstacles, we will need to avoid static obstacles such as bridges and buoys and then path plan around these objects.

In more technical detail, the radar we will be using for perception is the Simrad Broadband 4G FMCW radar. We will use an open source software called Navico Broadband Radar Plugin to get the data from the radar. Once we are able to get the data, we will experiment with different types of filters to do mapping and obstacle. One promising option we found is the Gaussian Mixture Probability Hypothesis Density Filter (GM-PHD). It is expected to give better results than common methods such as the particle and Kalman filters.

Perception Subsystem

Figure1: Perception Subsystem

2. Path Planning

In planning, we will solve the problem of path planning of our autonomous boat in an unknown environment. Here, we assume that we would be getting the obstacle data and parameters from perception and IMU data (Heading, GPS coordinates) from the low level controller in the boat. We would be solving the problems considering the path in 2D. Here our subsystem is divided into three major tasks:

  • Commanding low level controller to control speed and heading.
  • Commanding low level controller to navigate from one GPS waypoint to another.
  • Developing an algorithm based on an existing graph search path planning like A to navigate the boat through multiple waypoints considering shortest path. This would also include localizing the vehicle
    and mapping it on existing map through APIs like Google Maps.
  • Plan the new path in case we receive obstacle data/map from the perception sub-system.

After literature review [6], [7], [8], the possible graph search algorithms are:

  • Forward search in continuous coordinates, e.g., using rapidly exploring random trees (RRTs).
  • Directly formulate the path-planning problem as a non-linear optimization problem in the space of controls or parametrized curves.

    Path Planning subsystem

    Figure2: Path Planning subsystem


3. Simulation

The simulator enables us test the perception and path planning algorithms with a well-built model of boat and the environment. The simulator is a requirement for the autonomous boat development for two main reasons:

  • Since we have limited field testing opportunities with the boat due to budgeting constraints, we need other ways of testing for our algorithm. The simulator proves to be a good choice for improving the perception and path planning algorithm with advantages of time and budget saved.
  • The simulator provides a way to visualize the algorithms and implementing the simulator successfully will be viewed as a big milestone in our project.

The preliminary choice of our simulator is gazebo. Stage is a well-designed simulator platform for robots to test algorithms effectively and efficiently. Stage is ROS based and many Stage models has been developed that can be used in our simulation.

For the simulator, we need to build a model of the boat that includes the accurate size and dynamic nature of the boat. Then we should be able to import an external map like Google maps and data that indicates
the position and size of the obstacles to the simulator. Then we can implement the path planning algorithms to get best performance for both dynamic and static obstacles.

Simulator Subsystem

Figure3: Simulator Subsystem