You are browsing as a guest. Sign up (or log in) to start making projects!

Sentinel: Autonomous Exploration Rover

Hardware
  • 17 Devlogs
  • 118 Total hours

Sentinel, my Mars rover, is a custom Arduino Mega based project with a lot of interesting features like having multiple driving modes. Manual mode lets the user take control in difficult terrain, such as steep craters or areas the sensors may not recognize correctly. Autonomous mode allows Sentinel’s onboard control system to navigate on its own when the user wants a break. One of its main systems is an ultrasonic sensor mounted on a servo. The sensor scans left, center, and right to detect obstacles, reverse when necessary, compare the available paths, and choose the clearest direction—hopefully without getting stuck behind a space rock. I am developing a responsive web controller, custom CAD mounts, motor-control hardware, mission statistics, and status reporting. The project began with starter-kit tutorials, but I have continued expanding and rewriting it while learning C++, electronics, CAD, soldering, and hardware debugging.

Open comments for this post

3h 52m logged

––Devlog 17––

Continuing Sentinel’s Retrace System

Today I continued working on Sentinel’s autonomous retrace system.

The goal of this system is to give it a way to recover when autonomous navigation leads it into a bad situation.

Instead of stopping, it will eventually be able to remember its recent route, retrace it, look for another path, and only return control to the user if autonomous recovery fails.

Recording Autonomous Movement

I continued connecting it’s existing autonomous navigation to the movement-history system.

it can store recent movements using:

rememberMovement()
0
0
7
Open comments for this post

8h 10m 5s logged

––Devlog 16––

Testing Sentinel in the Real World

Yesterday I focused on just testing it over obstacles

I’ve spent a lot of recent sessions improving the autonomous navigation system, failsafe logic, sensor handling, mission statistics, and the beginning of the retrace system.

Physical Testing

I spent the session working with Sentinel’s real hardware and observing how the different systems behave outside of the Arduino IDE.

I focused on:

  • Motor movement
  • Servo movement
  • Ultrasonic sensor behavior
  • Sensor positioning
  • Current wiring
  • Rover movement
  • Existing manual controls
  • Existing autonomous behavior
0
0
14
Open comments for this post

4h 54m logged

––Devlog 15––

Remembering its Path

Today I started working on a much more advanced recovery system for the rover.
Until now, FAILSAFE has mainly been designed to stop the rover when autonomous navigation runs into a serious problem.
I don’t want stopping to always be the rovers first and only solution.
Instead, I want Sentinel to eventually remember where it came from, retrace part of its path, and search for another route.

The New Recovery Idea

The recovery system I’m building is designed to eventually work like this:

Dead End?
        I
        v
FAILSAFE
        I
        v
Retrace Recent Path
        I
        v
Scan Surroundings Again
        I
        v
Try Another Route
        I
        v
No Safe Route?
        I
        v
Switch to Manual Mode
0
0
3
Open comments for this post

5h 19m logged

—Devlog 14—

Making it more reliable

today I continue improving the autonomous navigation system work better by making a better failsafe.

Sensor Failures

I improved sentinels ultrasonic sensor failure handling/
the rover now treats different situations respectively not just backing up when sensor failsafe now it will retrace its path and go a different way if there is no other way the rover will automatically switch to manual mode and your device will do a cool animation

change in the schedule

since school started I am trying hard to balance 6 hours of school and 5 hours of work each day, so now physical and catch up days are on weekends due to having no school.

0
0
4
Open comments for this post

4h 59m 40s logged

–Devlog 13–

Finishing Sentinel’s Failsafe System

Today I continued working on Sentinel’s autonomous safety system.

The main goal was to make FAILSAFE more useful instead of having it simply stop the rover without explaining what happened.

0
0
3
Open comments for this post

13h 10m 39s logged

––Devlog 12––

Making Sentinel Safer

Today I focused on improving autonomous navigation and making the rover safer when something goes maybe might go wrong.

A lot of today’s work was about making sure Sentinel doesn’t just assume that every sensor reading is correct or that every direction is safe.

Smarter Path Decisions

I added a minimum turning clearance to the rover’s settings.

Before this, Sentinel could scan both directions and simply choose whichever side had more space.

For example:

left: 8 cm
right: 12 cm
the right side has more space, but 12 cm still isn’t enough room to safely turn.

Now it checks whether a direction actually has enough clearance before choosing it.

If both directions are clear, it chooses the side with more room.

If only one direction is clear, it chooses that direction.

If neither direction is clear, it knows that it needs to try something else.
gn

0
0
9
Open comments for this post

7h 26m 43s logged

———––Devlog 11————

I made it to Colorado

yeah

Failsafe

