Showing posts with label magic2010. Show all posts
Showing posts with label magic2010. Show all posts

Tuesday, May 08, 2012

Dynamic Window Algorithm motion planning

Most robots have a set of navigation algorithms for motion planning that execute at different frequencies, global path planners (e.g. A*, ~0.1 Hz), mid-level path deformation (e.g. elastic band, ~5Hz), and collision / obstacle avoidance algorithms (~20Hz), which will be the last step before actuator control.
For MAGIC 2010, we used the Dynamic Window Approach.
(Note the ROS navigation stack offers the same algorithm configurations, but of-course didn't exist at the time we had to develop the WAMbot codebase). There are three common approaches used for local trajectory planning:
  • Potential-field based, where each obstacle has an obstacle 'force field' for repelling the robot, and the goal has a attraction field. (A similar approach is 'Vector-fields', and Virtual Force Field)
  • Dynamics based, where the algorithm consider the robots dynamics in calculating a solution. (e.g. Velocity Obstacles and Dynamic Window Approach)
  • Sampling based, where various collision free states are sampled and then combined. (e.g. Reachability graph, Probabilistic roadmaps)
The Dynamic Window Approach is a velocity-based local planner that calculates the optimal collision-free ('admissible') velocity for a robot required to reach its goal. It translates a cartesian goal (x,y) into a velocity (v,w) command for a mobile robot.

There are two main goals, calculate a valid velocity search space, and select the optimal velocity. The search space is constructed from the set of velocities which produce a safe trajectory (i.e. allow the robot to stop before colliding), given the set of velocities the robot can achieve in the next time slice given its dynamics ('dynamic window'). The optimal velocity is selected to maximize the robots clearance, maximize the velocity and obtain the heading closest to the goal.

Its easier to explain if we look at the code first. In pseudo-code the DWA is:
 
BEGIN DWA(robotPose,robotGoal,robotModel)
   desiredV = calculateV(robotPose,robotGoal)
   laserscan = readScanner()
   allowable_v = generateWindow(robotV, robotModel)
   allowable_w  = generateWindow(robotW, robotModel)
   for each v in allowable_v
      for each w in allowable_w
      dist = find_dist(v,w,laserscan,robotModel)
      breakDist = calculateBreakingDistance(v)
      if (dist > breakDist)  //can stop in time
         heading = hDiff(robotPose,goalPose, v,w)
         clearance = (dist-breakDist)/(dmax - breakDist)
         cost = costFunction(heading,clearance, abs(desired_v - v))
         if (cost > optimal)
            best_v = v
            best_w = w
            optimal = cost
    set robot trajectory to best_v, best_w
END

Now to explain:
  1. First, we can calculate the desired velocity to the goal based on our current position, and the destination. (e.g. go fast if we are far away, slow if we are close. Use Equations of Motion, see Circular motion for a mobile robot).
  2. Select the allowable velocities (linear 'v', and angular 'w') given the vehicles dynamics, e.g. allowable_v ranges from the current velocity subtract the robots maximum deceleration * timeslice to the current velocity plus the robots maximum acceleration * timeslice, or more compact: [v-a.t,v+a.t], likewise for angular velocity.
  3. Search through all the allowable velocities
  4. For each velocity, determine the closest obstacle for the proposed robot velocity (i.e. collision detection along the trajectory)
  5. Determine if the distance to the closest obstacle is within the robots breaking distance. If the robot will not be able to stop in time, disregard this proposed robot velocity.
  6. Otherwise, the velocity is 'admissible', so we can now calculate the values required for the objective function. In our case, the robots heading and clearance.
  7. Calculate the 'cost' for the proposed velocity. If the cost is better than anything else so far, set this as our best option.
  8. Finally, set the robots desired trajectory to the best proposed velocity.
If you've read all the other posts, you should now know enough to implement your own mobile robot navigation system, or at least understand a bit more about the algorithms in the ROS navigation stack.

Tuesday, September 06, 2011

Eureka Prize for WAMbot

The Australian WAMbot robot was selected as a finalist to the Eureka prize (Australia's top science prize) in the defence category. The awards ceremony took place in Sydney, at the Hordern Pavilion.

It was an interesting event, showcasing the best of Australian science. Stiff competition meant the first place in the Defence category was snatched away by Prof Abdesselam Bouzerdoum who has done fantastic work in novel sensing systems.

Maybe next time.

Thursday, February 24, 2011

WAMBot on ABC Catalyst

ABC Catalyst did a segment on the MAGIC 2010 competition, you can watch the Catalyst RobotWars MAGIC2010 segment on their website.

A more in-depth explanation of the problems we faced: The robots were stored overnight on site in a tent, and unfortunately the next day a lot of moisture had gathered in the electronics. Since we had used cheap GPS units, a number of them then failed on the day. The software we had written was not robust enough to cope with the faulty units and so the robots would think they were in an incorrect location. As the fleet of robots could not agree on their locations the map data was incomplete, and subsequently the robots were difficult to navigate.

Other software bugs, short battery life and communications drops also hindered the performance.

Next time: More testing, and focus on robustness and fallback options, and buy equipment with an IP rating of 32 or more.

A short clip of the interview is on youtube:

Thursday, November 18, 2010

Team MAGICian/WAMbot takes 4th place!

All of our teams hard work has paid off as we claimed 4th place in the MAGIC 2010 competition! Our system was actually very close to what the top two teams had implemented, and with a bit of luck we might have been able to snatch a prize. Maybe next time!



Above is a photo composition by Rob Reid of all the robots at the challenge stand, ordered from 1st to last (Left to Right). Team Michigan came in 1st, followed by University of Pennsylvania, and RASR took 3rd place. It's been a great opportunity to talk to all the other teams and see how they solved their problems and to see how many of the same headaches we all had. The LWC was a great place to meet and greet a number of industry people and also a nice crowd from DSTO who showed a lot of interest in what we have done. It was great to get so much positive feedback from everyone on our system.

Friday, November 12, 2010

Ram Shed Challenge

The Ram Shed challenge was a media-event for the MAGIC 2010 competition. It was our first chance to see all the other teams robots and a chance to see them all at work. Our robots performed very well one the day and navigated the maze better than any other team, the entire open section of the maze was explored fully autonomously requiring no human interaction at any point. All of this despite the fact our wifi gear was mounted outside and failed during the rain, after a few minutes we were able to replace it and continue our mapping operations!
The photos show our robots at the starting line, followed by them moving off in the starting arena, then navigating the maze, and finally the prize.
A fabulous effort by our team, and I'm extremely proud of our achievements on this day!

Sunday, November 07, 2010

Team MAGICian

Our MAGIC 2010 test day is over, so it's time to catch up on some sleep!
Looking forward to seeing how the other teams will perform.

Sunday, October 31, 2010

MAGIC 2010 - Adelaide

We are off to Adelaide for the MAGIC 2010 finals.
Looking forward to meeting the other teams, and hope it doesn't rain!

Tuesday, July 27, 2010

WAMBOT makes it into the Finals!



Just got off the plane from Europe, and I'm ecstatic to say that our team MAGICIAN / WAMBOT has made it as one of the six finalists for the MAGIC 2010 competition. Our success will help put Perth, Western Australia on the map as a place for robotics research. ECU, UWA and Thales put together a massive engineering effort to complete the robots and we had strong support from our sponsors Thales, SICK, XSens, RTI, and plenty of help from Illiarc. DSTO has allowed us to release photos of the robots and the event now, so I'm glad to be able to share some pictures of the action.

If you see any news stories on the event or would like to help our team - don't hesitate to leave a comment below!

Go Team WAMBOT!

Friday, June 11, 2010

Magic 2010

Our June MAGIC 2010 TAP is over, and I'm very proud of my team's performance. They put in a massive effort for the site-visit.

Now time for normal life to resume, and some more regular blog posts... Right after I finish tying off the loose ends.

Friday, April 30, 2010

Robots and Robot Competitions

I am part of an Australian team that has entered the MAGIC 2010 competition, Team WAMbot. MAGIC 2010 is an exciting challenge for coordinating multiple autonomous vehicles for mapping, surveillance and tracking tasks. This is sure to prove to be an exciting challenge that will push robots forward in terms of capabilities and reliability. Although many robots can already do similar tasks, I have not seen any demonstration of the interaction of all of these capabilities, reliably for an extended period of time.

A previous challenge that sparked great interest that was also funded by the military were the DARPA Grand Challenge's. However I believe one group has taken onboard an even more monumental challenge, the VisLab's Intercontinental challenge to cross from Rome, Italy to Shanghai, China. VisLab have a unique pure-vision approach (although I doubt they will stick to this for this particular challenge), have been a leader in the autonomous automotive field for years and have done some very impressive work. They are brave enough to walk infront of their vehicles and trust them to swerve out of the way to avoid them.

I believe the VisLab challenge will be a very tough test, unlike previous ground-breaking driving trips, like UniBW's 1000 mile autonomous journey in the 1990's that followed clean Autobahn lane markings, the VisLab's challenge will travel on unreliable roads for a much longer time and need to deal with pedestrians, animals, etc, etc. They do get the slight bonus of being able to use GPS navigation.

The VisLab guys are very friendly and helpful people, so I wish them the best of luck in this challenging and ground-breaking endeavour!

I'll leave you with some interesting Robotics videos:
This blimp seems similar to the Festo blimp, but it is powered by electroactive polymers.


And a robot balancing on a ball, not unlike the BallyBot from our lab.


And VAIL's autonomous parking has made some impact on the web, no idea why, it doesn't seem much more advanced than the autonomous parking we've been seeing for years since the DARPA Urban Challenge. Still, it is neat:

Friday, December 18, 2009

MAGIC 2010 - Briefing


I attended the MAGIC 2010 briefing for our team at the DSTO offices in Sydney. It was great to meet the rest of team MAGICian/WAMbot that I hadn't met yet, and some of the other Australian teams:
  • Strategic Engineering, a very large group of students from a number of different Sydney universities were there in full force. Seems like the team with the least experience, but with the most enthusiasm. A bit of a wildcard entry but they have the funding they need and certainly have plenty of man power and red t-shirts.
  • NUMINENCE, a team based from LaTrobe, with a strong commercial focus. The industry drive in this team could make it a more interesting entry compared to the other more academically focused groups, hopefully the lack of funding won't be a strong concern.
  • University of New South Wales, a strong academic contender, they have a small focused hard-wroking team. As an unfunded entry they might feel to be under dogs, but I'm confident that they will do well.

Our own team has grown in size (again), with our South Australian counterparts picking up some help from Lockheed Martin, and gaining some sponsorship from Dlink.

It was a very friendly group and it was great to see some of the same people again as from the Adelaide meeting. We drilled the organizers with questions for a couple of hours and kept the other teams waiting (sorry!), but now we have a clear(er) idea of what needs to be done and are looking forward to an exciting and challenging demonstration in June.

I wonder how the briefing in the US went, it would have been great to be there.

Thursday, November 05, 2009

MAGIC 2010 - Team MAGICian - ECU, UWA, Flinders, Thales


Fantastic news, the team I put together for the DSTO MAGIC 2010 competition has been pre-selected into the top 10 teams, and won $50,000 USD in seed funding! Now we just need to make it past phase 2, and then take away the million dollar prize!

Our team consists of two parts, Edith Cowan University, School of Computer and Security Science, and the University of Western Australia, School of Electrical, Electronic and Computer Engineering which make up the WA team that I am coordinating, and Flinders University in Adelaide that David is coordinating.

The competition is quite tough, were up against a number of veterans from the DARPA grand challenge. This was a series of events where robot cars raced through the Mojave Desert, and then navigated through an urban environment. There is a pretty good PBS/NOVA documentary on the original challenge The Great Robot Race. I was involved on the sidelines with the Urban challenge with the TUM/UniBW/Karlsruhe AnnieWAY entry.

Some of the key competitors include Carnegie Mellon University (Who won the DARPA urban challenge, and came second in the DARPA grand challenge), Virgina Tech (3rd in urban), University of Pennsylvania and Cornell who tied at 5th. You can read about the whole list of competitors on a Dr Dobb's Journal article covering the MAGIC 2010 selection event. Naturally, these teams will be fooled into a sense of complacency and they won't stand a chance against our home-grown team.

We are building 7 robots in WA, and approx 10 robots in SA. You can see the WA robot in the picture with this post, it is based on the Pioneer All-Terrain robotic platform. The WA robots will have DGPS, inertial measurement systems (gyroscopes & accelerometers) for relative positioning, various laser range finders for mapping and collision deteciton, stereo cameras for distance measurement and object recognition and PTZ cameras for object tracking. This should be a very exciting project!

Some of the key areas for software work include building the simulator, developing the computer vision algorithms for object recognition and tracking (including tracking people), the LIDAR data processing, sensor fusion algorithms, SLAM algorithms, the multi-agent team coordination and planning, the data-communications, path planning, trajectory generation, influence mapping, the list goes on!

So if you have any interest in the project, please drop me a line! It's your chance to be famous, and to be part of this history-making event!

Wednesday, July 22, 2009

MAGIC 2010


Do you remember the DARAP Grand Challenge? Well now the Australian DSTO is holding its own challenge, the Multi Autonomous Ground-robotic International Challenge (MAGIC 2010), with a total of $1.6 million US in prize money. The goal is to use a multi-robot team to perform "intelligence, surveillance and reconnaissance mission in a dynamic urban environment."

The MAGIC requires entrants to complete the following tasks:
(i) Accurately and completely explore and map the challenge area;
(ii) correctly locate, classify and recognise all simulated threats; and
(iii) complete all phases within 3.5 hours.

The final event is scheduled to take place during the week of November 8, 2010, somewhere in South Australia.

I'm putting together a team from WA, if you are interested let me know.
The participants conference is in Adelaide next week. See you there!