Skip to main content

Posts

Featured Post

Product Design of a 4 wheel differential drive robot

Searching and Precision Landing of AR Drone 2.0 using Neural Network | Gazebo | ROS

The drone is able to search and find the landing platform. Once it finds the landing platform it will try to orient itself and land in the platform. Both of these are implemented using Neural Network. The tag used in the landing platform is from the ros package ar_track_alvar.

Precision Landing of AR Drone 2.0 using Neural Network | Gazebo | ROS

This is the initial results of the AR Drone autonomous landing procedure using Neural Network. The video is playing at 2X. NB: These are not the final result. Need further optimization.

Visual servoing of AR Drone 2.0 using Neural Network | Gazebo | ROS

This video is a part of an AR Drone autonomous landing project. Here the AR Drone is controlling itself so that the landing platform is exactly in the middle so that it can  initiate a proper landing. Here AR Drone is also tracking the Tag embedded on the landing platform (Not using the inbuilt tag detection. The tag that is being used here is from the ar_track_alvar package.). This is implemented using Neural Network. The video is not a part of a completed project. (The video is playing at a slightly faster rate.) [NB: As you can see the drone is not orienting itself as it is trying to reach just above the tag. This is only because I didn't train it to do so.] Packages used: ardrone_autonomy, tum_simulator, ar_track_alvar, custom packages (some packages I created for collecting data for training, republishing twist cmd_vel with time stamp, implementation of NN, custom launch files and worlds.)

Simulation & Controlling AR Drone 2.0 using Gamepad | Gazebo | ROS

This is a demonstration of AR Drone 2.0 simulation under gazebo using tum_simulator on ROS Indigo. This video is a part of an autonomous landing of AR Drone project.  Packages used: ardrone_autonomy, tum_simulator, ardrone_tutorials

A Multilayer Neural Network Based Obstacle Avoiding Robot | ROS | Simulation

This is an obstacle avoiding robot which I and Sooraj Krishna built in ROS using STDR simulator. The robot is making decision based on a 3 layer Neural Network. The learning algorithm used is back-propagation (which we wrote in python). The network design is shown below. The 4 inputs are distances from sonar sensors placed on the Robot. The two outputs are linear velocity on x -axis and angular velocity on z-axis. The Neural Network is first trained using the data captured from joystick controlling the simulated Robot. Then the  trained weights are used in the NN for controlling the Robot. This is the first version that is trained with small training set. The video is showing the Robot avoiding obstacles on its own. This is after a bit more training. NB: The video is playing a bit more faster than the actual simulation as you can see from the time showing in simulator. NB: Among two outputs one is for angular velocity. For turning right the value will be posit...

Controlling turtlesim using a Gamepad | ROS

This is a sample program I wrote to learn ROS. I have used linux joystick api to directly capture values of the analog stick of my joystick (F710 Wireless Gamepad). These data are then directly send to the turtlesim/cmd_velocity as a geometry_msgs/Twist type. NB: There are ready to use ROS packages available to capture joystick key events (which are easy to implement). This is to just start coding with ROS.

Clap Switch

For some time I was thinking of making a simple clap switch for my room. ( Kind of lazy to go and switch off the light and fan every time... :-) ) First get it work on a breadboard. "Circuit is simple and straight way. Feed the output from the mic to a comparator. The output of comparator will act as the trigger for micro-controller. Micro-controller detects the pattern and enable the corresponding relay switch. Micro-controller always waits for an interrupt (a clap). If a clap is detected it will wait and counts the following claps within a period of 1s. It will discard miss claps and only takes into account the pattern that is programmed. 2 claps means light on/off & 3 claps means fan on/off. There will be separate switch to enable/disable the clap circuit and precedence will be given for the physical switch. That means if the physical switch is on regardless of the relay state light/fan will be ON. If it's not then it will depend on the clap circuit." Co...