How Robots Help Us Explore Extreme Environments

Robots are now being used to explore some of the most dangerous and inhospitable places on Earth, and even beyond.

In this blog post, we will cover some of the ways that robots are helping to explore the unknown. We will also take a look at some of the challenges that need to be overcome in order to develop robots that can safely and effectively explore even the most extreme environments.

Robots in Space

One of the most exciting areas of robotic exploration is space. Robots have been used to explore the Moon, Mars, and other planets in our solar system. They have also been used to repair and service satellites in orbit.

One of the most famous robotic space explorers is the Curiosity rover, which landed on Mars in 2012. Curiosity has been exploring the Gale Crater on Mars for over a decade, and has made many important discoveries about the planet’s past and present environment.

curiosity_rover_mars

Another notable robotic space explorer is the Perseverance rover, which landed on Mars in 2021. Perseverance is tasked with collecting samples from Mars that will be returned to Earth for analysis. This could help us to learn even more about the Red Planet and its potential for habitability.

perseverance_mars_rover

Robots in the Deep Sea

Robots are also being used to explore the deep sea. The deep sea is one of the least explored places on Earth, and robots are helping us to learn more about its unique ecosystems and biodiversity.

One example of a robotic deep sea explorer is the remotely operated vehicle (ROV) Nereus. Nereus is capable of diving to depths of over 10,000 meters, and has been used to explore the Mariana Trench, the deepest point in the ocean.

nereus_underwater_vehicle

Another example of a robotic deep sea explorer is the autonomous underwater vehicle (AUV) Sentry. Sentry is capable of operating independently for months at a time, and has been used to map the seafloor and collect data on marine life.

sentry

Robots in Other Extreme Environments

Robots are also being used to explore other extreme environments on Earth, such as volcanoes, caves, and glaciers. These environments can be dangerous for humans to explore, but robots can safely navigate them and collect data.

One example of a robotic extreme environment explorer is the robot submarine Nereid Under Ice (NUI). NUI is a hybrid remotely operated vehicle (ROV) developed by the Woods Hole Oceanographic Institution (WHOI). It is designed to explore and sample under-ice environments, which are difficult to access using traditional methods.

drift-ice-3048163_640

NUI is equipped with a high-definition video camera, a 7-function electro-hydraulic manipulator arm, and a range of acoustic, chemical, and biological sensors. It can operate in water depths of up to 4,000 meters and can be deployed from icebreakers or research vessels.

Challenges and Future Directions

There are still a number of challenges that need to be overcome in order to develop robots that can safely and effectively explore even the most extreme environments.

One challenge is developing robots that are powered by long-lasting batteries. This is especially important for robots that need to operate in remote or inaccessible areas.

Another challenge is developing robots that can withstand harsh environmental conditions. For example, robots that explore volcanoes need to be able to withstand high temperatures and toxic gases.

kilauea-3088675_640

Finally, robots need to be equipped with sensors and artificial intelligence (AI) that allow them to perceive their surroundings and make decisions autonomously. This is especially important for robots that need to operate in dangerous or unpredictable environments.

Additional Thoughts

Here are some additional thoughts on how robots are helping us to explore the unknown:

  • Robots are being used to explore the human body. For example, robotic surgical systems allow surgeons to perform complex procedures with greater precision and accuracy than would be possible with traditional methods.
  • Robots are being used to explore the past. For example, archaeologists are using robots to excavate ancient ruins and search for lost artifacts.

The possibilities for robotic exploration are endless. As robots become more capable and sophisticated, we can expect them to help us to learn more about the world around us.

Keep building!

How to Install Docker on Ubuntu

In this blog post, I will explain the step-by-step process for installing Docker on an Ubuntu Linux system. As a reference for you, here are the official instructions.

At the end, I will explain in detail how Docker is used in robotics.

Uninstall Old Versions of Docker

The first thing you need to do is to uninstall any outdated versions of Docker that might be lurking on your computer.

Open a terminal window, and type the following command:

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

You might get a message back saying that you have none of those packages installed. That is just fine.

Set Up the Apt Repository

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Install Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verify that Docker Installed

sudo service docker start
sudo docker run hello-world

Post-Installation Configuration

Here are some recommended steps to take after you have successfully installed Docker.

Create the docker group.

sudo groupadd docker

Add your user to the docker group.

sudo usermod -aG docker $USER

Reboot your computer.

sudo reboot

Or you could have activated changes to groups instead of rebooting:

newgrp docker

To test that you can run Docker without using “sudo”, type the following command:

docker run hello-world

Now configure Docker to start on boot:

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

You can stop this startup on boot at any time, by typing:

sudo systemctl disable docker.service
sudo systemctl disable containerd.service

Now you’re all set.

How is Docker Used in Robotics?

Docker is a toll that allows you to package your software, including all its dependencies, into a standalone unit called a “container.” You can then deploy this container on any machine that has Docker installed, regardless of the underlying computer that is being used.

Docker is used in robotics for a number of reasons, including:

  • Reproducibility: Docker containers allow you to create a reproducible development environment for your robotics project. This means that you can be confident that your project will run the same way on any machine that has Docker installed.
  • Portability: Docker containers are portable, meaning that they can be easily moved from one machine to another. This is useful for developing and deploying robotics applications on a variety of platforms, including embedded devices, cloud servers, and robots.
  • Scalability: Docker containers are lightweight and efficient, making them ideal for scaling robotics applications. You can easily start and stop multiple containers on a single machine, or deploy multiple containers across a cluster of machines.

Here are some specific examples of how Docker is used in robotics:

  • Developing and testing robotics software: Docker can be used to create isolated development environments for robotics software. This allows developers to work on different components of a robotics project in parallel, without worrying about conflicts with other dependencies. Docker can also be used to test robotics software on different platforms, without having to install all of the necessary dependencies on each platform.
  • Deploying robotics applications: Docker can be used to deploy robotics applications on a variety of platforms, including embedded devices, cloud servers, and robots. This makes it easy to scale robotics applications and deploy them to production environments.
  • Running ROS 2: Docker is often used to run ROS 2. You can find the official ROS 2 Docker repository here on DockerHub.

If you are looking to simplify your development and deployment of software on to robots, I highly recommend you learn Docker.

That’s it. Keep building!