Search This Blog

Monday, October 12, 2015

ROS Tutorials: It's October Already...

Sorry for the 5 week now 3 month delay. I have more school than anticipated and I am doing FTC with some friends so that occupies most of my robot time. I thought I would give an update on the status of the RosBot as I am growing to call it...

There is a major changelist:
  1. I decided to ditch the current Ros_Arduino_Bridge software and
  2. Implement the RosSerial_ Arduino package as a replacement for the above.
  3. Remove the encoders. 
  4. Lower the frame height.
  5. Make a permanent(somewhat) Kinect stand.
  6. Remove the Nerf gun.
  7. Implement(Work In Progress) Hector_SLAM.
The reasons for each decisions were many and most changes were applied to: (A.) Reduce complexity in both hardware and software, and (B.) Leave room for growing.

The RosSerial_Arduino switch was made because I was just fed up with the Ros_
Arduino_Bridge software. The RosSerial_Arduino(or Rosserial as it shall be known from henceforth on) interface is programmed by the user entirely on the Arduino. I preferred that because I am more proficient in Arduino than in Python. Once the old software was gone, I didn't want to write the new code for the encoders, so I decided to ditch them too. They caused more confusion and chaos than help and as of yet I haven't figured out the code for how to get them to work properly. To add insult to injury, the physical mounts that I had them on were also quite lacking and kept breaking.

I decided on items 4, 5, and 6 based on two things, A. that base needs to have as low of a CoG(Center of Gravity) as possible. B. If SLAM needs to locate obstacles based on a 2D laserscan, it should be at the approximate table height.

Hector_SLAM seemed to be the best match I could find for my 'bot. It does SLAM with one obvious con: the Kinect data must be converted to a laser scan(a.k.a. a 2D line) to be fed to Hector_SLAM. Obviously this has a limitation over other programs as it only processes onen slice of many in the data stream.

More changes to come....
'Patience my young padawan'