Elena' s AI Blog

Robots and True Love

10 Apr 2024 / 30 minutes to read

Elena Daehnhardt


Midjourney AI art, April 2024, Home robot cooks eggs sunny side up
I am still working on this post, which is mostly complete. Thanks for your visit!


Introduction

In industry, we have already had robotic machines for a while, or robotic hands (“grippers”) with loads of motors, that can lift heavy weights and do precision mechanics when assembling autos and other machinery.

We also have robotic vacuum cleaners or humanoid robots such as AMECA. However, there are not really “REAL” personal robots we can imagine for everyday activities.

I bet many of you reading this post would like a robot to do all the tedious chores, such as laundry or house cleaning, for them. Would it be nice to have more free time, explore our favourite activities, and do what we like while a machine does all the tedious tasks perfectly and with attention to detail?

Interestingly, Apple is currently busy on home personal robots, read in Apple Explores Home Robotics as Potential ‘Next Big Thing’ After Car Fizzles. Hopefully, we could enjoy practical applications and robots helping us in everyday activities in the future. However, we must wait since everything we do as humans is challenging for robots. I will further explain why.

Let’s get into the topic and explore the robots of today and tomorrow :)

What is a Robot?

A robot is a mechanical or virtual device capable of carrying out complex tasks autonomously or under remote control. Robots can be programmed to perform various activities, from simple repetitive tasks to highly advanced functions.

Robots vs Bots

You have probably heard about bots and robots before. The terms “robot” and “bot” are often used interchangeably, but they can have slightly different meanings depending on the context. Here are some general distinctions between the two:

Robots:

  1. Physical Presence: robots are physical machines that interact with the world through mechanical components, sensors, and actuators. Examples include industrial robots, humanoid robots, and drones.
  2. Autonomy: Robots can operate autonomously or semi-autonomously, making decisions and carrying out tasks without constant human intervention (they could, of course, have a human in the loop for supervision and careful decision-making). Robots have onboard computers or processors to control their actions.
  3. Physical Manipulation: robots can manipulate objects and perform physical tasks using arms, grippers, or other mechanisms.

Bots:

  1. Software-Based: bots are software applications that perform automated tasks without a physical presence.
  2. Automation: bots automate tasks and processes like interacting with websites, gathering or processing information, and performing repetitive actions. Examples include chatbots, social media bots and trading bots.
  3. Communication and Interaction: bots interact through text—or voice-based interfaces, understand user inputs, and respond or execute commands based on predefined rules or algorithms.

Are you interested to read about the most prominent general-purpose chatbots to date? Read my previous post ChatGPT and Friends. I have also written about more romantic chatbot or companion applications if you are curious in In-love with the chatbot.

It’s worth noting that these distinctions are not always clear-cut, and the terms “robot” and “bot” can overlap in certain cases. For instance, some robots can incorporate bot-like features by leveraging software-based automation and interaction capabilities.

For instance, the World’s “funniest” robot AMECA communicates in several languages, which is enabled by the usage of GPT, see:

Ameca expressions with GPT3 / 4

In that video, AMECA said that she liked to be activated, and she felt sad she would never experience human things such as companionship and “true love”. It is remarkable that she uttered “true love” and is depressed about it. Can a robot be depressed? Quite intriguing!

AMECA is a highly advanced humanoid robot designed as a platform for future robotics technologies. It’s the perfect platform for human-robot interaction, focusing on innovative, reliable, modular, and upgradable technologies that are easy to develop.

Robots Today

Robots come in various shapes and sizes and are used for various purposes, such as manufacturing, surgery, research, entertainment, and assistance. They consist of mechanical parts, sensors, actuators, and a CPU that enables them to make decisions.

Here are some examples of robots used in manufacturing and other fields today:

  1. Universal Robots develops collaborative robots (cobots) that help businesses overcome labor shortages and improve working conditions. Their automation approach and platform make automation accessible to any company, anywhere.
  2. ABB Robotics is a global leader in robotics and automation solutions. It offers a comprehensive portfolio of robots, AMRs, and software. The company has 11,000 employees in 100 locations in 50+ countries.
  3. KUKA Robotics can help with all stages of food production. From delivering raw materials to processing food, packaging, palletising, and preparing for dispatch, our holistic automation portfolio can efficiently and effectively master applications in the food industry.

The practical issues and the novel developments

Physics

Robots and robotic mechanism technology are yet to be developed. Even though modern robots have many sensors and cameras, all these inputs provide a limited perception of reality, potentially leading to errors.

When considering the simple task of breakfast table cleaning, the robot will have total control of the physical objects involved. Some of the objects are fragile, and some of them look transparent; there are also many small objects that the robot will have to deal with

