Mocking Point Clouds in ROS Rviz

Robot Operating System (ROS) is a powerful tool we can use with robot simulations. Simulating a point cloud is one of the things I'm interested in and this blog post is a type of a note to self. Before we start, there are few things we need to get the simulation done. Ingredients 1. ROS: we need to have ROS installed in my computer. It's pretty straightforward and one can refer the official documentation on installation steps. Make sure ROS is installed and working without any errors by running the following command in a terminal;
$ roscore
2. Rviz: rviz is a part of ROS. Make sure it's available and running, by running the following command in a terminal window;
$ rosrun rviz rviz
You should get a graphical interface looks like the following window

3. Apart from all those above, there are few additional dependencies you would need. I would strongly suggest you use a virtual environment using pyenv to install and …

Crazyflie 2.0 Custom Obstacle Avoidance Deck with 13 VL53L1X ToF Sensors

Crazyflie 2.0 is a lightweight micro aerial vehicle. This open source platform comes with a variety of decks to support multiple implementations. One of them is a Obstacle Avoidance Deck by the original manufacturer itself.

This deck supports five Time of Flight (ToF) sensors mounted as shown in figure below. Our project is requires sensor readings captured using these ToF sensors. Effectiveness and accuracy of our algorithms require more data points than points provided by just five sensors. There are no other hardware platforms available in the Internet supporting more ToF sensors and the alternative we had was to develop one on our own.
Researching into existing hardware platform, we were able to extend the design to build a custom deck that supports 13 ToF sensors mounted facing different angles. The schematics and bill of materials can be found from this repository hosted online:

Designing the hardware should be done in s…

Regulating Voltage in PSLab

Electronic components are highly sensitive to voltages and currents across them. Most of the devices in the current market work in the voltage levels of 3.3V, 5V, 12V and 15V. If they are provided with a different voltage than the one required by the vendor, they would not function. If the voltage supplied is higher, they might burn off. The PSLab device requires separate voltage levels such as 3.3V and 5V for its operation.
There are commercial voltage regulators available in the market designed with advanced feedback techniques and models. But we can create out own voltage regulator. In this blog post, I am going to introduce you to a few basic models capable of regulating voltage to a desired level.
Current implementation of PSLab device uses a voltage regulator derived using a zener-resistor combination. This type of regulators have a higher sensitivity to current and their operation may vary when the supplied or the drawn current is lower than the expected values. I…