SharpRobotica.com – Sharp ideas for the software side of robotics

Sharp ideas for the software side of robotics

Author Archive

Serial Communications with SICK S300 Standard

Note that this is for communications with the SICK S300 Standard, not the S300 Professional. If you have an S300 Professional, see the cob_sick_s300 ROS package. As much as I am a software guy, you’re simply not going to avoid hardware for long in the world of robotics.  Sure, simulators are great, but it’s impossible […]

Introduction to the Kalman Filter, Part II

As discussed in Part I, the Kalman filter is an optimal, prediction/correction estimation technique which minimizes estimated error and can be used a wide array of problems.  While Part I focused on a one-dimensional problem space to more easily convey the underlying concepts of the Kalman filter, Part II will now expand the discussion to […]

Fundamentals: Vectors, Matrices and Matrix Operations

Our initial introduction to the Kalman filter was easy to understand because both the motion and measurement models were assumed to be one-dimensional. That’s great if you’re a lustrous point in Lineland, but the three dimensional world must be dealt with sooner or later. Specifically, within the initial introduction, location (or state) x, the control […]

Introduction to the Kalman Filter, Part I

Dealing with the real world is rough. (With an opening like that, you can probably guess how my high school days went.) To be clear here, we’re talking about robots having to deal with the real world (not me, luckily). It’s hard enough for our little silicon brethren to have limited sensory capabilities, but on […]

Fundamentals: Coordinate Frames

The world of robotics has a dizzying number of subjects; it’s quite overwhelming at first glance to figure out which topics someone “really needs to get” and which topics require a more cursory understanding. Accordingly, this will be the first in a number of posts (“number” being linearly proportional to my motivation) that I will […]

A Sampling of ROS Integration Packages

A computer science professor of mine, “back in the day,” once said that the greatest challenge in the future of software development will rest in the realm of integration. This is certainly true in robotics, if nowhere else. Due to the complexity involved with robotics, developers typically focus on very specific problems and develop very […]

Are additional layers of abstraction warranted?

I was presented with the following discussion opener concerning the management of complexity via the introduction of abstraction… How do we handle complexity? I asked a few software architects I know and all of them answered, “Abstraction.” Basically they’re right, but being a math major in college, there is a principal I believe that software […]

Simulation Environments for Mobile Robotics

While I wait for my $200K grant, my Darpa project award, Aldebaran to send me a few Nao’s, or Willow Garage to mail a PR2 my way (please contact me for shipping details), I spend much of my research time on the simulation side of robotics. In addition to being far less costly than purchasing […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part VI

Part VI: Adding a UI Layer to the Package As the last and final chapter to this series of posts (Part I, II, III, IV, V), we’ll be adding a basic UI layer to facilitate user interaction with the underlying layers of our package. Specifically, a UI will be developed to allow the user (e.g., […]

Developing Well-Designed Packages for Robot Operating System (ROS), Part V

Part V: Developing and Testing the ROS Message Endpoint [Author’s note, July 28, 2010: Introduced Boost::shared_ptr to manage reference to message endpoint so as to enable postponed construction, as will be required in Part VI.] While this series (Part I, II, III, IV) has been specifically written to address writing well-designed packages for ROS, we’ve […]

© 2011-2019 Codai, Inc. All Rights Reserved