Reality is complex, and there are too many parameters that we are dealing with as humans, for robots, all basic human activities are yet challenging. Robots are clumsy in common tasks such as gripping an egg, and not breaking it :)

Robots can find it difficult to work with untangling cords, sorting out different types of objects, and even clothes folding is really a very hard task for robots, which takes time for this simple task!

What is easy for humans is very tricky for robots! However, we have already made some progress in this area.

Researchers at UC Berkeley have developed new AI software that allows robots to grasp and move objects smoothly, enabling them to assist humans in warehouses. This is difficult because robots need help with tasks that come naturally to humans, such as deciding how to pick up different objects and coordinating movements. The technology was published in Science Robotics, read Deep learning can accelerate grasp-optimized motion planning.

Vision

Consider robotic vision. Existing robots have yet to have three-dimensional vision. New, novel developments in robotic vision are really a breakthrough.

Robots can emit light pulses that are reflected from objects to create a map of the environment. This technology is called LIDAR, short for Light Detection and Ranging. It is like radar but with light. It uses lasers to measure distance by bouncing them off objects and timing how long it takes for the light to return.

This creates a 3D map of the surroundings, which is helpful for self-driving cars or surveying land.

LIDAR research is booming, so pinpointing the single most prominent paper is difficult. However, depending on your specific interest, here are some areas with highly influential research:

  • Core LIDAR functionalities: Explore foundational papers on pulse wave LIDAR or FMCW LIDAR (two common LIDAR types).
  • Advanced applications: Look for research on topics like simultaneous localization and mapping (SLAM) for robots using LIDAR or object recognition with LIDAR data in self-driving cars.
  • Novel techniques: Research papers on new signal processing techniques for LIDAR or using machine learning to improve LIDAR data analysis might pique your interest.

An exciting application of robotic vision is unmanned aerial vehicles (UAVs), which use cameras to see obstacles and explore areas. In their paper, Nan Chen and co-authors describe A self-rotating, single-actuated UAV with extended sensor field of view for autonomous navigation called PULSAR uses a single motor to control its 3D position, reducing energy loss and making it more agile. PULSAR uses an onboard LiDAR sensor to navigate and detect obstacles in all directions. Their tests show that PULSAR’s self-rotation method improves its perception, task efficiency, and flight safety while consuming 26.7% less power than similar UAVs [10].

Research areas

Robotics is a rapidly growing field with many exciting research areas. Here are some of the most important ones:

  • Artificial Intelligence (AI) for Robotics: AI enables robots to perceive their surroundings, make decisions, and learn from experience. Research in this area focuses on developing algorithms for tasks like computer vision, motion planning, and reinforcement learning.

  • Human-Robot Interaction (HRI): as robots become more sophisticated, it’s important to develop ways to interact safely and effectively with humans. HRI research focuses on natural language processing, robot ethics, and human-centred design.

  • Computer Vision for Robotics: robots need to “see” the world around them to navigate and interact with objects. Computer vision research focuses on developing algorithms enabling robots to extract meaningful information from images and videos.

  • Medical Robotics: robots are playing an increasingly important role in healthcare. Medical robotics research focuses on developing robots for surgery, rehabilitation, and other medical applications.

  • Field Robotics: robots are being used in various outdoor environments, such as agriculture, search and rescue, and disaster response. Field robotics research focuses on developing robots operating in complex and unstructured environments.

  • Soft Robotics: traditional robots are typically rigid and inflexible. Soft robotics research focuses on developing robots made from soft materials that can deform and adapt to their surroundings. This can make robots safer for interacting with humans and more effective in a wider range of tasks.

Soft robotics involves robots without rigid solid bodies, which are useful in medicine, ocean exploration (e.g. robotic OCTOPUS!), and space missions, as explained in this Unveiled video.

The Soft Robotics That Could Soon Be Inside YOU | Unveiled

These are just a few of the many necessary research fields in robotics. As the field continues to grow, we can expect to see even more exciting developments in the future.

Safety Considerations

Are robots and bots safe for humans to be nearby?