I decided to make the autonomous mode safer rather than faster.
the purpose of the failsafe is if something is to ever go wrong it will know what to do.

Smart Path Decision

well you heard the title, well basically what I did is that it can tell the difference between:

  • A clear path
  • A path that is too close to an obstacle
  • A failed sensor reading
  • Both paths being blocked

I also added a minimum turning distance so it doesn’t choose one side for being like 1 cm better than the other.

Example:
left: 11cm
right 12cm

0
0
8
Open comments for this post

5h 14m 21s logged

———––Devlog 10————

Improving Sentinel’s Brain And Hardware

Today I finally did a hardware and software day
I spent the digital part fixing my devlogs and coding the place holder awareness.

Software Progress

I continued working on the autonomous navigation system like:

  • Tracking servo current position
  • Improved logic for left, center, and right
  • Remembering sensor readings

Physical Work

My solder wire is leaded im cooked
I didnt like my solder work so I tried again but this time I watched a video and it said leaded is dangerous so yeah
but I connected 1 wire cut in half\

Important Info

im going to colorado today for 10 days but 3 of them Im going to be in mountain so no work

Thanks for following Project Sentinel!

0
0
5
Open comments for this post

7h 29m 4s logged

———––Devlog 09————

Sentinel’s Software Gets Smarter

Today I focused mainly on improving Sentinel’s software and project documentation.

The rover is not physically ready for full testing yet, so I used the digital work session to organize the code, fix errors, add useful debugging features, and improve how I present the project.

Software Progress

I expanded Sentinel’s Arduino Mega code with several new systems:

  • Manual and autonomous driving modes
  • Emergency stop command
  • Configurable rover settings
  • Obstacle detection and stopping
  • Reverse-and-turn behavior
  • Servo-based left, center, and right scanning
  • Mission statistics
  • Current rover status reporting
  • Structured communication messages
  • TB6612 motor-driver control functions

The autonomous system is designed to follow this sequence:

  1. Drive forward
  2. Detect an obstacle
  3. Stop
  4. Reverse
  5. Scan left, center, and right
  6. Compare the available paths
  7. Choose the clearer direction
  8. Turn
  9. Continue driving

Mission Statistics

I added a command that can report information such as:

  • Mission runtime
  • Number of obstacles detected
  • Number of left turns
  • Number of right turns
  • Number of successful distance readings

I also added a current-status command so I can check Sentinel’s mode, state, movement command, and latest sensor reading while debugging.

📡 Communication Protocol

I standardized the messages Sentinel sends through the Serial Monitor.

Examples include:

MODE:MANUAL
MODE:AUTONOMOUS
STATE:DRIVING
STATE:REVERSING
STATE:SCANNING_LEFT
CMD:FORWARD
CMD:STOP
DIST:32.4
0
1
11
Open comments for this post

14h 44m 37s logged

———––Devlog 08————

Making The Navigation Brain

Toda I focused on the software for Sentinel.
instead of working on hardware all day I switch to digital to make the user interface easy and intuitive for everyone(me) to use without any brain power.

What I coded

I added code for :

  • The stop distance before obstacles
  • Sensor-reading interval
  • duration for turning and reversing
  • and movement speed changes

I got these from looking at my robot vac believe it or not.

Preparations

I began preparing for the motors because i have to solder them to the Arduino and im a noob at it so i made self drving mode and manual mode with placeholders

What I Learned

those little disks roaming around houses are hard to code kudos to the engineers, but I think that I learned that sensor awarness is hard and that

anyways, Thanks for listening to my thing and following my project.

0
1
14
Open comments for this post

10h 23m 44s logged

———––Devlog 07————

Sentinel’s Web Controller Is Fixed

Today I fixed a major part of the website which was the mobile part not being able to work properly

Desktop Controls

On a computer, sentinel can be controlled using the keyboard.
The main controls are (for now):

  • W - Forward
  • A - Left
  • S - Backward
  • D - Right

Mobile Controls

For phones, I designed a different interface, instead of trying to use small buttons to control I made a joystick .

Device Detection

The website automatically provides better control method depending on what device you are using.

Thanks for following Project Sentinel! We’re getting closer to actually driving this thing.

0
1
11
Open comments for this post

9h 59m logged

—————— Devlog 06 ——————

Building Sentinel’s Eyes & Control Center

Over the past few days, I worked on both the physical rover and its control system.

What I Finished

I completed the custom mount for Sentinel’s ultrasonic sensors.

The mount holds the sensors securely and prepares them to be mounted on the servo, allowing Sentinel to scan left, center, and right while navigating.

Website Progress

I also spent time building Sentinel’s web controller.

