October 2009 Archives

geometry 0.4.1 and common 0.6.1 released

| No Comments | No TrackBacks

geometry.png
common.png

geometry 0.4.1 and common 0.6.1 have been released. This is a patch release. If you are having performance issues are wish to use these stacks with gcc 4.4 (e.g. Karmic Koala), please update.

Minor Changes

  • tf
    • patched TransformBroadcaster.sendTransform(*) methods to consistently remap
    • Fixed tf_monitor display of current chain to show last link
    • MessageFilter now remaps target frames (r25194, #3119)
    • MessageFilter now warns and immediately throws out messages with an empty frame_id (r25194)
    • Changed compile mode to Release from Debug r25374
    • Fixed usage message for static_transform_sender r25375
  • common
    • Koala/gcc 4.4 compatability.
    • filters patch for karmic compilation

Downloads

navigation 0.5.2 released

| No Comments | No TrackBacks
navigation.png

navigation 0.5.2 is a patch release that adds new tests and fixes a bug with a costmap_2d test.

New Features

  • voxel_grid: Added some basic tests, more to come soon
  • costmap_2d: Added a lot of tests

Bug Fixes

  • costmap_2d: Fixing test dependency on willow_maps which is not in the navigation stack

Download

Robots as Students: Towers of Hanoi

| No Comments | No TrackBacks

crossposted from willowgarage.com

Nate Koenig of the Interaction Lab at USC is continuing his work here at Willow Garage after a busy summer. Nate carried out an empirical study investigating the use of people as teachers for robots, while also researching learning by demonstration with PR2.

Participants in Nate's study used learning by demonstration to teach PR2 how to solve the Towers of Hanoi puzzle. As the name implies, learning by demonstration relies on a human teacher to provide a robot "student" with demonstrations of a complex task. In this case, the robot uses the state of the puzzle (i.e., location of red disk compared to blue and green), along with the teacher's command, to learn the demonstrated task. Volunteers used a web-based teaching tool to guide PR2 through the three-disk puzzle board. In one condition, teachers were able to directly see PR2, while in the other condition teachers viewed the robot's actions through a small video feed on the web tool. This manipulation allowed Nate to study if robot visibility affects teaching strategies and outcomes. Based on participants' commands and other observations from the environment, the robot learned how to solve the puzzle on its own.

Results from this study indicate that teachers perform better when visually separated from the robot. Performing "better" means that participants made fewer unnecessary or repetitive moves when teaching the robot. While this may seem counter-intuitive, the teachers who could see the robot were easily distracted from the task and seemed to build inaccurate mental models of PR2's capabilities.

In addition to this experiment, Nate worked on a number of smaller projects including developing the first video streaming ROS node and creating a web-based graphical interface for interacting with PR2. You can find many of these contributions in the hanoi package for ROS. Nate is also creator and lead developer for Gazebo, a popular open-source 3D robot simulator. Gazebo is heavily used at Willow Garage to simulate the actions of PR2, and Nate is providing us with numerous improvements.

vision_opencv 0.3.0 released

| No Comments | No TrackBacks

vision_opencv.png

vision_opencv 0.3.0 has been released. The new stack vision_opencv is a replacement for the old stack opencv. The stack opencv is now deprecated, as are its packages opencv_latest and opencvpython.

Please update your dependencies as follows: if your manifest.xml has opencv_latest, then replace it with opencv2 and cv_bridge. If you have scripts or launch files that reference opencv_latest, change to opencv2.

Download

Texas Robot

| No Comments | No TrackBacks

Dallas.Screenshot.png

On the Willow Garage Blog, you can find out more about the Texas Robot, which is a telepresence robot built out of leftover PR2 parts and off-the-shelf components. One of the interesting aspects of the Texas robot is that it is running the PR2 software components as-is: motor controllers, tele-operation, visualization, etc... The only changes required were modifying the robot model (urdf) and writing new roslaunch files. You can find these changes in the texas package on ROS.org. Any other changes have been improvements that have been useful for both the Texas and PR2 robots, such as updates to the teleoperation controls.

robot_model 0.6.1 released

| No Comments | No TrackBacks

robot_model.png

robot_model 0.6.1 has been released. This release fixes a number of bugs in the 0.6.0 stable release. The most important fixes are in the urdf package: the parser now makes sure all required fields are present, and the parser now always fails when it finds a syntax error in a field, even when this field is optional. See the changelist below for more details.

Changes

  • robot_state_publisher:
    • Remove use of deprecated "~" in parameter names.
    • Add include of for g++ 4.4 compatibility
    • Fix warnings in regression tests
    • Increase buffer size for joint state from 1 to 500
    • Deal with an incomplete joint state by trimming corresponding tree branches
  • resource_retriever:
    • Add include of for g++ 4.4 compatibility
  • urdf:
    • Fix bugs in optional/required checks of fields
    • Fail parsing if optional field has invalid syntax

Download

navigation 0.5.1 released

| No Comments | No TrackBacks
navigation.png

navigation 0.5.1 is a patch release that adds new tests and fixes a bug with a costmap_2d test.

New Features

  • amcl: Updating amcl so that the coordinate frames it uses can be set via parameters
  • costmap_2d: Can now save pgm files of the costmap to help with debugging if the user desires
  • costmap_2d: Added test to catch invalid costmap construction or updating due to improper raytracing or inflation

Bug Fixes

  • costmap_2d: Fixed a bug in obstacle re-inflation after raytracing
  • robot_pose_ekf: Update bag downloading and fix assert in regression test exit
  • base_local_planner: The local plan published by the planner for visualization purposes now includes orientation information
  • Fixed CMake deprecation warnings across all packages

Download

ROS 0.9 Released

| No Comments | No TrackBacks

ROS 0.9

ROS 0.9 has been released! Our focus with this release was bringing ROS closer to 1.0 status. ROS has been undergoing user testing as part of our Milestone 3 efforts, which has allowed us to make improvements to numerous tools, clarify error messages, and fix bugs. The most notable change with this release is that we have officially ended support for the deprecated ros::Node API in roscpp. We have also introduced a new "bool" type for ROS message types.

There were many other changes with this release as we work to improve and finalize the ROS feature set. You can find a complete list in the changelist.

You can download a tarball of the release, though we recommend that you start with the ROS installation instructions instead.

image_common 0.5.0

| No Comments | No TrackBacks

image_common.png

image_common-0.5.0 has been released. This release removes all APIs deprecated in 0.2.0. The remaining APIs are stable. If you are still using ImagePublisher or ImageSubscriber, take a minute to update your code; see image_transport's Quickstart Guide or Tutorials for proper usage.

This is the first release to pass documentation review.

Changes

  • image_transport:
    • Removed all deprecated functions and classes.
    • Fixed compilation bugs in ImageTransport::subscribeCamera().
    • Improved output from list_transports.
  • camera_calibration_parsers:
    • Removed deprecated functions.

Download

common 0.6.0 released

| No Comments | No TrackBacks

common.png

common-0.6.0 has been released. This is mostly a maintenance update to do the planned removal of the yaml-cpp package in favor of the yaml_cpp package introduced in 0.5.0. Below is the full changelist.

Major changes

  • yaml-cpp has been removed (use yaml_cpp instead)

Minor changes * actionlib * Removing deprecated version of SimpleActionClient::sendGoal. This only affects users who register a doneCallback when calling sendGoal * Shortened names of the python and C++ SimpleActionClient wait* calls * Switched internal references of deprecated ros::SingleSubscriberPublisher::getSubscriberCallerID to getSubscriberName * Shortened wait* method names in the python action client * waitForActionServerToStart and waitForGoalToFinish are now waitForServer and waitForResult. #3059 * Moved actionlibtutorials out of common and into rospkgtutorials * xacro * Added xacro.cmake file that exports new xacroaddxacrofile() macro, #3020

Download

geometry 0.4.0 released

| No Comments | No TrackBacks

geometry.png

geometry-0.4.0 has been released. The main new feature in this release is an optional callback that has been added for when messages are dropped by the tf::MessageFilter. Debugging messages have also been updated for greater readability.

Major Changes

  • Make the error messages that tf prints more user friendly.
  • Add a failure callback to tf::MessageFilter

Minor Changes

  • bug fix: message notifier should listen to '/tf' and '/tf_message' topics.

Downloads

navigation 0.5.0 released

| No Comments | No TrackBacks
navigation.png

navigation 0.5.0 has just been released. All packages in the navigation stack have now reached "doc review" status, which means that end-user documentation for all appropriate APIs has been documented and peer reviewed. Those wishing to use the navigation stack on their own robots are encouraged to use this release as the APIs are both stable and documented for us.

New Features
  • base_local_planner: Added "y_vels" parameter to allow holonomic robot users to control the y velocities that their robot will explore
  • All packages in the stack have passed documentation reviews
Minor Updates
  • robot_pose_ekf: Make parent-child tags in internal buffer consistent. Update to new tf::StampedTransform data type.
  • costmap_2d: Fixed many deprecation warnings resulting from new release of geometry stack
  • base_local_planner: Fixed many deprecation warnings resulting from new release of geometry stack
  • move_base: Fixed many deprecation warnings resulting from new release of geometry stack
Deprecations
  • base_local_planner: The min_vel_th, max_vel_th, and min_in_place_vel_th parameters have now been removed, update to max_rotational_vel and min_in_place_rotational_vel
  • costmap_2d The "inscribed_radius" and "circumscribed_radius" parameters have now been removed, switch to the "robot_radius" parameter or the "footprint" parameter.
Bug Fixes
  • costmap_2d: Fixed clearing the robot footprint of obstacles for circular robots.
Package Moves
  • All the tutorials for the navigation stack have moved to the ros_pkg_tutorials stack.

Download

Hierarchical Planning for PR2

| No Comments | No TrackBacks

crossposted from willowgarage.com

This summer, Jason Wolfe (UC Berkeley) worked on hierarchical task planning for the PR2. Planning is important for performing tasks efficiently. If you're gathering ingredients for the Triple Chocolate Volcanic Explosion Soufflé you're fiendishly craving, you may fetch both the eggs and the butter from the fridge before heading to the pantry for the sugar and chocolate. If you weren't planning ahead, you might go get the eggs, drop them off on the counter, go back to the fridge to get the butter, unload again, continue to the pantry for the chocolate, and so on. You'll still make a soufflé, but your plan will be far from optimal.

Jason's work on hierarchical planning helped the PR2 plan out its tasks in a more logical, premeditated manner. The package takes into consideration high-level decisions, like the order in which to fetch the ingredients, down to low-level decisions like where to position the base of the robot and what angle to grasp an object from. In the video, the PR2 is told to move several bottles between two tables. Instead of manipulating each bottle independently of the others, the robot plans ahead and places the bottle being manipulated near the next bottle to grab. That way, the robot can simply put down the current item and, without driving to the next goal, reach over and pick up its next bottle. Jason's code can be found in the hierarchical_planning package. You may also be interested in Jason's and Bhaskara Marthi's RSS 2009 presentation on Angelic Hierarchical Planning.

In the process of working on this package, Jason spent time developing and debugging lower-level component actions, such as moving the base to a particular location. Interactive scripting languages are ideal for this purpose. Jason developed an experimental Java client library for ROS (rosjava), which he then used to create a ROS interface to Clojure (rosclj), a Lisp-like language built on Java. Using this interface, he then developed a large library of scripted actions which can be used for quickly specifying and tele-operating complex sequences. These can be found in the clj_pr2 package.

crossposted from willowgarage.com

Ben Cohen of University of Pennsylvania has returned to the GRASP Lab after his summer internship here at Willow Garage. At Penn, Ben researches search-based methods for path planning for robotic manipulators. During his time here, he worked on two motion planners: one for door opening and one for manipulation. When compared to the door planner used in Milestone 2, the new door planner uses SBPL (Search-Based Planning Library) to give the PR2 two new capabilities. First, it allows the robot to not only push doors open, but also pull. Second, the door planner allows the robot to open doors, regardless of hinge position -- left or right side of the door. These two novel capabilities allow for robust, more universal door opening.

Additionally, Ben's work on a manipulation planner involved integrating SBPL into the move_arm ROS package, which integrates a variety of motion planners. Ben tested the SBPL planner on the PR2's arms, and added the supporting software needed to perform collision checking. With collision checking in place, SBPL can more readily handle cluttered, complex environments.

Here are Ben's end-of-summer presentation slides discussing his planning work (Download PDF from ROS.org):

robot_model 0.6.0 released

| No Comments | No TrackBacks

robot_model.png

robot_model 0.6.0 has been released. This is the first "stable" release of the robot model stack. This release removed the last pieces of deprecated functionality in urdf and kdl_parser.

Changes

  • Removed deprecated functionality from urdf:
    • parent_link shared pointer of link is removed
    • dom_parser is removed
    • treeFromRobotModel is removed
  • The resource_retriever got new tutorials.
  • The robot_model stack is documentation-reviewed.

Download

robot_model 0.5.0 released

| No Comments | No TrackBacks

robot_model.png

I am announcing the release of the robot_model.0.5.0. stack. The functionality of the kdl parser that was deprecated in the 0.3.0 release is removed in this release. To fix a memory leak in the urdf package, accessing the parent of a Link has changed, but this release maintains backwards compatibility.

Changes

  • Removed deprecated functionality form Kdl parser:
    • xml_parser is removed
  • Deprecated in urdf:
    • linkparent member variable in Link class is deprecated and replaced by the getParent() method. Once the linkparent member variable is completely removed (in the next release) the memory leak Ticket #2680 will be fixed.

Download

common 0.5.0 released

| No Comments | No TrackBacks

common.png

common-0.5.0 has been released. There is one major change. The yaml-cpp package is being renamed yaml_cpp. For backwards compatability the old version of yaml-cpp will remain in the system until the next release which is targeted for next Wednesday.

Porting to the new package only requires changing the dependency in the manifest. Everything else is the same.

Major changes

  • yaml-cpp renamed to yaml_cpp as dashes are not allowed in package names

Minor changes

  • actionlib
    • Deprecating SimpleActionClient's getTerminalState() and getGoalState(). Replaced by getState()
    • SimpleActionClient's SimpleDoneCallback now provides a SimpleClientGoalState argument instead of a TerminalState. The TerminalState version is thus deprecated.
    • Deprecating the python SimpleActionClient's get_terminal_state() and get_goal_state(). Replaced by get_state()
    • The done callback passed to Python's SimpleActionClient now takes the terminal state as one of the enumerated constants in actionlib_msgs/GoalStatus

Download

robot_model 0.4.0 released

| No Comments | No TrackBacks

robot_model.png

I am announcing the release of the robot_model.0.4.0. stack. Since the last release, we've worked hard to review the API and documentation of all packages in this stack. This resulted in a lot of extra documentation and tutorials, and some minor API changes in the kdl parser.

Changes

  • API and Doc review: all packages in the robot_model stack have been through our API and Documentation review process.
    • Kdl parser
    • Deprecated xml_parser
    • Deprecated treeFromRobotModel method (replaced by treeFromUrdf). The deprecated functionality will be removed in the next release cycle.
    • URDF
    • Updated XML format documentation
    • New beginner tutorials to create and parse urdf files
    • Add command line tool to verify urdf file

Download

Find this blog and more at planet.ros.org.


Monthly Archives

About this Archive

This page is an archive of entries from October 2009 listed from newest to oldest.

September 2009 is the previous archive.

November 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.