---
# System prepended metadata

title: isro robotics challange

---

# **1st**
## ***Raspberry Pi***

Rasberry Pi is a small,affordable, and versatile single- board computer that has found applications in various fields, including space exploration.

uses of rasberry pi in rover 

* **control system**
* **data processing**
* **communication** {UART, SPI, I2C Communication}
* **camera and imaging**
* **sensors interface**
* **autonomous navigation**
* **experimentation and prototyping**
* **education and outreach**


# introduction to rasberry pi

rasberry pi is a small computer,it has no of useful features ,such as low power consumption and multiple input/output ports.
1. it is also equipped with a high-performance processor and graphics capabilities
2. it is highly adaptable
3. it is a handheld gaming device or a mobie wheather station.
4. it can run on batteries for extended periods 

# Basics of space rovers
One of the most important aspects of designing a space rover is ensuring that it can withstand the harsh conditions of space
* A space rover is a vehicle designed to operate on a planet or moon other that earth.
* it is equipped with various sensors and cams to collect data
* it is controlled remotely from the earth
* it is typically used to explore the surface of the planets
* the rover must be able to funcction in extreme temperatures
* the rover must be able to navigate difficult terrain 


#  KEY Considerations

1. size and weight of the rover
2. type of terrain it will be traversing
3. the level of autonomy you want your rover to have as well as the level of control you'll need from earth
4. type of power source it will use 

# components for space rover using Rasberry pI

* It requires Raspberry pi board , a microcontroller ,a power supply, and various sensors and cameras.


## ***Autonomous Navigation***

1. Sensor Input
2. Mapping and Localization
3. Path Planning
4. Obstacle Avoidance
5. Decision-Making
6. Feedback Loop
7. Redundancy and Fault Tolerance
8. Machine Learning and AI

# **2nd**

###   ****EMERGENCY RESPONSE****

**Responding to an emergency with a rover in space involves careful planning , quick decision-making, and effective communication.**

specific steps will depend onthe nature of the emergency

1. **assess the situation**
2. **isolate the problem**
3. **consult mission control**
4. **troubleshoot and diagnose**
5. **implement solutions**
6. **prioritize safety**
7. **communicate with backup systems**
8. **emergency maneuvers**
9. **update mission control and stakeholders**
10. **Review and learn**


# Emergency Response system for task execution
1. communication failure
2. health and safety incidents
3. equipment malfunction
4. natural disasters
5. security threats

# Emergency Communication and Coordination System (ECCS)
1. Real-time communication network
2. sensors and telemetry monitoring
3. healthy and safety monitoring devices
4. automated emergency protocols
5. centralized commznd center

# Alternative Emergency response Systems
1. localized manual response 
2. autonomous emergency response robots
3. blockchain-based communication system

**rationale for choosing ECCS:**
The ECCS provides a comprehensive and adaptable solution, addressing a wide range of potential emergency situations. Its multi-layered approach ensures redundancy and reliability in communication, while automated protocols and centralized control enhance the speed and effectiveness of emergency response. The ECCS strikes a balance between sophistication and practicality, making it suitable for diverse task execution environments.


# grid surface

* The grid surface has a similar format to the grid generated by the ndgrid function in MATLAB®
* Grid Surface for modeling the rigid terrain surface.

# point cloud
* The Point Cloud block creates a set of points in space. 
* Each point has a rigid offset with respect to the reference frame of the Point Cloud block. 
* You can use a Point Cloud block to approximate a geometry, such as a body with concave shape, for contacts

# Astar and RRT ALGORITHEMS

*  a* and rrt and their variants are the most promising path planning algorithms candidates are the 3D UAV scenarios.
*  this two algorithms are tested in different complexity 3d scenarios consisting of a box and a combination of verticle and horizontal plane obstacles with paertures
*  the a* with  SPECTRUM OF RESOLUTIONS THE STANDARD rrt with different step size constaints RRT without step size constaints and the  multiple RRT (MMRT) with various seeds are implemented and their performance measures compared 
*  a* path lenth is more optimal and generation time is shorter than RRT projection A* as a better candidate for online 3D path planning of UAVs.
*  **if the problem involves a known grid-based environment, and an optimal solution is crucial, A* may be a better choice. On the other hand, if the problem has a high-dimensional or dynamic configuration space, and an approximate solution is acceptable, RRT may be more suitable. **


 # A*

* A* Search algorithm is one of the best and popular technique used in path-finding and graph traversals

        // A* Search algorithm
        1. initialize the open list 
        2. initialize the closed list 
           put the starting node on the open 
           list (you can leave its f at zero)
        3. while the open list is not empty 
           a) find the node with the least f on theopen list, call it "q"
           b) pop q off the open list 
           c) generate q's 8 successors and set their parents to q
           d) for each successor 
              i) if successor is the goal, stop search
              ii) else, compute both g and h for successor 
                 successor.g = q.g + distance between successor and q 
                 successor.h = distance from goal to successor  (this can be done using many ways, we will discuss three heuristics-manhattan, diagonal and euclidean heuristics)

                 successor.f = successor.g + successor.h
              iii) if a node with the same position as successor is in the open list which has a lower f than successor, skip this successor 
              iv) if a node with the same position as successor is in the closed list which has a lower f than successor, skip this successor otherwise, add the node to the open list end(for loop)
              e) push q on the closed list end (while loop)
              
             
       
![a_-search-algorithm-2](https://hackmd.io/_uploads/r1P9vLo9p.png)



the A*(A-star) algorithm is a popular pathfing=ding and graph traversal algorithm that finds the shortest path between two points on a graph. it is widely used in robotics, computer games and various artificial intelligence applications. the algorithm guarantees the shortest path if certain conditions are met, making it efficient for finding optimal routes.

1. terminology
  * NODE/cell
  * graph
  * cost 
  * heuristic
2. components
  * open list 
  * closed list 
  * cost function 
3. algorithm steps:
  * Initialize the open list with the starting node.
  * Initialize the cost of the starting node (g) to 0 and calculate the heuristic cost (h) to the goal.
  * While the open list is not empty:
        *  Select the node with the lowest total cost (f = g + h) from the open list.
        *  Move the selected node from the open list to the closed list.
        *  Generate the successors (neighbors) of the selected node.
        * For each successor:
               * If it is the goal, the path is found.
               * If the successor is already in the closed list, ignore it.
               * If the successor is not in the open list, calculate its cost (g) and heuristic (h), and add it to the open list.
               * If the successor is already in the open list and the new cost is lower, update its cost


4. heuristic functio:
   * A* uses a heuristic function to estimate the cost from a node to the goal. it is denoted as h
5. path reconstruction
6. impementation notes:

## kalman filter 

1. kalman filter is two step process 
   * prediction step
   * update step 
   ![image](https://hackmd.io/_uploads/Hk259E_xA.png)

  ![image](https://hackmd.io/_uploads/HkE5KEdlC.png)
   * we take results of the pridiction step 
   * ![image](https://hackmd.io/_uploads/HJiKJD_lC.png)


