The sensor testbed is built

It has begun.  I have started coding in RobotC for the first time ever tonight.  WOO HOO!!!

I would have started programming on Thursday, but a vex windows 7, 64bit driver issue took me a few days and a second computer to solve.

Regardless, I have starting going through the robot C tutorial videos. They have been extremely useful and I am getting the ideas I need to create the basic sensor package and drive code branches.  I know I will need separate branches of code so while I am going through these tutorials I am trying to take notes on which knowledge should go in each branch. Here is a list of branches I think I will need to end up with.

  • Initiation branch – start up, systems check
  • Calibration branch – calibrate sensors, controls, battery, and other items
  • Communication branch – establish and maintains communications with docks
  • Self-locating branch – telemetry, slam, mapping, data fusion and checking
  • Database branch – create a database that the bot can store and access to perform variety of functions
  • Log and error branch – need to track lots of variables for error handling, improvements, maintenance and black box safety items
  • Drive branch – all of the code drive the bot
  • Sensor branch – all of the code to govern all of the sensors on the bot
  • Vision branch – all of the code to process vision sensor data
  • Mapping branch – all of the code to create, calibrate, update the map of the space
  • Drive route branch – all of the code to consume the map and create a set of drive routes that take into account previous dirt levels, battery charge, drive times, and overlap
  • Vacuum branch – this controls the vacuum and agitators
  • Docking branch – this will be the location of the docking code and contain things like orientation, drive sequence, communication and sensor connections for use when docking
  • Maintenance branch – this is where we will store specific routines that will enable easy inspection and trouble shooting of mechanical systems, sensor hardware and other physical components
  • Safety branch – this is where we will control obstacle avoidance, the lights, sounds and other environmental safety hazard code type items

This is just the list I have been able to come up with so far.  I am still at the driving strait with encoders level of code so I have a long way to go.  But after managing software development at the CATT Lab I am all too familiar with keeping code organized, files under 300 lines, good code documentation and maintaining discipline for version management.

 

Leave a Reply

Your email address will not be published. Required fields are marked *