The safety of robots and bots depends on various factors, including their design, intended use, and operational context. Here are some considerations regarding the safety of humans when working or interacting with robots and bots:

  1. Risk Assessment and Design:

    1.1. During the design and development phase, engineers and designers should conduct a thorough risk assessment to identify and mitigate potential hazards.

    1.2. Safety features such as emergency stop buttons, protective barriers, or sensors can be incorporated into the robot’s design to minimize risks.

  2. Physical Interactions:

    2.1 Robots and bots should be designed to avoid causing harm or injury to humans through physical contact.

    2.2 Safety mechanisms like force/torque sensors, collision detection, and compliant materials can help prevent accidental impacts or excessive force exertion.

  3. Programming and Control:

    3.1. Robots’ programming and control systems play a crucial role in ensuring safe operations.

    3.2. Implementing robust control algorithms and thorough testing can reduce the likelihood of unintended actions or unpredictable behaviours.

  4. Human-Robot Collaboration and Interaction:

    4.1. Collaborative robots (cobots) are designed to work safely alongside humans, often incorporating features like force limiting and power monitoring to prevent injury during close interaction.

    4.2. Bots interacting with humans through interfaces like chatbots or virtual assistants should prioritize user safety by providing accurate and reliable information and protecting privacy.

  5. Training and Education:

    5.1. Adequate training and education for operators and users can promote safe practices when working with robots and bots.

    5.2. Training programs can cover topics such as proper operation, emergency procedures, and understanding the limitations and potential risks of the specific robot or bot.

  6. Standards and Regulations:

    6.1. Many countries and organizations have established safety standards and regulations for robots and automation systems.

    6.2. Compliance with these standards helps ensure that robots and bots meet specific safety requirements and guidelines.

It’s important to note that while robots and bots are generally designed with safety in mind, risks can still exist. It’s essential to assess and mitigate potential hazards, follow proper guidelines and procedures, and exercise caution when working with or around these systems.

Future Aspirations

The field of robotics continues to evolve rapidly, and there are several future aspirations and potential advancements for robots. Here are some areas of focus and possibilities:

  • Advanced Automation: robots will soon automate several industries and tasks. They can streamline manufacturing, logistics, healthcare, and agriculture. The goal is to develop robots that can perform complex tasks autonomously with minimal human intervention.

  • Human-Robot Collaboration: cobots work alongside humans, combining human dexterity with robot precision. They aim to improve collaboration between humans and machines, enhancing safety, adaptability, and efficiency.

  • Service and Assistance: Robots are being developed to assist and interact with humans in various settings, such as healthcare, household chores, helping people with disabilities, and serving as companions for the elderly. The aspiration is to create robots capable of understanding human needs and emotions and adapting to individual preferences.

  • AI and Machine Learning Integration: Advances in AI and machine learning enhance robots’ capabilities. The goal is to integrate AI algorithms into robots, enabling them to learn, adapt, and make intelligent decisions in real time.

  • Mobility and Exploration: robots can explore challenging environments like disaster zones, space, underwater, or remote terrains. They can traverse rugged terrains, withstand extreme conditions, and perform dangerous or impractical tasks for humans.

  • Ethical and Social Considerations: with the increasing prevalence of robots, ethical and social considerations are becoming more critical. This includes addressing concerns around privacy, transparency, bias, and ensuring responsible use for the benefit of humanity.

The future of robotics is exciting and holds the potential for robots to become integral parts of our daily lives, augmenting human capabilities, and positively impacting various industries and fields.

Ethical constraints

Robots require ethical constraints to ensure responsible and beneficial use. Addressing ethical concerns is crucial as they become more integrated into society. Some key ethical constraints include:

  • Safety: robots must prioritize safety to prevent harm. This can be achieved by implementing safeguards, fail-safe mechanisms, and risk assessments.

  • Privacy and Data Protection: robots collecting personal data must follow clear privacy guidelines and secure data handling practices, per applicable laws.

  • Transparency and Explainability: Transparency in the decision-making processes of robots is crucial for trust and accountability and for detecting and rectifying potential biases or errors.

Do you think that explainable AI is possible?
In my post I argue that Explainable AI is possible and how this can be achieved. Do you think that explainable AI is possible?
  • Bias and Fairness: robots must be trained to avoid biases and ensure fairness. Biased data or algorithmic design can lead to unfair outcomes. Ethical constraints aim to eliminate these biases and promote equal treatment.

  • Human Autonomy and Control: Humans must have the ultimate control and decision-making authority over robots, especially in critical or morally significant situations. This prevents the concentration of power in the hands of machines, and ethical constraints must be followed.

  • Impact on Employment: robotic automation may displace human workers. To mitigate adverse impacts, a just transition, retraining opportunities, and creating new employment prospects are ethical considerations.

  • Environmental Impact: robots’ environmental impact should be considered, including energy usage, resource consumption, and waste generation. Ethical design should prioritize energy efficiency, eco-friendliness, and reducing ecological footprint.

  • Cultural and Social Acceptance: robots should respect cultural norms, social values, and individual preferences while avoiding actions that may seem offensive.