So far I have created:

  • 🖥️ Desktop version
  • Mobile version

Both versions are coming together nicely.

The only problem is that the mobile version isn’t displaying correctly on my phone yet, so I’ll show it off in the next devlog after I fix it.

What I Learned

This project is becoming much bigger than just building a rover.

I’m now working on:

  • CAD
  • 3D printing
  • Web development
  • C++
  • Electronics
  • Hardware integration

It’s exciting seeing all of these skills come together in one project.

Next Mission

  • Fix the mobile website layout
  • Finish the web controller
  • Mount the ultrasonic sensor onto the servo
  • Continue building Sentinel’s autonomous navigation system

Thanks for following Project Sentinel! Every update gets me one step closer to bringing Sentinel to life.

0
1
77
Open comments for this post

4h 29m 52s logged

———––Devlog 05————

Learning CAD - Day 2

Today I continued learning CAD so I eventually design custom parts for Sentinel.

What I Learned

Its hard.
also refined my skills and made some medium difficulty items.

Thanks for following Project Sentinel!

0
1
33
Open comments for this post

11h 49m 16s logged

———––Devlog 04————

Learning CAD

After being away for a while, I finally made it home!
Now that I access to all my hardware again, I decided to make a mount for my servo and sensor and for the battery.

Why I’m Learning CAD

The rover needs some mount for:

  • Ultrasonic Sensor
  • Servo
  • Battery
  • Other electronics

What I’m Working On

My first goal is to design a bracket that can mount the ultrasonic sensor on top of the servo.

That setup will allow Sentinel to:

  • Look left
  • Look forward
  • Look right
  • Compare distances
  • Choose the best path

What I’m Learning

This is my first time trying a 3d modeling software, so Im going to start off with the basics.

Target for tomorrow

  • Make simple 3d shapes
  • Build a servo mount
  • Maybe print

Thanks for following Project Sentinel!

0
1
54
Open comments for this post

4h 21m 36s logged

———––Devlog 03————

Information

It’s definitely been longer than I planned since my last update .

I was on vacation for a while, and I honestly lost more time than I wanted to. Instead of letting that stop the project, I decided to get back on track by focusing on something that will help Sentinel in the long run: learning C++.

What I’ve Been Doing

While I haven’t been home to work on the hardware, I’ve been spending my time learning the fundamentals of C++.

Some of the topics I’ve been working through includes:

  • Variables
  • Loops
  • Functions
  • Enums
  • Classes
  • General programming concepts

I’ve attached a few screenshots showing what I’ve been learning.

The Plan

Since I lost some time during vacay, I going to have to do 4 hours and 32 minutes a day until I reach my goal.
It won’t be easy, but I know it’ll be worth it when Sentinel finally comes together.

Progress

Even though there hasn’t been much hardware progress yet, I believe learning C++ now will save me a lot of time later because I’ll be writing and understanding my own rover software instead of relying on tutorials.

Next Mission

  • Continue learning C++
  • Return home
  • Start assembling Sentinel
  • Begin writing the rover’s software

Thanks for following Project Sentinel. The build will finally start picking up speed soon!

0
1
11
Open comments for this post

1h 4m 1s logged

———––Devlog 02————

Preparing For Sentinel

Welcome back to another devlog!

While I’m still waiting for the rest of Sentinel’s parts to arrive (they should be here by the end of June), I’ve decided to spend this time learning C++.

Instead of relying only on the Arduino examples and documentation, I want to understand how everything works so I can build different project by myself.

Current Plan

While waiting for the hardware, I’m focusing on learning:

  • Variables
  • Functions
  • Loops
  • Classes
  • Enums
  • General C++ programming

My goal is to write as much of Sentinel’s software myself as possible instead of just copying code.

Hardware Update

As I said before Most of the remaining parts are expected to arrive near the end of June.
Once everything arrives, I’ll be able to start assembling the rover and putting everything I’ve learned into practice.

Target For Tomorrow

-Continue learning C++

  • Wait for the remaining hardware
  • Begin assembling Sentinel when the parts arrive

Thanks so much for following Project Sentinel! Every bit of support motivates me to keep improving.

0
1
14
Open comments for this post

22m 15s logged

———––Devlog 01————

Giving Sentinel Its Eyes

Today I connect the ultrasonic sensors that will act as the eyes of Sentinel

What I Added

  • Ultrasonic distance sensors
  • Front-facing sensor layout
  • Very basic obstacle detection software

Why Ultrasonic Sensors?

I considered using cameras, but they were outside my budget and would have made the project more complicated.

Target for tomorrow

  • Test distance readings
  • Connect the sensor to the Arduino Mega
  • Start obstacle-avoidance log
0
1
7

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…