Autoware.ai 1.13 Released!

Autoware.ai 1.13 is now available for general use and it’s our biggest release yet with over 230 accepted merge requests!
To install it from source, follow the building from source instructions or to run in a Docker container, see the Docker instructions.

Docker images are available at Dockerhub:

amd64 Containers
arm64 cross-compile Containers
arm64 native Containers

With either the from-source or Docker version of Autoware.ai, you can try it out using some recorded data by following this guide .

This is a list of the major changes in Autoware 1.13:

  • Autoware.ai now supports the Lanelet2 mapping format! Check out the new lanelet2aisan and all associated nodes (autoware#17)
  • A “Failsafe Action Framework” was implemented to handle the transition to a safe state when a system fault has been confirmed by a monitoring system which lives outside of ROS (common!40 and common#4)
  • The MPC Waypoints Follower now uses qpOASES as a QP (quadratic programming) solver
  • rviz now has a clean, new default layout (autoware#25)
  • A new engage/disengage panel was added to rviz to enable easy control of a by-wire-system interface (utilities!21)
  • Building your own or using existing Docker containers for Autoware.ai is now much simpler - Check out the docker repo (and specifically the generic/build.sh, generic/run.sh, and crossbuild/build_cross_image.sh scripts)
  • Nightly Docker builds! (see the tags with bleedingedge)
  • Full Support for ROS Melodic Morenia and C++14 (ROS Kinetic is no longer supported)
  • Easy waypoint creation with the new waypoint_creator package (core_planning!15)
  • Numerous bug fixes and smaller changes; see the full list of changes below

There are some known issues in 1.13.

As always, the current reported issues can be viewed on the issue tracker and the current
proposed bug fixes and new features can be viewed on the merge request tracker .

And a big thanks to all the contributors, reviewers, and maintainers!

Full list of changes

autoware

  • CI: Removing kinetic builds and unused Travis file.
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Pin lanelet2 and Add Messages Repo Back
  • Removing messages repo. Adding CUDA builds.
  • Adding lanelet2 and mrt_cmake_modules to autoware.ai.repos.
  • CI: Removing PYTHON_EXECUTABLE CMake arg from builds.
  • Add qpOASES vendor package
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Removing unused variables and combining common scripts.
  • Removing files and scripts that are provided elsewhere.

common

  • fix removeImpossibleCandidate function for reverse order
  • fix visualization of empty lanelet map
  • fix exit condition when error exists during parsing
  • Revert “new feature:emergency handler is added”
  • Fix time error
  • CI: Dropping Kinetic builds.
  • change class name from SHM_VitalMonitor to ShmVitalMonitor not to use underscores to be compliant with ROS guide line
  • add function: getIntersect
  • add wayarea2grid_lanelet2 node to object_map package
  • Add node_status_monitor
  • Add value_manager for health_checker
  • add two tests related to callbacks and fix one issue found by the added tests. Issue: error is detected if system_status is not received for more than 0.1s (expectation is to receive every 33ms), that could occur during normal initiazliation. CM is to start error detection logic once one system_status is received
  • [#23] clean up CMakeLists.txt and package.xml -https://gitlab.com/autowarefoundation/autoware.ai/autoware/issues/23
  • add stop_sign_id argument to stopSignsStopLines function
  • Improve check function in health checker
  • change arguments to const ref for fromBinMsg
  • Remove rosparam enable_statistics
  • Fix CMakeList
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Replace and add emergency category
  • shared_ptr was abolished and replaced with unique_ptr.
  • fix matchWaypointAndLanelet
  • Rename health checker library and move directory
  • rename lanelet2_msgs to autoware_lanelet2_msgs in lanelet2_extension package
  • Standardize build_depends.repos
  • Add function identifying lane direction in libwaypoint_follower
  • add lanelet2_map_loader and lanelet2_visualization
  • add lanelet2_extension package
  • move core nodes of waypoint_follower to planning, add libwaypoint_follower packages
  • change CMAKE_CXX_FLAGS option from c++11 to c++14
  • add wf_simulator codes
  • README and add DCO
  • mpc_follower: add qpoases related code
  • Maint/ci improvements
  • add function for last waypoint control
  • CI: Start using the bleedingedge tag for all Docker images.
  • Adding startup params to some nodes.
  • CI: Removing unused variables and combining common scripts.
  • Updates package.xml Files to Format 2
  • Maint/ci optimization

core_perception

  • Add rostest of launching ndt_matching
  • Fixing unit test values in gnss_localizer Due to Fix in Common
  • add vel_pose_diff_checker
  • fixed to ground filter in base_link
  • CI: Dropping Kinetic builds.
  • Update README.md
  • modify default value
  • add imm_ukf_pda_track_lanelet2 node
  • modified for TwistWithCovariance input output
  • CMakeLists.txt fixes
  • add feat_proj_lanelet2 node
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • apply clang format
  • Standardize and fix build_depends.repos
  • Change the key format so that it can be managed with yaml.
  • Rename health checker library
  • Fix topic name for rate checker
  • Fix issue with incorrect initial orientation
  • fixex concurrency issue in openmp impl of ndt matching
  • Clean-up/Lint Traffic Light Recognizer (TLR)
  • changed to handle use_odom & use_imu
  • Fixes missing qpoases_vendor dependency for common.
  • Maint/ci improvements
  • Adding tests. Implementing different method to fix GGA and RMC messages.
  • Apply same fix to GPRMC.
  • Fixing bug where nmea2tfpose would always return positive coordinates.
  • gnss fitness score made configurable through launch file
  • Tracker: Unused param cleanup
  • CI: Starts using the bleedingedge tag for all Docker images.
  • Fixes location of remap in naive_motion_predict launch file.
  • CI: Removing unused variables and combining common scripts.
  • Adding startup params to some nodes.
  • Updating all package.xml files to format 2 (REP-140).
  • Add note to README
  • Remove dead code
  • Maint/ci optimization

core_planning

  • fix tranformation of crosswalk polygon
  • Fix twist_cmd safety checking in planner
  • Fix local closest waypoint in astar_avoid
  • Apply to negative velocity
  • add disable insert stop line function
  • CI: Dropping Kinetic builds.
  • Add ROS Observer to core_planning
  • fix initial value of twist_gate parameter “is_state_drive” to false from true
  • Apply negative velocity to pure_pursuit
  • add test case for emergency vehicle cmd and fix issues(reset emergency flag in reset_vehicle_cmd_msg and publish vehicle cmd in emergency_cmd_callback)
  • add lanelet2 option to decision_maker
  • remove unused arg
  • Apply negative velocity to velocity_set
  • Add timer callback
  • add delay compensation
  • add velocity_set_lanelet2 node to waypoint_planner package
  • waypoint_creator: fix transform for deletePoseCallback
  • add costmap_generator_lanelet2 node to costmap_generator package
  • add lane_rule_lanelet2 node to lane_planner package
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Cleaning up all CMakeLists.txt files.
  • Removing unecessary _INCLUDE_DIRS from all packages.
  • Clean up and fix twist_gate CMakeLists.txt.
  • Apply negative velocity to lane_select
  • Apply negative velocity to waypoint_replanner
  • Apply negative velocity to lane_rule
  • Fix the Way waypoint_replanner and twist_gate Check for decision_maker
  • Standardize and fix build_depends.repos.
  • Change the key format so that it can be managed with yaml.
  • Rename health checker library
  • Fix topic name for rate checker
  • Fix mistakes in specifying test package names
  • remove unused code
  • fix launch file
  • fix include error
  • remove waypoint_follower
  • move twist_gate
  • move twist_filter
  • move pure_pursut
  • move mpc_follower pkg
  • change dependency from waypoint_follower to libwaypoint_follower
  • add wf_simulator codes
  • README and add DCO
  • mpc_follower: add qpoases related code
  • add function for last waypoint control
  • Adding startup params to some nodes.
  • Updates package.xml Files to Format 2
  • wf_simulator: change /vehicle_status/angle definition from handle angle [deg] to tire angle [rad]
  • waypoint_follower: change /vehicle_status/angle definition from handle angle [deg] to tire angle [rad]
  • Changes to waypoint_follower from 1.11.0.
  • Feature/Gitlab CI& move pkgs (#2)
  • Fix wp_replanner bug that the first config callback is not applied.
  • add waypoint_creator package
  • Fixes missing qpoases_vendor dependency for common.
  • Maint/ci improvements
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Applying optimization changes from other repos.
  • Adding startup params to some nodes.
  • Updates all package.xml files to Format 2.

docker

  • Adding qpoases-vendor to list of dependencies for Docker.
  • Adding joint_state_publisher as dependency.
  • CI: Dropping Kinetic builds.

documentation

  • Updating demo launch files after split of waypoint_follower.
  • fix cosmap topic name
  • fix rviz config
  • update default distro to melodic
  • add a cross-dependencies file for dependencies in the cross-build environments
  • Automated Docker Builds
  • CI: sets scripts to report an error code on failure
  • Changing cross-build builder FROM to ros image.
  • Standardizing build_cross_image.sh to match build.sh and run.sh.
  • Fixing dependencies outside of build context with temporary copy.
  • Add -v flag to build specific version of Autoware
  • Fix cross-build bug
  • Fix multiple issues in build.sh, run.sh, and entrypoint.sh.
  • Add Dockerfile linting

drivers

  • Update ssc_interface to be platform independent
  • SSC Interface: Change VelocityAccel to VelocityAccelCov.
  • CI: Dropping Kinetic builds and removing unused Travis file.
  • Add vehicle driver(AS and YMC) vital monitoring via ROS Observer
  • CMakeLists.txt fixes
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Standardize and fix build_depends.repos
  • Removing unecessary dependency in build_depends.repos.
  • AS Interface: Reduced default decel limit to 3.0.
  • CI: Removing messages repo. Adding CUDA builds.
  • Fixes missing qpoases_vendor dependency for common.
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Applying optimization changes from other repos.
  • Updates all package.xml files to Format 2.

messages

  • CI: Dropping Kinetic builds and removing unused Travis file.
  • Lateral limitation filter by twist_filter
  • add param of decision_maker: disable insert stopline
  • add parameters for MR 30
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Replace and add emergency category
  • Rename lanelet2_msgs to autoware_lanelet2_msgs
  • Adding service message for TF-based TLR
  • Initial commit
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Applying optimization changes from other repos.
  • Updates package.xml files to Format 2.
  • Bumping package versions for release to ROS.
  • Updating CHANGELOG files for 1.12.0 ROS release.
  • Adding CHANGELOG for autoware_external_msgs and autoware_map_msgs.
  • Updating autoware_map_msgs version for ROS release.

simulation

  • CI: Dropping Kinetic builds.
  • fix launch typo
  • CMakeLists.txt fixes
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Standardize and fix build_depends.repos
  • Fix mistakes in specifying test package names
  • fix launch file
  • remove waypoint_follower
  • move wf_simulator
  • add wf_simulator pkg
  • add wf_simulator codes
  • README and add DCO
  • mpc_follower: add qpoases related code
  • add function for last waypoint control
  • Adding startup params to some nodes.
  • Updates package.xml Files to Format 2
  • wf_simulator: change /vehicle_status/angle definition from handle angle [deg] to tire angle [rad]
  • waypoint_follower: change /vehicle_status/angle definition from handle angle [deg] to tire angle [rad]
  • Changes to waypoint_follower from 1.11.0.
  • Feature/Gitlab CI& move pkgs (#2)
  • CI: Removing messages repo. Adding CUDA builds.
  • Fixes missing qpoases_vendor dependency for common.
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Applying optimization changes from other repos.
  • Updates package.xml files to Format 2.

utilities

  • Fix wf_simulator’s parameter name in runtime_manager
  • fix rviz config
  • add vel_pose_diff_checker
  • rename
  • Add appropriate description.
  • add checkbox param of decision_maker
  • CI: Dropping Kinetic builds.
  • add use_ll2 option to lane_rule
  • add use_ll2 option to feat_proj node
  • add use_ll2 option to wayarea2grid
  • modify concentric_divider_distance value
  • add use_l2 option to imm_ukf_pda_track
  • add use_ll2 option to decision_maker
  • remove unused arg & add used arg in runtime manager mpc_follower
  • add use_ll2 option to velocity_set
  • add use_ll2 option to costmap_generator
  • modify GUI for ekf twist_with_covariance
  • CMakeLists.txt fixes.
  • add parameters for MR30
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Change latch option for /vehicle/engage
  • Adding twist2odom node.
  • Add lanelet2aisan converter
  • add lanelet2_loader to runtime manager
  • Standardize and fix build_depends.repos
  • modify runtime manager
  • add params in runtime_manager for topic name
  • modify runtime_manager for waypoint_creator
  • CI: Removing messages repo. Adding CUDA builds.
  • runtime_manager: add parameter for mpc_follower
  • Fixes missing qpoases_vendor dependency for common.
  • modify computing.yaml for wf_simulator
  • add parameter for adding virtual end waypoints on runtime manager
  • add parameter for steering offset estimate on runtime manager
  • add vehicle engage panel
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Applying optimization changes from other repos.
  • Updates all package.xml files to Format 2.
  • Avoid accessing method in name_get and name_get_cond
  • register camera_id at startup of calibration publisher
  • runtime_manager: Add missing dependency python-psutil

visualization

  • Added missing dependency
  • CI: Dropping Kinetic builds.
  • CMakeLists.txt fixes
  • CI: Fixing order of PREFIX_PATH in cross-builds.
  • Standardize and fix build_depends.repos
  • Removing unecessary dependency in build_depends.repos.
  • Add vehicle_info.yaml for g30esli
  • CI: Removing messages repo. Adding CUDA builds.
  • Fixes missing qpoases_vendor dependency for common.
  • CI: Start using the bleedingedge tag for all Docker images.
  • CI: Applying optimization changes from other repos.
  • Updates all package.xml files to Format 2.
4 Likes

Thanks for the release!

We are using the points_preprocessor package from autoware.
Is there a reason there are no debs available through apt-get for all the autoware packages?

And would it be possible to release a subset of these packages on request? Or would you allow other people to release it?

Because currently the repositories except for the messages repository, are not set up to be bloomed due to the massive size and complexity of their content and the dependencies. We made some effort to improve this for Autoware.AI but it is unlikely to be improved any further. Autoware.Auto follows proper ROS best practices and so is already bloomable and, indeed, being bloomed and released as binaries.

Alright, thanks for the clear answer.
Would there be any objections if we fork only the points_preprocessor package and try to release that?

Not in scope for very short term, but now I have your attention I’m curious if we could/might. This package is general enough not just to be used in autoware.

I wouldn’t be opposed to that, but a better solution all round might be to port that package to ROS 2 and get it into Autoware.Auto quickly. That way it will be bloomed straight away and, when we split our repository, we will be able to make sure that package is easy to install independently.

1 Like

Ah yes, that would be the ultimate goal. But that would require an earlier migration to ROS2 for us than planned (at least for this project). So this would be an intermediate solution.

You say “when we split”, is there a reason it is not split from the start but it is a scheduled action?
(Just curious, you’ve answered all I needed for this thread :+1:)

1 Like

We needed to have a good understanding of our architecture as that is one of the lines of potential split. We know more now and feel more confident about making a split that makes sense rather than one that is arbitrary.

Thanks for the release!
In the full list of changes, I found “Add vehicle_info.yaml for g30esli”. I think such vehicle_info is accessible in autoware_connector package. For example, in can_status_translator_core.cpp,
private_nh_.getParam("/vehicle_info/wheel_base", v_info_.wheel_base);
Please let me know how to specify the added vehicle_info among the several existing yaml files in ~/autoware.ai/src/.config/vehicle_info.
Thanks for your help.

Thanks for using Autoware and for your question. Howevere ask that you please ask questions at the ROS Answers website following our support guidelines. Please pay particular attention to the information we ask you to provide.

Discourse is for news and general interest discussion. ROS Answers provides a forum which can be filtered by tags to make sure the relevant people can find and/or answer the question, and not overload everyone with hundreds of posts.