MAX offers a layered software model as shown. The base MAX layer contains services for data collection from sensors, perception, fusing sensor data, decision-making, communications, and taking actions via controls. This is core robotic “sense-plan-act” and just this layer can perform any kind of robotic function.
The MAX-UGV (Unmanned Guided Vehicle) layer provides path and movement planning services suitable for any kind of ground vehicle or robot. This layer includes 2-D path planning and routing services, support for different steering mechanisms such as skid steering or ackerman steering, and obstacle detection and avoidance.
The MAX-Auto layer provides higher-level automotive and transit maneuvers such as intersection handling, parking, traffic light detection and evaluation, merging on highways, round-abouts, following, and much more.
MAX delivers all of these capabilities as a reference autonomous engine that requires only high-level application functions to deliver a robust mobile solution. MAX is highly configurable using text-based configuration files that define how sensor data is consumed, how movements are made, how controls are engaged and much, much more.
In summary, MAX is your abstraction to autonomy – you spend your time on higher level logic and instructions for what the vehicle should ultimately do, and MAX takes care of movement, perception, and obstacle avoidance.
MAX supports higher-level programming models and also fast integration of existing code or other product libraries. Our platform offers choice, not lock-in to a specific model.
The MAX services model means your high level code requests activities and events to happen such as “give me the list of objects you detect” or “take the next right”. This frees you, the developer, to focus on exactly what the mission of the vehicle is, who or what to communicate with, etc.
MAX includes all required functions out of the box, but you can quickly insert your own custom algorithms and logic into MAX. This preserves your investments in your current software and allows you to leverage your expertise or investment. MAX’s layered architecture and robust APIs give you the flexibility to pick and choose what MAX will do and what parts you want to do yourself.
Further, MAX is designed to operate either on a single processor or to be distributed among a range of processors or cores. Changing the run-time setup allows you to use a simple solution on a lower-end unit and then scale up to a more complex solution across multiple processors while leveraging code across both solutions.
PRI offers an optional physics simulator toolkit that allows you to test your autonomous vehicle under real-world conditions including sun, rain, and darkness. Pedestrians, other vehicles, and intersections of any kind can be simulated while MAX doesn’t know if it’s in a vehicle or the simulator.
Real-world testing is still required, but our simulator solution reduces development cycles and cost by allowing your team to test quickly and safely from their office. You can use the same hardware as in the vehicle, or on more convenient platforms like laptops.
As noted above, our autonomous engine will allow you to drive your vehicle via configuration of sensors, controls, and behavior without the need to write a single line of code. For example, having the pre-defined CAN commands from a major automotive OEM, we installed our GPS solution on their car and had the car self-driving in one morning from arrival of car to complete self-navigation.
MAX handles all the critical operating functions including logging, security, and system management so you don’t have to. You just focus on what the vehicle should do.
MAX has operated in real-time environments for over 16 years and has been tested with the major real-time operating systems. Today’s MAX software has its roots in the 2005 DARPA Grand Challenge and the 2007 DARPA Urban Challenge (fully autonomous vehicles with no one inside vehicle).
MAX was built as a production grade system from the start and has a provable safety model. MAX is the one solution that works from the test bench to the test track to the manufacturing line without ever needing a rewrite.
With experienced, high quality autonomous engineers in short supply, you may want some help as you staff up your team. Perrone Robotics’ services team is there to help fill in any gaps in expertise or we assist you to implement an entire solution to your specs.
We have projects that range from small personal robots to ATVs to shuttles to automobiles to trucking to the world’s largest Mining truck – all running on the same autonomous engine: MAX.
Watch MAX-based Hardware In the Loop (HIL) simulation at work in the video below.
The goal of the MAX platform is to enable your work, not restrict you. As such, MAX runs on a wide range of operating systems and supports both soft and hard real-time environments. Our soft real-time support is very good, and of course hard-real-time meets all deadlines as designed. Does your code have to change? No.
You need to pick the HW platform needed for the amount of sensor processing you’re doing and for your power profile. Note that we have (as a demo/example) run an automobile running GPS localization, 2 lidars and radars performing obstacle detection and avoidance – all on a Raspberry Pi ($39). More rigorous and production environments will need more. If you’re performing simple tasks using only MAX Common functions, you can run on a smaller processor/memory footprint.
Listed below are some common requirements: