The objective of the proposed system is to use Arduino to guide a rover. The connectivity will be the necessary electronic circuit. The PWM signal of a microcontroller powers the DC motors on the rover. The rover may be maneuvered along a straight path or any other path it chooses by manipulating each motor separately or in tandem. The rover is programmed with Arduino. The results of the system\'s implementation and testing in a real-world setting demonstrate its ability to precisely navigate through a variety of terrains and avoid obstacles. The suggested method may find use in search and rescue missions, environmental monitoring, and autonomous farming. Overall, navigating rover shows that creating a reliable and efficient rover navigation system is possible even with a commonly used programming language like Embedded C.
Introduction
I. INTRODUCTION
Certain unsafe situations, like exploring treacherous terrain, disaster-affected places, low temperatures, high radiation levels, or isolated locations, make human intervention risky, dangerous, or not possible. A solution that uses Arduino and C programming to guide the rover along a chosen path has been presented as a way to prevent such situations.
Four N20 DC motors are located in each of the Rover's wheels. The microcontroller's PWM (Pulse Width Modulation) signals are used to operate the DC motors on the Rover. The ESP32 Microcontroller is compatible with the Rover. The Arduino programming is compatible with the microcontroller. The rover's central processing unit translates the microcontroller's instructions into actions.
II. WORKING PRINCIPLE
The block diagram of the rover using Arduino is as shown in Fig.2.1.
The first step is to choose the route that the robot will take to get from one place to another. We selected the RoverC. Pro model, which has Mecanum wheels and can travel in all directions, including forward, backward, sideways, rotating on its own axis, and more, in order to provide the robot full mobility. Given that the RoverC. Pro model is a programmable device, the robot's movement directions can be configured. The user has the ability to move the robot in whatever direction they like. To reach their destination, the user can make modifications on their own. Given that the RoverC. Pro is programmable, users can alter the commands and program by utilizing the platform ARUDINO IDE.
A few libraries that are part of the IDE platform must be installed before the program may be written, compiled, and executed. The entire written program can be loaded into the microcontroller, which is an enhanced M5STACK model and a member of the ESP32 family series. It is referred to as M5STICK C PLUS. The RoverC. Pro's wheels are driven by N20 Worm Gear Motors, which are servo motors that have been reduced in size. The programmed program controls the rotation of these motors. Similar to a human hand, the gripper assists the robot in picking up the specified object. The Rover's ability to provide peripheral device interfaces with other devices is a useful feature. In this case, the ESP32 Micro controller and Mecanum wheels play key roles.
Servo Motors which drive the robot that is Rover C Pro accordingly as per the given set of instructions written on the IDE platform.
The steps given below gives the user an idea how to get started from the START location to the DESTINATION location.
STEP 1- To start the rover from the initial position.
STEP 2- To make the rover move forward, the command (0,50,0) is given. After moving forward to a certain distance, it picks up the object.
STEP 3- From there the rover along with the object moves to the right side to some distance, according to the command (50,0,0).
STEP 4- The rover moves to the right forward and places the object as per the destination location.
STEP 5- The rover is given a command (0, -50,0), so that it returns backwards and stops there. This particular path can be changed according to the choices of different users using for different applications. The commands for each direction are different and some of them are given below.
A. Software Description
In order to build a controller, a device must be built with software that allows the system to be developed in real time. Additionally, the computing equipment must be connected to the process, which is accomplished by actuators and sensors. In addition to the control algorithm itself, a controller can do other tasks.
B. Arduino Software
Arduino is a prototype platform (open-source) based on an easy-to-use hardware and software. It consists of a circuit board, which can be programed (referred to as a microcontroller) and a ready-made software called Arduino IDE (Integrated Development Environment), which is used to write and upload the computer code to the physical board. The key features are
Arduino boards are able to read analog or digital input signals from different sensors and turn it into an output such as activating a motor, turning LED on/off, connect to the cloud and many other actions.
The functions can be controlled by sending a set of instructions to the microcontroller on the board via Arduino IDE (referred to as uploading software).
Unlike most previous programmable circuit boards, Arduino does not need an extra piece of hardware (called a programmer) in order to load a new code onto the board and can simply use a USB cable.
Additionally, the Arduino IDE uses a simplified version of C++, making it easier to learn to program.
Finally, Arduino provides a standard form factor that breaks the functions of the microcontroller into a more accessible package.
III. RESULTS AND DISCUSSIONS
The successful perpetration of the navigation using the RoverC. Pro platform and Arduino marks a significant advancement in the field of robotics. This design demonstrates the confluence of mechanical design, electronics, and software programming to produce a cohesive and functional system. The navigation medium with the rover showcases the rigidity of robotic systems in performing intricate tasks, making them suitable for colorful diligence similar as manufacturing, healthcare, and disquisition. One of the crucial takeaways from this design is the significance of robust tackle software commerce. The community between the Arduino microcontroller and the RoverC. Pro platform enabled flawless communication and synchronization, allowing for precise navigation. This interplay underscores the need for a comprehensive understanding of both tackle and software factors when developing complex robotic systems. The successful prosecution of the rover navigation speaks to the effectiveness of this integrated approach.
IV. FUTURE SCOPE
The eventuality for employing Arduino to navigate rovers is instigative, and it fits in with larger robotics and technology developments. These are a many possible avenues for advancement and development. Advanced position Autonomy farther advancements in machine literacy and artificial intelligence technology can lead to increased autonomy for Arduino- grounded rovers. It's possible to combine machine literacy algorithms to ameliorate decision- timber, handicap avoidance, and navigation. Computer Vision By combining cameras with computer vision algorithms, the rover's capacity to smell and comprehend its surroundings can be bettered. operations in object discovery, image bracket, and indeed more delicate tasks like relating and avoiding dynamic walls may come possible as a result. IoT Integration Arduino can be a crucial element in Internet of effects( IoT)- enabled rover systems. The Internet of effects is expanding snappily. For remote monitoring, these rovers have the capability to gather data from a variety of detectors and transmit it to centralized systems.
References
[1] Ivis. F. Calculating geographic distance: concepts and methods. In Proceedings of the 19th Conference of Northeast SAS User Group, 2006.
[2] Kelly, A., Stentz A., Amidi, O., Bode M., Bradley, D. ”Toward Reliable Off Road Autonomous Vehicles Operating in Challenging Environments”, The International Journal of Robotics Research.
[3] Saha, A., Paul, S. K., Hasan, M., Amin, M. A. ”Android Based Autonomous Arduino Bot” CEET, 2015. [4] J. Balaram. Kinematic State Estimation for a Mars Rover. Robotica, Special Issue on Intelligent Autonomous Vehicles, Accepted for publication, 1999.