Closed loop motor control

Using encoders and PID controllers

After setting up the encoders last week, I finally implemented closed loop control using classic PID controllers. I used four PID controllers, one for each motor to reduce the error between the reference RPM and the measured RPM from the encoders. The reference RPM is calculated for each motor from... [Read More]

Getting started with wheel odometry

And some OAK-D updates

Its been a long time since I last posted on this blog. Mainly because things got busy at work, and I was also re-doing a lot of the OAK-D implementation that I have already spoken about. But since the last week, I have been working towards implenting wheel odometry using... [Read More]

ROS World 2021

My first virtual ROSCon

Last week, I attended ROS World 2021, a virtual ROSCon, after this year’s event in the USA was cancelled. Like the actual ROSCon, ROSWorld is a three day (including workshops) event with multiple keynotes, panel discussions and talks about ROS/ROS2, a crazy amount of ROS based companies advertising their newest... [Read More]

Holonomic motion planning

Using dwa_local_planner and move_base

This week was all about getting the robot to move sideways using different local planners. In my last update, although I had not completely fine-tuned all move_base parameters, I was sufficiently happy about its initial performance. I used Base Local Planner plugin as a local planner, and despite trying everything,... [Read More]