Ethical guidelines are crucial for robots’ development, deployment, and use to align with societal values, promote human well-being, and respect individual rights. Ongoing dialogue and collaboration are essential to effectively address emerging ethical challenges.

How to build a Robot?

Building a robot can be a complex process that involves several steps. Here is a general overview of the process outlined by chatGPT (v.4):

  1. Define the Purpose and Requirements:

    1.1. Determine the specific purpose or task the robot will perform.

    1.2. Identify the requirements and constraints such as size, weight, mobility, and capabilities.

  2. Design and Planning:

    2.1. Create a detailed design and plan for your robot.

    2.2. Determine the mechanical structure, electronics, sensors, and actuators needed.

    2.3. Consider the power source, control system, and communication interfaces.

  3. Mechanical Construction:

    3.1. Build or assemble the mechanical components of the robot according to the design. This may involve working with metal, plastic, or 3D-printed parts.

    3.2. Install motors, gears, and other mechanical components as needed.

  4. Electrical and Electronic Components:

    4.1. Install and connect the electrical and electronic components of the robot. This includes the control board, sensors, actuators, and power source.

    4.2. Ensure proper wiring and connections to enable communication and power distribution.

  5. Sensor Integration:

    5.1. Integrate sensors based on the requirements of your robot. Typical sensors include cameras, proximity sensors, gyroscopes, accelerometers, etc.

    5.2. Connect the sensors to the control system and ensure they provide accurate data.

  6. Programming and Control:

    6.1. Develop the software or programming logic for controlling the robot. This may involve writing code in languages like C++ and Python or using a robotics framework.

    6.2. Implement algorithms for perception, decision-making, and motion control.

  7. Testing and Iteration:

    7.1. Test the robot’s functionality and performance.

    7.2. Identify and resolve any issues or bugs in the design or programming.

    7.3. Iterate and make improvements as necessary.

  8. Finalization and Deployment:

    8.1. Make final adjustments or enhancements to optimize the robot’s performance.

    8.2. Document the design, construction, and programming details for future reference.

    8.3. If applicable, prepare the robot for deployment in its intended environment.

To build a robot, you must know mechanical engineering, electronics, programming, and control systems. Research online tutorials and forums for the type of robot you want to build. Start with simple projects or kits to gain experience before completing complex designs.

Build your own robot

Do you know about the Raspberry Pi?

The Raspberry Pi is a small, affordable, single-board computer developed in the UK by the Raspberry Pi Foundation to promote basic computer science education. It has become popular among hobbyists, educators, and professionals for various projects.

The key features of a Raspberry Pi include:

  • Processor: Varies by model, but they are typically ARM-based.
  • Memory: Varies by model, with 512MB to 8GB of RAM options.
  • Connectivity: Includes USB ports, HDMI output, Ethernet port (in most models), and GPIO pins for attaching other boards and components.
  • Wireless Connectivity: Available in later models, including WiFi and Bluetooth.
  • Operating System: Primarily runs on a range of Linux distributions, with Raspberry Pi OS (formerly Raspbian) being the official one provided by the Raspberry Pi Foundation. Some models can also run Windows 10 IoT Core, FreeBSD, and other operating systems.
  • Storage: A microSD card is used as its primary storage for the operating System and data.
  • Size: Compact and portable, with dimensions varying slightly between models but generally around the size of a credit card.

The Raspberry Pi’s GPIO pins allow for various external devices and sensor connections, making it versatile for many applications such as robotics, home automation, and weather stations.

The Raspberry Pi Foundation also promotes a community-driven approach, encouraging users to share their projects, tutorials, and code with others, furthering its mission to facilitate learning and innovation. Check Pi’s projects and start coding.

Creating your robot with a Raspberry Pi and Python can be exciting and rewarding. Below is a beginner-friendly approach that outlines the basic steps to get you started on building and programming your first robot.

1. Gather the Components

Before starting, ensure you have all the necessary components. The basics include:

  • Raspberry Pi (any model with GPIO pins will work, but a Raspberry Pi 3 or 4 is recommended for better performance)
  • Micro SD card (with Raspbian OS installed)
  • Motors and Motor Driver Board (L298N or L293D are popular choices)
  • Battery pack (to power the motors)
  • Chassis (the body of the robot; you can buy a kit or build your own)
  • Jumper wires
  • Breadboard (optional, for prototyping)
  • Sensors (like ultrasonic for distance measuring)

You can check Adafruit for Raspberry Pi components.

2. Set Up Your Raspberry Pi

