The Advanced Teleoperated Office Marauder (ATOM) is a demonstrator platform, using Raspberry Pi 3 computer and Robot Operating System (ROS) framework for the software.
The rover features a skid-steer platform for locomotion, a 9-axis inertial measurement system (IMU), stereo camera, monocular camera and GPS receiver.
The rover in itself is not the important part of the project. ROS is a powerful framework driven by huge community including academia, the RPi is a cheap and accessible platform available to everyone, putting them together to make a rover capable of doing autonomous tasks is the challenge.
The goal for this project is to make a tutorial and demonstrator of an autonomous rover that can traverse rough terrain safely by assessing the obstacles and steep slopes and avoiding them. Most of the work will be to test explain and show how to use the ROS framework. In the end it should be easily adaptable to any type of robot.
A lot of work has already gone in this project behind the scenes. I use this opportunity to learn more about ROS and robotic simulation using V-REP. I made a tutorial a while ago about how to simulate a robot using V-REP and interact with ROS, it was even featured on Hackaday. I'm now using the same approach for ATOM.
Basically this allows me, to some extent, develop the software without having to work on the real hardware, which can be quite limiting (sensor issues, difficult to reproduce scenarios, battery...).
This is what it looks like on the simulation side in V-REP, I added a stereo camera because I can:
This is what the ground control looks like in ROS/RVIZ, it can receive the IMU, cameras and GPS data streams:
I can develop the control node and use the publicly available ROS nodes to do sensor fusion. In the end the ROS code developed in simulation should run the same way on the real rover, except that the sensor streams will come from real sensors instead of the simulated ones.