now browsing by author
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.
FOD BOT I project update.
I am going to use VEX parts for the first example since they are easily assembled and there is a big developer community. I am also going to work with the Arduino chip set to see how the various vex sensors work with each. Since I am a new programmer I am looking to do mostly learning in the first few months. However, I also asked a few of the Walt Whitman High School Robotics kids (FRC 1389) if they were interested in helping and 6 have responded so far. If they are willing to write the code than the project may accelerate much quicker than I am currently thinking.
Here is a rough plan for the first part of the project
- Assemble vex chassis
- Create code to control drive train
- Test drive train code
- Integrate, code and test vex sensors one at a time
- Pressure switches
- Limit switches
- Ultrasonic switches
- IR range finders
- Vex currently does not have IR sensors to I am using some of the small SHARP IR sensors
- GP2Y0D810Z0F Digital Distance Sensor 10cm
- GP2Y0D805Z0F Digital Distance Sensor 5cm
- GP2Y0A41SK0F Analog Distance Sensor 4-30cm
- GP2Y0A21YK0F Analog Distance Sensor 10-80cm
- GP2Y0A02YK0F Analog Distance Sensor 20-150cm
- Vex currently does not have IR sensors to I am using some of the small SHARP IR sensors
- Single axis gyro
- 3 axis gyro
- Vex does not have 3 axis gyro, instead I will use an Arduino 3 axis gyro chip once I get there I will update the plan
- Vex does not have GPS, instead I will use an Arduino GPS chip once I get there I will update the plan
- Integrate, code, test human awareness elements
Some of the questions I am working on answering are about self-locating. I know this is putting the lamb before the cart a bit, but, it will be the next phase of the project so I am trying to get ready for it. SLAM, GPS, WIFI or some other form of self-locating in relation to the base and the environment it finds itself in are some of the ideas I am looking at. I will keep you updated as I get more info.
I am embarking a new journey that I hope will lead to some fun, some money and a lot of learning. I will be building and programming a robot. The building part is not that hard, I have done that several times with FIRST teams in Philly and Washington DC. It is the programming part that is going to be the challenge for me.
I want to build a robot named the FOD BOT I. The FOD BOT 1 is an OSHA approved Roomba on steroids capable of operating autonomously 24 hours a day to prevent Foreign Object Debris (FOD) in production environment. It is an idea I came up with a few years ago that I think still has legs. If you want to learn more about this project check out this video.
I will add the kick starter info once it is approved.
I am also working on combining my work at the CATT Lab with my love for robots. The CATT Lab is working to be the NOAA of transit and is collecting transportation data from the entire country on a daily basis to serving it back to customers in 26 states in both real time and access to the archive. One of the challenges facing the lab is the growth of connected cars (cars that talk to each other) and autonomous cars (cars that drive themselves). Both of these types of vehicles will be changing the way we drive and how transportation data is collected. Connected cars hit the roads as early as next year and autonomous cars might hit the road as early as 2020. But if you look at cars as robotic systems they have a lot of similarity to the changes taking place in aviation right now as the FAA looks to create the legal framework for Unmanned Arial Systems (UASs). These are just autonomous cars that can fly, the problem is they are already in the airspace being used by farmers, wedding photographers, real estate agents, news organizations and many others. This is forcing the FAA to rapidly react, leaving lots of room for recommendation. That is where I hope to fit in, I am going to write a series of white papers based on capturing black box data from unmanned systems as they apply to ground and air based application in hopes of guiding the US Department of Transportation (USDOT) to create a universal policy. I will update you as it goes.
My wife and I have talked a lot about this topic. Most of these conversations revolve around the genetic selection of sexes or physical traits, but I think many of the topics are just as applicable to genetic modification of embryos to enhance cognitive capabilities. In almost every conversation we have on this topic the movie Gattaca is brought up because it creates a great starting point by walking viewers through one possible future if a society is allowed to control the genetics of their offspring.
So let’s say that the researchers conducting the study to understand the genetics of high IQ find a set of genes that increases an individual’s natural abilities. The next step would be to offer this knowledge to the market place. That is where I start to get real curious, how would such genetic developments be commercialized? Would fertilized eggs be scanned for preferred gene sequences and then implanted. Would impregnated eggs be tested in situ and aborted if a preferred sequence were not found. Or would genetic therapies be introduced to alter the individuals DNA?
That last option is probably the only one that could be done on a large scale. Your DNA would be scanned, modified and a prescription drug that is dialed into your current DNA would be sent to you. This therapy could be consumed or injected to bring about the desired changes. This type of therapy is already available for several diseases and genetic disabilities and uses viruses to infect you with a new string of DNA.
Back to the topic of this post. Let’s say they identify the what and the how….next we have to think about nature vs nurture. Great we have made someone more likely to be smarter but if they are not given the opportunities to excel or learn has the therapy impacted them or society in any positive way?…..Hmmmmm scratching my head on that one. To make that question even murkier your IQ can change over time depending on how much you use your noggin. So at what average age does an individual and or the society benefit the most from having a higher IQ?….My gut tells me society would see an impact in academic performance, work performance and GDP increases. But this is if we genetically modify a significant portion of a single countries populous is while not modifying the rest of the globes population. If we go other routes we could see increases in average IQ among the affluent or among everyone so no discernible gain is ever recognized. Gattaca speaks to the affluent getting the option over the majority and creates a class warfare that I believe and as the movie shows pulls the human race down. Whereas the latter option would never be tolerated by the market forces and could only come about if the governments of the world stepped in and mandated equal access.
Back to the question. Will we breed our way to higher average IQ? The answer is yes. But for who and how fast are more issues about the market and society than about the technology.
I have been reading about the progress of several manufacturers working on autonomous cars. BMW, Audi, General Motors, Volvo, Mercedes Benz, Ford, Toyota and Google are just a few of the companies looking to change the way we drive…..er move. The claims for autonomous vehicles are simple; people behind vehicles acting in reaction to other people in vehicles can only achieve a certain amount of safety and efficiency. Whereas vehicles acting together can increase both safety and efficiency while decreasing travel times.
Many companies already have test vehicles roaming our streets laying the ground work for these vehicles to enter the market place in the coming decades. Although some authors and companies believe the first automated cars will be on the streets before 2020.. We shall see, in the mean time consumers are benefiting from all kinds of new automated safety and convenience features being added to vehicles every year; Anti-lock brakes, self parking cars, collision avoidance systems and smart cruise are just a few of the features that are paving the way for increased automation.
Besides maturing the technology there are two big hurdles that hands free driving needs to overcome, first, the liability. In the aviation industry, airplane manufacturers design to a government set of minimum standards in just about every regard. The aircraft is then tested to show that what was designed and produced meets those minimums. The aircraft then enters service and only FAA certified professional can operate and service the aircraft. Along the aircrafts life cycle inspections are performed to all features of the aircraft per a set of government and manufacturer guidelines. If at any point an issue is identified the all of the aircraft can be grounded till a suitable understanding of the issue can be acquired and an approved solution found. During the investigation of any issue liability for the repair can in most cases be easily directed back to the operator, the maintainer, the manufacturer or some combination of those parties. The recent 787 battery issue is a great example of how this system of checks and balances keeps aviation safe. In addition in the case of an issue investigators from the NTSB are able to go through maintenance log books, operator log books, aircraft black boxes and manufacturer records to identify the potential problems. They can also reconstruct an incident to determine if the source of the crash was a mechanical failure. Lastly the NTSB tracks all reported incidents with a specific model of aircraft to identify trends.
Getting back to the driverless car we have some issues with the liability model that cars currently operate under today. In most cases today it is the drivers fault. The manufacturer and the mechanic are rarely targeted for issues unless clear evidence is obtainable. But when we take the driver out of the equation whose fault does it become, the owner, the mechanic, the manufacturer? None of these parties were at the accident so how will police assign blame, how will insurance companies assign liability? There are no log books, there are no maintenance records, there are no certified professionals servicing your car and there is no accident investigation team out on the high way during rush hour recreating the accident. So how do we assign fault? Without all of these checks in the system it will be hard to say whose fault it is that the car killed my family. That first question will take a lot of thought and cherry pick the parts of aviation liability lifecycle that make sense for this more prevalent form of travel.
The second largest hurdle is transition. If all cars are driven by people then the system operates at this level of efficiency. If all cars are driven by machines then the system operates at an increased level of efficiency. But what is a percentage of cars are operated by people and a percentage are operated by machines? This is the second largest question and is what is driving a lot of my imagination. A system made up entirely of driverless vehicles is much easier to set up and prove that it is an improvement to the current 100% people driven system. The system that is a mix of the two takes a lot longer to set up, requires more regulation and may not have any significant impact on the efficiency of the system till a tipping point is reached. Two states have started to look at how they would regulate such a system in hopes of luring companies and jobs to their state as this trend towards automation continues. Nevada was the first state followed by California to get driverless car laws on the books. Nevada, one could argue was at the heart of the driverless car revolution since it hosted the DARPA grand challenge that showed that autonomous cars could be built using today’s technology. However both states are leaping ahead in this research as automotive companies continue to set up shop in these two tech savvy states.
The laws that they have put on the books can be found here.
So now the big question…. Which east coast state will be the first to put it’s toe into the driverless car revolution?
I read an article last week on quantum robots. The article was a bit confusing. So here is my own research on the topic. Hope it helps you understand how he gets to his conclusion that quantum robots are faster, more accurate, and are able to multitask better than the standard robot.
Definition of a robot:
- A machine capable of carrying out a complex series of actions automatically.
- (esp. in science fiction) A machine resembling a human being and able to replicate certain human movements and functions.
- Images of robots
All robots use computers to consume information about their environment and act upon those inputs according to the code they are loaded with.
Definition of a computer:
- An electronic device for storing and processing data, typically in binary form, according to instructions given to it in a variable program.
- A person who makes calculations, esp. with a calculating machine
Definition of computer code:
- the symbolic arrangement of data or instructions in a computer program or the set of such instructions.
The robot’s code is usually written for the capabilities of the CPU (central processing unit), meaning that the code only asks the hardware for answers so many times per second. The hardware speed plus the complexity of the math problems in the code determines the reaction speed of the robot and the number of things it can do at any one time. That last sentence is a bit misleading it assumes that power is not a limitation, meaning that the robot has more than enough electricity to allow the CPU, the robot’s sensors and the robot’s mechanisms to operate simultaneously at max speed.
As robots are created to do more things at a single time that are increasing in complexity the computer controlling the robot starts to become the limiting component. So in response robticists are adding more computing capability to their robots. That increasing capability requires more computer volume/weight, more structure to hold the computer and more power to maintain maximum computing capability.
With that understanding you can now ask the question; if robots could increase their computational capability without additional weight or power demands than could robots become more capable in the future? The answer is yes and that is where quantum computing comes in.
Definition of quantum computer:
- A computer that makes use of the quantum states of subatomic particles to store information.
Quantum computers are pretty cool. And Lockheed martin just announced that they have the first quantum computer ready for testing. If they get this computer working they will change the world. Quantum computing has the potential to render all of the world’s current cyber security useless. This article does a great job of describing the movie Sneakers…..I mean the future if quantum computing is real.
To go into what a quantum computer actually is just a waste of time when it comes to understanding what a quantum robot is in my opinion. The end result is that quantum computers are just computers that can handle significantly more calculation for the same weight and power consumption as a comparably sized computer. Meaning my robot can get a significant computer and code upgrade without any impact to the system or structures of the robot. Not as cool as what I thought quantum robot were before I started reading the article but, still exciting none the less. Let’s get the quantum computer working first and then worry about the quantum robotics later.
I first read about using DNA as a storage device a few months back, DNA data storage: 100 million hours of HD video in every cup. This article amazed that the technology was already available to do this. A few months later I was reading about the Monsanto case in front of supreme court. These two things were swimming around in my head when the new policy concerning 6 strikes for downloading copyright protected content started to makes waves in the news.
I started wondering about a few of the legal ramifications of putting data on DNA. According to the most recent Monsanto cases companies can patent DNA. They have defended this protection vigorously at the expense of many farmers’ livelihoods so as to dissuade other farmers from using their genetically modified seeds. Monsanto’s tactics have also turned farmer against farmer as Monsanto uses its customers to spy on neighboring farmers in their pursuit of intellectual property protections.
Big Media has taken a similar tact in their pursuit of individuals who they feel have violated their copy rights. In many instances they have taken regular people to court for exorbitant amounts of money. Recently via there 6 strike agreements with broad band providers they have enlisted other companies to be their spies in the war against piracy.
Those two things led me to do some thought experiments on how legal protections for DNA storage could play out. Firstly if you take Monsanto as the example modified DNA is covered under patent protection. Secondly if that data happens to be music or a movie it is also covered under copyright protection. Could the combination of these two forms of protection give individuals more than enough legal support to cancel each other out? ie. What if mega uploads was using DNA based servers. If they stored a movie on their DNA a media company could claim copyright infringement. But megauploads could also claim patent protection for the DNA it created….
I am sure there are some legal beagles out there who could add some support to such an argument. But it will be interesting to see how big business reacts. I think DNA patent protection may have just met the straw that breaks the camel’s back.
I am always amazed by the creativity of people. Someone was able to make a lego machine that consumes paper, makes a paper airplane and then launches said airplane.
Some of my other favorites are the Lego CNC controlled lathe.
I also love this one that recreates one of the original computers the Antikythera Mechanism.
And of course you can't forget this Lego CNC pancake machine….YUM
What are your favorite lego machines?
This in my favorite day of the year. It is almost as good and Natural Log Day.
Also Happy Birthday Einstein!
I posted about crowd sourced engineering last week and have had another thought on that topic. Last week’s post focused on projects where the team was made up of individuals from the crowd. However there is a different kind of crowd sourced engineering model that has been around for a while, the competition, where the crowd is made up of teams.
I think one of my favorite engineering competitions was the Netflix user recommendation system optimization competition. It was supposed to leverage the ideas of thousands of scientists to increase the user experience of its customers. It’s my favorite because it made a lot of sense to me at the time and should have been easy to implement. Unfortunately, the Forbes article above talks about how incorrect that perception was in so much as NetFlix never implemented the winning solution. I still have an optimistic expectation that NetFlix still earned enough value from the competition to make the expense of it worth it.
My next favorite competition family are the X prizes; Ansari X Prize, Archon X Prize, Automotive X Prize, Google Lunar X Prize, Tricorder X PRIZE. These prizes have definitely forced people to imagine new things and challenge the limit of current thinking. However, if you look at just the Ansari X Prize you see that the first and last commercial human space flight took place in Sept 2004. Outside of Dennis Tito via the Russians there have been zero commercial space flights in almost a decade. Based on this single experience you can easily argue that competitions can only serve to improve an industry and not one single team. Need to see if future X-Prize competitions bear more fruit.
I have found many other examples of professional and government level competitions that follow the same lifecycle; team competes, team wins, winner tries to commercialize success and ……. crickets while the industry grows.
One bright spot is the spinoff type businesses that leverage some of the advancements developed to achieve the full competitions goal. High school and collegiate level competitions appear to do this quite a bit. One good example is the number of businesses that have been created in and around the student robotics competition known as FIRST. FIRST robotics teams across the country have created over 50 businesses ranging from machine shops to circuit board suppliers to prosthetic limb companies. One such business sprung from team 357 out of Upper Darby Pennsylvania who started fabrication business for specialty robotics parts.
All in all I think this form of crowd sourced engineering will be more productive at both completing the goal and creating business when compared to the ones I discussed last week. I will be watching to see if my predictions are correct.