Hybrid A* is a function that differs from A* by the fact that it is continuous but isn’t complete, that is, it can’t always find an optimal solution or a solution, but every solution that it does find is continuous and constrain-able.Continue Reading

MPC is used to optimize control inputs by approximating a reference trajectory using dt, N and T variables in a finite(2-3 seconds) time-horizon. This reference trajectory should encompass very small values of dt which will be multiplied by N (should be a number that when multiplied by dt is 2-3Continue Reading

Is a force(tension force to be exact) that makes a body follow a curved path with a center. The force’s direction is always to the instantaneous center of the path and orthogonal to the motion of the body. The body’s acceleration can be calculated as: a= v^2/r (where v squaredContinue Reading

Unbalanced forces create acceleration in the direction of the Net force. Fy = my” Which is the translational acceleration in the y direction Unbalanced moments create acceleration in the direction of the Net moment/torque around a given axis, where α is the angular acceleration(rad/sec*sec),I – moment of Inertia(3X3). τ =Continue Reading

When a rotor spins it produces thrust(F) and also induces moment(M)(torque) both are measured by radians/sec with omega(ω). The moment induced is in the counter direction(A.K.A yaw – which is rotation around the Z value) when ω is 2*PI the rotor is doing 1 full rotation per second. The formulasContinue Reading

Potential field (represented by a number or tensor, that has a value for each point in space-time) combines attraction to the goal, and repulsion from obstacles in order to plan a path for an autonomous system.     most commonly used attractive potential function is:   where, ε is a positive scaling factor, p(q, qgoal)Continue Reading

RRT is a searching algorithm  applied by building a space filling tree  from samples drawn randomly of high-dimensional search spaces . import networkx as nx import numpy as np from sklearn.neighbors import KDTree class RRT: def __init__(self,x_init): self.tree = nx.DiGraph() self.tree.add_node(x_init) def nearest_neighbour(x_rand,rrr): dist=1000 x_rand = np.array(x_rand) for node inContinue Reading

The following two functions should be launched in two separate python threads. They show how easy ROS enables to create a pub/sub relationship for transferring messages between nodes. sub.py *import rospy* from std_msgs.msg import String def talker(): pub = rospy.Publisher(‘chatter’, String, queue_size=10) rospy.init_node(‘talker’, anonymous=True) rate = rospy.Rate(10) # 10hz whileContinue Reading

Frenet coordinates are an alternative way to describe a curve in 2D space, this most commonly can be useful while computing displacement of a vehicle’s position on the road or a calculating it’s reference path. The Frenet coordinates is composed of two coordinates. s coordinate – representing distance along theContinue Reading