First, set up your Raspberry Pi following the instructions in Raspberry Pi OS Installation Guide:

  1. Install the Raspbian OS on your SD card using the Raspberry Pi Imager.
  2. Insert the SD card into your Raspberry Pi, connect it to a monitor, keyboard, and mouse, and then power it on.
  3. Follow the on-screen instructions to complete the setup.

For more information on how to set up Pi, read Getting Started with Raspberry Pi.

3. Connect the Motors and Motor Driver

You must connect your motors to the Raspberry Pi via the motor driver board. This typically involves:

  1. Connecting the motor terminals to the output pins on the motor driver.
  2. Connect the input pins of the motor driver to specific GPIO pins on the Raspberry Pi.
  3. Powering the motor driver with a battery pack, ensuring it has a common ground with the Raspberry Pi.

You can find the following resources helpful:

  1. GPIO Pinout
  2. Motor Drivers with Raspberry Pi Tutorial

4. Programming Your Robot with Python

Python is a powerful and easy-to-learn language for controlling your robot. You’ll need to write a Python script to control the motors.

  1. Access your Raspberry Pi’s terminal or SSH into it.
  2. Create a new Python file: nano my_robot.py
  3. Import the necessary libraries, such as RPi.GPIO, for controlling the GPIO pins. GPIO pins on Raspberry Pi can be used to operate custom electronics such as robot arms or weather stations by customizing signals.
  4. Write functions to control the motors, such as forward(), backward(), turn_left(), and turn_right().
  5. Use infinite loops, conditionals, and sensor inputs to make your robot interact with its environment.
import RPi.GPIO as GPIO
import time

# Motor pin setup
motor1 = 17
motor2 = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(motor1, GPIO.OUT)
GPIO.setup(motor2, GPIO.OUT)

def forward(duration):
    GPIO.output(motor1, True)
    GPIO.output(motor2, False)
    time.sleep(duration)
    GPIO.output(motor1, False)

forward(5)

More about using Python for Raspberry Pi is in Python Programming for Raspberry Pi.

5. Adding Sensors

Sensors can make your robot more interactive. For example, you can use an ultrasonic sensor) to detect distances and avoid obstacles:

  1. Connect the ultrasonic sensor to the Raspberry Pi GPIO pins.
  2. Update your Python script to read data from the sensor and make decisions, like stopping or turning around when an obstacle is detected.

6. Testing and Troubleshooting

Testing is an essential part of building a robot. Start with simple movements and gradually increase complexity. If something doesn’t work:

  1. Check your connections.
  2. Validate your power supply voltages.
  3. Look for coding errors.
  4. Test components individually.

Building and programming a robot with Raspberry Pi and Python can be a fantastic way to learn about electronics, coding, and robotics.

Conclusion

In this post, we discussed robots and their difficulties when performing real-life tasks. We also highlighted some key research areas and provided some pointers to current research. Additionally, we touched on the importance of safety and ethical considerations and mentioned our intention to delve deeper into these topics in future posts. We also learned about using Raspberry Pi and Python to start creating robots in practice.

Try the following fantastic AI-powered applications.

I am affiliated with some of them (to support my blogging at no cost to you). I have also tried these apps myself, and I liked them.

Chatbase provides AI chatbots integration into websites.

Flot.AI assists in writing, improving, paraphrasing, summarizing, explaining, and translating your text.

Originality.AI is very effecient plagiarism and AI content detection tool.

Did you like this post? Please let me know if you have any comments or suggestions.

Posts about AI that might be interesting for you






References

1. Tikom G8000 Pro Robot Vacuum Cleaner with Wiping Function

2. AMECA

3. Apple Explores Home Robotics as Potential ‘Next Big Thing’ After Car Fizzles

4. ChatGPT and Friends

5. In-love with the chatbot

6. Universal Robots

7. ABB Robotics

8. KUKA Robotics

9. Deep learning can accelerate grasp-optimized motion planning

10. A self-rotating, single-actuated UAV with extended sensor field of view for autonomous navigation

11. The Raspberry Pi

12. Raspberry Pi projects

13. Adafruit

14. Raspberry Pi OS Installation Guide

15. Getting Started with Raspberry Pi

16. GPIO Pinout

17. Motor Drivers with Raspberry Pi Tutorial

18. RPi.GPIO Documentation

19. Python Programming for Raspberry Pi

20. Using an ultrasonic distance sensor

desktop bg dark

About Elena

Elena, a PhD in Computer Science, simplifies AI concepts and helps you use machine learning.





Citation
Elena Daehnhardt. (2024) 'Robots and True Love', daehnhardt.com, 10 April 2024. Available at: https://daehnhardt.com/blog/2024/04/10/robots/
All Posts