I have been fighting with fatigue since the June SRR competition. Finally seem to be overcoming it with some medications, better sleep habits, and who knows what else that may be making it better. As a result I am reworking and rethinking the Sample Return Challenge on my website. New material is under 2014 Table of Contents. Pages I am working on have WIP (work in progress) in their title. Comments and suggestions are appreciated here, via email, or on Facebook.
Happy holidays to all of you. May the robot of your desires be under the tree.
14 December 2013
07 August 2013
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
Here is a rough synopsis of how the teams fared:
Team Intrepid was the first to leave and return to the platform. It thought it picked up the sample but actually did not.
Team Kuukulgur (it means Moon or Lunar Rover), a demonstration team, from Estonia, was the first to pick up the sample but did not make it back to the starting platform. They had the slickest looking robots but then three of the team are mechanical engineers. They brought a swarm of four but one failed so only three took the field.
Team Waterloo, a demonstration team from Canada, also picked up the sample and were the first to return it to the starting platform but the sample was just outside the 1.5 meter square area. It did not hurt them financially since they were a demonstration team and thus ineligible for the NASA money. They did receive $500 from WPI for picking up the sample.
Team Survey won the Phase I competition this year and will take home $6,000 for that effort. ($5,000 from NASA and $1,000 from WPI.)
Team Mystic Lake, myself, did not do that well but I consider it a "building year", to borrow from
sports team terminology. Mystic Two traveled the furthest distance of a robot in the SRR to
date. It just kept trekking. I proved out much of my code and the
ability of my very small rovers to handle the terrain.
SpacePride fielded two rovers but were unable to accomplish much. Their software developer dropped out near the end so they had to scramble to get something working via a state-machine in RoboRealm.
I will update the table if more information becomes available.
Just after I returned from the challenge, an email on a robotics mailing list asked for advice on languages to use for robots. Since I had almost all of the information posted above I put it into a reply and received a nice thanks in return. Hopefully someone will find this interesting.
(Updated UCSC - UC Santa Cruz from comment. Thanks.)
(Updated Middleman aka RoBear from comment. Thanks.)
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 vision packagesHere is a rough synopsis of how the teams fared:
Team Intrepid was the first to leave and return to the platform. It thought it picked up the sample but actually did not.
Team Kuukulgur (it means Moon or Lunar Rover), a demonstration team, from Estonia, was the first to pick up the sample but did not make it back to the starting platform. They had the slickest looking robots but then three of the team are mechanical engineers. They brought a swarm of four but one failed so only three took the field.
Team Waterloo, a demonstration team from Canada, also picked up the sample and were the first to return it to the starting platform but the sample was just outside the 1.5 meter square area. It did not hurt them financially since they were a demonstration team and thus ineligible for the NASA money. They did receive $500 from WPI for picking up the sample.
Team Survey won the Phase I competition this year and will take home $6,000 for that effort. ($5,000 from NASA and $1,000 from WPI.)
SpacePride fielded two rovers but were unable to accomplish much. Their software developer dropped out near the end so they had to scramble to get something working via a state-machine in RoboRealm.
I will update the table if more information becomes available.
Just after I returned from the challenge, an email on a robotics mailing list asked for advice on languages to use for robots. Since I had almost all of the information posted above I put it into a reply and received a nice thanks in return. Hopefully someone will find this interesting.
(Updated UCSC - UC Santa Cruz from comment. Thanks.)
(Updated Middleman aka RoBear from comment. Thanks.)
18 June 2013
Linux Sucks
One of the to-do items from the SRR challenge was to learn Linux so I could investigate Robot Operating System and then use OpenCV for vision processing.
Linux does not make this easy and I am rapidly getting frustrated with it as I always do when I try it.
I downloaded and installed Debian Wheezy to get the latest version. It is up and running.
I used the package manger to install Eclipse CDT. Except it is a version of Indigo (3.8) not Juno. Grump, grump, grump. I tried to update Eclipse the other day on another box. There are NO clear instructions on the web on how to do the install over the old version and get it into the menu system.
At the same time I wanted to install Mozilla Thunderbird for email. Nope, not in the package manager and it downloads an archive, not a package. Grump, grump, grump.
Google Chrome downloaded okay and with only one false start I got the package manager to install it.
Even should someone walk me through getting those applications installed I shudder to think of what it is going to take to (1) get ROS and OpenCV setup and (2) get Debian running on all the rover's PCs and running my code.
Linux does not make this easy and I am rapidly getting frustrated with it as I always do when I try it.
I downloaded and installed Debian Wheezy to get the latest version. It is up and running.
I used the package manger to install Eclipse CDT. Except it is a version of Indigo (3.8) not Juno. Grump, grump, grump. I tried to update Eclipse the other day on another box. There are NO clear instructions on the web on how to do the install over the old version and get it into the menu system.
At the same time I wanted to install Mozilla Thunderbird for email. Nope, not in the package manager and it downloads an archive, not a package. Grump, grump, grump.
Google Chrome downloaded okay and with only one false start I got the package manager to install it.
Even should someone walk me through getting those applications installed I shudder to think of what it is going to take to (1) get ROS and OpenCV setup and (2) get Debian running on all the rover's PCs and running my code.
17 June 2013
Rover Names
When I got the 4 computers for the rovers I still had not come up with a good names for them. Loading Windows XP I simply called the first one Mystic One. That led to the others being Two, Three, and Four. The more I used that name I liked it and started referring to them collectively as The Mystics. That is their name now and I will use if for the team name next year: Team Mystic.
The name obviously comes from Mystic Lake Software, my DBA. After Shari and I decided I was retired - I promised to have a warm supper on the table for her every night - I wanted to create a DBA just in case I did pick up some kind of work. Behind our house - and across a street - is a small park with a lake - Mystic Lake. That felt like a good name so I used it by simply adding the "Software". It conveys that aura of mystery that pervades software.
The name obviously comes from Mystic Lake Software, my DBA. After Shari and I decided I was retired - I promised to have a warm supper on the table for her every night - I wanted to create a DBA just in case I did pick up some kind of work. Behind our house - and across a street - is a small park with a lake - Mystic Lake. That felt like a good name so I used it by simply adding the "Software". It conveys that aura of mystery that pervades software.
Back from the SRR, links and an EMMY!
Back home after an awesome experience at the 2013 NASA Sample Return Robot Centennial Challenge. I posted on Facebook to capture the activities of myself and the other teams. It was an intense week and with seven days of travel involved getting there and back I am still not ready to jump full speed into much of anything.
If you visit the Mystic Lake FB page take a look at the pages I liked from there. They are either vendors I have used or additional FB pages associated with the SRR. A few of the teams are there. If others have FB pages I am not aware of them.
I do not use Twitter but if you search for #srrbot you can see what was tweeted by others.
The SRR is one of many NASA Centennial Challenges. Challenges of this type have a long history in aerospace. Lindbergh's crossing of the Atlantic is probably the one most well known. He won $33,000 for meeting the challenge.
Worcester Polytechnic Institute hosted the challenge. They were very good hosts providing 3 meals each day so the teams could work continuously. That also provided an opportunity to talk with some of the other teams. At all the other times the teams were heads-down working on their robots.
Friday local school kids visited, saw NASA exhibits, the teams demonstrating robots, and were generally exposed to technology. A group of high visibility social media users also toured the robot pits to talk with the teams and see the robots.
On Saturday, NASA and WPI hosted Touch Tomorrow to showcase NASA and robotics. All the teams demonstrated their robots at times throughout the day. The crowds, and especially the kids, liked seeing the robots perform.
All through the week NASA360 was there talking with us and taking pictures and videos. They were a great bunch of guys to have poking their lenses at us. There are some terrific photos and videos. To cap it off, NASA360 won an emmy for their TV show about last year's SRR: Robots, Rocks and Rovers. In May they won a Telly award for the same episode.
Here are some links to photos and videos:
https://pictures.lytro.com/NASAHQPHOTO/pictures/658265
NASA photos from all days.
(Tom had way too much fun putting shots of the Mystics in trouble in these.)
NASA360 Rover Madness
NASA360 Kicking 'Bot
Video from Mystic Two - taken from the camera on the rover.
Photos of the other teams.
Photos of us and the Mystics (pending getting them organized.)
If you visit the Mystic Lake FB page take a look at the pages I liked from there. They are either vendors I have used or additional FB pages associated with the SRR. A few of the teams are there. If others have FB pages I am not aware of them.
I do not use Twitter but if you search for #srrbot you can see what was tweeted by others.
The SRR is one of many NASA Centennial Challenges. Challenges of this type have a long history in aerospace. Lindbergh's crossing of the Atlantic is probably the one most well known. He won $33,000 for meeting the challenge.
Worcester Polytechnic Institute hosted the challenge. They were very good hosts providing 3 meals each day so the teams could work continuously. That also provided an opportunity to talk with some of the other teams. At all the other times the teams were heads-down working on their robots.
Friday local school kids visited, saw NASA exhibits, the teams demonstrating robots, and were generally exposed to technology. A group of high visibility social media users also toured the robot pits to talk with the teams and see the robots.
On Saturday, NASA and WPI hosted Touch Tomorrow to showcase NASA and robotics. All the teams demonstrated their robots at times throughout the day. The crowds, and especially the kids, liked seeing the robots perform.
All through the week NASA360 was there talking with us and taking pictures and videos. They were a great bunch of guys to have poking their lenses at us. There are some terrific photos and videos. To cap it off, NASA360 won an emmy for their TV show about last year's SRR: Robots, Rocks and Rovers. In May they won a Telly award for the same episode.
Here are some links to photos and videos:
https://pictures.lytro.com/NASAHQPHOTO/pictures/658265
NASA photos from all days.
(Tom had way too much fun putting shots of the Mystics in trouble in these.)
NASA360 Rover Madness
NASA360 Kicking 'Bot
Video from Mystic Two - taken from the camera on the rover.
Photos of the other teams.
Photos of us and the Mystics (pending getting them organized.)
09 April 2013
Still Alive and Working Hard
Long time without posting because I have been focusing entirely on preparing the swarm for the challenge. At some point I do blog entries on the thoughts and activities that went into the project. I will backfill them just to keep the timing straight.
I have received a lot of assistance from vendors. Some in discounts and some in sharing knowledge. One I want to specifically mention is David Gray of ProgressiveRC. David answered a lot of questions about batteries and the wiring I will need which was very helpful. ProgressiveRC is providing a very nicely cased set of chargers - the Double Sidekick Ticket - for the batteries, and special ordered 10.4 Ah batteries. There will be two of those in each member of the swarm.
Pololu provided discounts on a Simple Motor Controllers, Maestros, Wild Thumper 6WD, and other parts and pieces.
The last part of the puzzle is picking up the samples. I have the design concept and it works. I even have a video. I have a kludge for this on the current robot but it is pretty ugly. Looking at using tilt mechanisms from ServoCity. Might also need to use some of their construction beams.
I just looked at the hit rate for this blog and it is doing better than I thought. There are 25,000 or so hits. It would probably be a lot better if I were keeping it current but I am awfully busy with the project itself.
I have received a lot of assistance from vendors. Some in discounts and some in sharing knowledge. One I want to specifically mention is David Gray of ProgressiveRC. David answered a lot of questions about batteries and the wiring I will need which was very helpful. ProgressiveRC is providing a very nicely cased set of chargers - the Double Sidekick Ticket - for the batteries, and special ordered 10.4 Ah batteries. There will be two of those in each member of the swarm.
Pololu provided discounts on a Simple Motor Controllers, Maestros, Wild Thumper 6WD, and other parts and pieces.
The last part of the puzzle is picking up the samples. I have the design concept and it works. I even have a video. I have a kludge for this on the current robot but it is pretty ugly. Looking at using tilt mechanisms from ServoCity. Might also need to use some of their construction beams.
I just looked at the hit rate for this blog and it is doing better than I thought. There are 25,000 or so hits. It would probably be a lot better if I were keeping it current but I am awfully busy with the project itself.
17 November 2012
Frustrating Week
It has been one of those weeks where you take three steps forward and two steps back.
I got the computer for the prototype. I is targeted at installation in a car. The case is a heavy (!) aluminum with fins for cooling when installed under a car seat. The overall weight is 7-8 lbs. I wanted to order a COTS computer so save time and effort. I need to be working on software, not messing with hardware, either robotic or computers. But I didn't check out the weight when I ordered this beast. The Wild Thumper is supposed to handle an 11 pound payload.
I have the Pololu Simple motor controllers working and can control the motors either using RC or a computer. I ran the Thumper around the front yard and in the street using the RC control. I am on a cul-de-sac and there is an island in the middle of it. The Thumper limbs the curb nicely. Shouldn't need that with competition but nice to know it has that power.
I put the controllers on the Thumper platform along with some euro-type terminal strips for power distribution. Then reaaranged all of that to mount the computer. And reaaranged it all again for another reason. That was at least 0.5 step back.
I tried running the robot under RC control with the computer mounted. That blew the motor controllers. I know they were marginal but I had them on hand. They are rated for 7 amp continuous and higher for stall current. The three motors on the side of the Thumper are rated 7 amp stall for a total 21 amp stall. I thought the controller configuration for acceleration ramping would limit that current. It didn't. Ordered some new higher power controllers to see how they work.
Also worked with the Pololu IMU. That was another step backwards. The IMU generates output faster than can be read using the USB-I2C adapter on the computer. The slowest the IMU generates output is 100 readings per second. The system would need to read 6 data points (3 gyro and 3 accelerometer) at that speed to keep up. There is a FIFO capability so up to 32 readings could be buffered and read in bursts. Basically, I did not want to mess with it. In part because I though my time would be better spent on some other problem.
I found that Phidgets has a series of USB devices that includes spatial sensors. They are configured specifically for connecting to PCs. Their software capability looked interesting and they supported C/C++ on Windows. I ordered their 1042 basic motion sensor. In a few hours on Friday night I wrote the code to set the configuration and acquire data.
The 1042 has a gyro, accelerometer, and compass. I cannot use the compass in the competition. The sampling rate is set through software. The 1042 internally accumulates readings for the specified sampling period. That simplifies using it. That is one of the steps forward after a step backward.
If I had not just ordered the new Pololu motor controllers I would be tempted to order a Phidgets motor controller. The Phidgets' software stack is all integrated so using one type of device shows how to use any of the other devices. (In fairness, the Pololu controllers do the same. Getting the Simple controllers working was easy after using a Maestro controller.)
Back to the computer and its weight. I have another ITX case from an earlier project. The mother board and hard drive are easily moved to it. But the power supply from the car computer won't fit in the case. I need to decide if I should get a power supply that would work and make a lighter computer. Of course that is exactly what I was trying to avoid - building up the computer hardware.
Another piece of electronics I got working was a key fob RF transmitter and its companion receiver board. It operates on 422 mHz. A robot for the competition must stop all motion within 1 second of the press of a remote control button by the judge monitoring the robot. (In a swarm, all the robots must stop!) I have a concern whether these will work acceptably in the competition. Apparently one team last year had problems with their RF pause button and had to switch at the last minute to RC control. That would be nearly impossible to do for a swarm of robots. To many last minute changes. Regardless, I need something for the prototype so this should work for now.
The receiver connects to the Simpler controller's analog input. The controller can be configured to automatically stop the motors when the signal is received. Both the analog input value and an status bit can be read by the PC so the robot knows of the pause request. The robot can then shut down any other moving parts, such as a picker or panning camera.
Speaking of camera, I took a number of pictures in local parks. One park had a construction area with orange mesh fencing so I got a number of pictures of it. That type of fencing is used to mark the perimeter of the competition area. The robot has to avoid getting to near the fence of the judge will stop it. Also got picture of some lamp posts and pavilions with columns. The competition area has similar features that can be used for localization.
Now to see what happens with the computer on the robot with the new motor controllers. Fingers crossed!
I got the computer for the prototype. I is targeted at installation in a car. The case is a heavy (!) aluminum with fins for cooling when installed under a car seat. The overall weight is 7-8 lbs. I wanted to order a COTS computer so save time and effort. I need to be working on software, not messing with hardware, either robotic or computers. But I didn't check out the weight when I ordered this beast. The Wild Thumper is supposed to handle an 11 pound payload.
I have the Pololu Simple motor controllers working and can control the motors either using RC or a computer. I ran the Thumper around the front yard and in the street using the RC control. I am on a cul-de-sac and there is an island in the middle of it. The Thumper limbs the curb nicely. Shouldn't need that with competition but nice to know it has that power.
I put the controllers on the Thumper platform along with some euro-type terminal strips for power distribution. Then reaaranged all of that to mount the computer. And reaaranged it all again for another reason. That was at least 0.5 step back.
I tried running the robot under RC control with the computer mounted. That blew the motor controllers. I know they were marginal but I had them on hand. They are rated for 7 amp continuous and higher for stall current. The three motors on the side of the Thumper are rated 7 amp stall for a total 21 amp stall. I thought the controller configuration for acceleration ramping would limit that current. It didn't. Ordered some new higher power controllers to see how they work.
Also worked with the Pololu IMU. That was another step backwards. The IMU generates output faster than can be read using the USB-I2C adapter on the computer. The slowest the IMU generates output is 100 readings per second. The system would need to read 6 data points (3 gyro and 3 accelerometer) at that speed to keep up. There is a FIFO capability so up to 32 readings could be buffered and read in bursts. Basically, I did not want to mess with it. In part because I though my time would be better spent on some other problem.
I found that Phidgets has a series of USB devices that includes spatial sensors. They are configured specifically for connecting to PCs. Their software capability looked interesting and they supported C/C++ on Windows. I ordered their 1042 basic motion sensor. In a few hours on Friday night I wrote the code to set the configuration and acquire data.
The 1042 has a gyro, accelerometer, and compass. I cannot use the compass in the competition. The sampling rate is set through software. The 1042 internally accumulates readings for the specified sampling period. That simplifies using it. That is one of the steps forward after a step backward.
If I had not just ordered the new Pololu motor controllers I would be tempted to order a Phidgets motor controller. The Phidgets' software stack is all integrated so using one type of device shows how to use any of the other devices. (In fairness, the Pololu controllers do the same. Getting the Simple controllers working was easy after using a Maestro controller.)
Back to the computer and its weight. I have another ITX case from an earlier project. The mother board and hard drive are easily moved to it. But the power supply from the car computer won't fit in the case. I need to decide if I should get a power supply that would work and make a lighter computer. Of course that is exactly what I was trying to avoid - building up the computer hardware.
Another piece of electronics I got working was a key fob RF transmitter and its companion receiver board. It operates on 422 mHz. A robot for the competition must stop all motion within 1 second of the press of a remote control button by the judge monitoring the robot. (In a swarm, all the robots must stop!) I have a concern whether these will work acceptably in the competition. Apparently one team last year had problems with their RF pause button and had to switch at the last minute to RC control. That would be nearly impossible to do for a swarm of robots. To many last minute changes. Regardless, I need something for the prototype so this should work for now.
The receiver connects to the Simpler controller's analog input. The controller can be configured to automatically stop the motors when the signal is received. Both the analog input value and an status bit can be read by the PC so the robot knows of the pause request. The robot can then shut down any other moving parts, such as a picker or panning camera.
Speaking of camera, I took a number of pictures in local parks. One park had a construction area with orange mesh fencing so I got a number of pictures of it. That type of fencing is used to mark the perimeter of the competition area. The robot has to avoid getting to near the fence of the judge will stop it. Also got picture of some lamp posts and pavilions with columns. The competition area has similar features that can be used for localization.
Now to see what happens with the computer on the robot with the new motor controllers. Fingers crossed!
Subscribe to:
Posts (Atom)
SRC2 - Explicit Steering - Wheel Speed
SRC2 Rover This fourth post about the qualifying round of the NASA Space Robotics Challenge - Phase 2 (SRC2) addresses t he speed of the ...
-
The brain of a robot is the software. The software has to take in the sensor data, interpret it, and generate commands to the actuators. On...
-
Another NASA Centennial Challenge began earlier this year. It will be the 3rd I've entered. I also entered the 2019 ARIAC competition...
-
Just as I was finishing my first look at the accelerometer and magnetic field sensors a couple of threads cropped up on the Android Develope...