Skip to main content

Thinking About the Challenge - Software

Despite nothing appearing here for awhile I have been thinking about the SRR Challenge. I had a week in Mexico and a week with a cold that kept me from writing. Now I am back to making some progress. I'll summarize some of the thoughts, possible plans, etc. No additional analysis, but there are some things that need to be looked at based on my thoughts.

As I look at hobby robot builders web sites I've concluded that most build a nice piece of hardware that doesn't really accomplish anything real. I've seen some beautiful robots that are the delight of machinists. But there is no mention of any software driving them that makes them meaningful. As I looked at the robots from the 2012 SRR Challenge competition I wonder how many of them spent many hours on the hardware and let the software go until the last minute.

I know from experience in embedded systems development that the hardware is always late. Since there are limits to what can be accomplished in software when you don't have even the preliminary hardware that makes the software late. (And software gets the blame for the project being late!)

I am going to avoid this trap by focusing on the software first. Still, I need some hardware to make progress but that is for the next entry.

I've thinking about the actions the robot needs to accomplish. Some of these are trivial, some need a lot of detail chasing but are straightforward, others are challenging, and still others are possibly beyond my capabilities.

If there are any of the last group I probably cannot enter a credible entry into the challenge. I won't know until I try. A prime example of this is using the vision processing to identify samples at a distance.  Another is maintaining the location of the robot in the search area so (1) all the area is searched and (2) the starting platform can be located so samples can be returned properly.

The trivial items are the basics of controlling the robot:
  • Controlling the motors to drive where needed,
  • Read sensors to determine orientation (gyroscope),
  • Drive servos for positioning the picker or cameras,
  • Etc.
Detail chasing items are:
  • Drive to a potential sample that was located,
  • Etc. (Which means I haven't identified these.)
Challenging items...well, I'm not sure yet. More analysis is needed to identify these. 

Comments

Popular posts from this blog

Sensor - Accelerometer & Magnetics

Just as I was finishing my first look at the accelerometer and magnetic field sensors a couple of threads cropped up on the Android Developer's group:

http://groups.google.com/group/android-developers/browse_frm/thread/1b42c48ce47cb1c9/720c6f4f8a40fc67#720c6f4f8a40fc67

http://groups.google.com/group/android-developers/browse_frm/thread/2e14272d72b7ab4f#

I had the basic code working so dug a little deeper into the rotation routines and the timing. I posted responses on the threads but want here to dig into the details more.

First some observations applicable to my G1:

The sensors report approximetly every 20, 40 and 220 msec for FAST, GAME, and NORMAL.
A sample may be missed for a specific sensor but usually one of them will be generated - but sometimes all can be missed.
The magnetic field sensor is most reliable with only a few drops. The other sensors are dropped considerably more often.

A caveat in all this is the way I setup the sensor handling may make a difference. I have a singl…

Team Waterloo Research Paper on SRR

Team Waterloo published about their work on a robot for the 2012 and 2013 NASA Sample Return Robot Centennial Challenges.
Mapping, Planning, and Sample Detection Strategies for Autonomous Exploration This paper presents algorithmic advances and field trial results for autonomous exploration and proposes a solution to perform simultaneous localization and mapping (SLAM), complete coverage, and object detection without relying on GPS or magnetometer data. We demonstrate an integrated approach to the exploration problem, and we make specific contributions in terms of mapping, planning, and sample detection strategies that run in real-time on our custom platform. Field tests demonstrate reliable performance for each of these three main components of the system individually, and high-fidelity simulation based on recorded data playback demonstrates the viability of the complete solution as applied to the 2013 NASA Sample Return Robot Challenge.  It is the Journal of Field Robotics in the Wil…

Programming Languages Used for SRR

I asked at the SRR Challenge about the languages and vision processing used by each team. Here is what I found:

Team Language                       Vision Processing
Intrepid                         C++ / Matlab                                           Kuukulgur                     C++                                          OpenCV Mystic                           C++                                          RobotRealm SpacePride                    RoboRealm state machine          RoboRealm Survey                           C++, Python                             OpenCV Middleman                     LabView                                   LabView UCSC                           C/C++                                      OpenCV Waterloo                       C++, Python                                             WPI                              C++                                                              Wunderkammer             Python                                      ROS …