ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Can I install and run Autoware.Auto Packages on Ubuntu Natively without ADE?

asked 2020-06-10 08:18:28 -0500

kcassis gravatar image

Hi, I was wondering if it is possible to natively install and run Autoware.Auto packages on Ubuntu without the ADE environment. I have already built everything from the source code however I cannot seem to get the tutorials working (https://autowarefoundation.gitlab.io/...). I have already completed the tutorials within an ADE Docker image but I was wondering if this can be done on Ubuntu without ADE. In case anyone asks the purpose of doing this, I am working on a safety critical RTOS and would rather avoid the use of Docker for performance reasons.

Thanks in advance.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2021-01-20 08:48:05 -0500

guillermoherreraf gravatar image

Hello @kcassis, I managed to build Autoware.Auto from source and ran the perception stack on a Jetson Xavier NX (without ADE). After sourcing source /opt/ros/dashing/setup.bash, go to you AutowareAuto workspace and source install/setup.bash. Furthermore, you will have to install udpreplay to be able to replay de pcap file. Finally, for every ros2 run command you will have to find where the parameters files are located in your workspace and change it correspondingly, you can use the find command to help you do that. An example for my workspace will be:

ros2 run velodyne_nodes velodyne_cloud_node_exe --model vlp16 __ns:=/lidar_front __params:=/home/nvidia/AutowareAuto/src/drivers/velodyne_nodes/param/vlp16_test.param.yaml

I only had issues to show the car model in RVIZ but I think this is related to something else. Hope this can help you.

edit flag offensive delete link more

Comments

1

Since I provided the answer below several months ago, we have begun to support this completely and now offer instructions: https://autowarefoundation.gitlab.io/...

Josh Whitley gravatar image Josh Whitley  ( 2021-01-21 23:46:27 -0500 )edit
1

Hello @Josh Whitley. Yes I see you offer support now for the installation without ADE. However, all your demos and tutorials assume the ADE environment. I have another question, I'm currently trying to run the LGSVL simulator installed in a Windows 10 machine and the Autoware.Auto stack installed in a Jetson Xavier NX without the ADE environment (they are connected through a switch). Will this be possible? As I'm struggling to make it work. Thank you in advance.

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-22 01:53:33 -0500 )edit

@guillermoherreraf Many of them are in the process of being updated. However, the only major difference is that you should source ~/AutowareAuto/install/setup.bash instead of /opt/AutowareAuto/setup.bash.

Regarding your other question, this is something that should be asked in a separate ROS Answers question.

Josh Whitley gravatar image Josh Whitley  ( 2021-01-22 12:39:48 -0500 )edit

Thank you @Josh Whitley, I already posted my inquiry in a separate ROS Answer question (here)

guillermoherreraf gravatar image guillermoherreraf  ( 2021-01-25 10:34:08 -0500 )edit
1

answered 2020-06-11 02:47:34 -0500

Josh Whitley gravatar image

It should be theoretically possible but is not currently a supported configuration. However, I have been able to build and test it outside of ade. If you want the same setup as ADE (because some paths in Autoware assume an ADE environment), the installation instructions would look something like this, after installing ROS Dashing:

cd ~
source /opt/ros/dashing/setup.bash
sudo apt update && rosdep update
sudo apt install -y python3-colcon-common-extensions git clang-tidy
git clone https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
cd AutowareAuto
git lfs pull --include="*" --exclude=""
rosdep install --from-paths src --ignore-src -y
sudo colcon build --merge-install --install-base /opt/AutowareAuto
sudo chmod -R og-w /opt/AutowareAuto

Autoware.AUTO will then be installed in /opt/AutowareAuto and you should be able to source /opt/AutowareAuto/setup.bash and run commands just like in the Docker containers.

Again, this is an unsuported configuration until after we finish implementing the AVP ODD later this year.

If you have problems with this setup and would like to continue discussion, please create a login on Gitlab and continue on our Issue 244.

edit flag offensive delete link more

Comments

I followed the steps you provided but during the build I got several errors due to missing packages. First it was the nmea_msgs package that was missing so I grabbed the source code and built it myself. This resolved my issue with the specific package that was causing an error and the build continued. Next, it was autoware_auto_msgs followed by apex_test_tools, test_apex_test_tools, udp_driver, and serial_driver. I was able to get the source code and build all except the latter. When I try to build serial_driver, the autoware_auto_helper_functions package is missing. I tried to find the source for it but I could not. If I'm correct, this package no longer exists?

kcassis gravatar image kcassis  ( 2020-06-12 08:31:02 -0500 )edit

@kcassis Did something go wrong during the step rosdep install --from-paths src --ignore-src -y? What was the output of that command? Rosdep should have resolved and installed all of these dependencies automatically.

Josh Whitley gravatar image Josh Whitley  ( 2020-06-12 11:34:42 -0500 )edit

I guess I should also clarify: You must be working on Ubuntu 18.04 with ROS Dashing installed and start by sourcing /opt/ros/dashing/setup.bash.

Josh Whitley gravatar image Josh Whitley  ( 2020-06-12 11:35:25 -0500 )edit

I am on Ubuntu 18.04 and I did source the ros bash setup although for me it is in /opt/ros/dashing/install/setup.bash as I installed ros2 from the source. The output of rosdep install --from-paths src --ignore-src -y is :
WARNING: Metapackage "lanelet2" should not have other dependencies besides a buildtool_depend on catkin and exec_depends.
WARNING: Metapackage "lanelet2" should not have other dependencies besides a buildtool_depend on catkin and exec_depends.
WARNING: Metapackage "lanelet2" should not have other dependencies besides a buildtool_depend on catkin and exec_depends.
executing command [sudo -H apt-get install -y libpugixml-dev]
Reading package lists... Done Building dependency tree
Reading state information... Done The following additional packages will be installed: libpugixml1v5 The following NEW packages will be installed: libpugixml-dev libpugixml1v5 0 upgraded, 2 newly installed... All required rosdeps installed successful

kcassis gravatar image kcassis  ( 2020-06-12 15:41:02 -0500 )edit

Is there a reason you chose to build from source instead of installing from the repositories?

Josh Whitley gravatar image Josh Whitley  ( 2020-06-13 14:37:38 -0500 )edit

Yes, the end goal is to cross compile autoware to run on a different RTOS.

kcassis gravatar image kcassis  ( 2020-06-15 09:27:52 -0500 )edit

@kcassis The issue may then be with rosdep. Have you run sudo rosdep init and rosdep update?

Regarding this installation, these circumstances are definitely not the typical "building outside of ade" that I thought you meant in the beginning. My instructions above were specifcially for building on Ubuntu 18.04 with ROS installed from binaries on amd64 or arm64 native hardware. Cross-compilation is a different beast but is also possible. We plan to have a sysroot environment available for cross-compilation for arm64as a Docker volume in the future (see https://gitlab.com/autowarefoundation...).

Are you cross-compiling for arm64 (aarch64) or another architecture? If you're using arm64, can you use the native Docker containers that we provide? If you're using another architecture, would you like to see it supported natively or in Docker?

Josh Whitley gravatar image Josh Whitley  ( 2020-06-15 16:27:28 -0500 )edit

Yes, I ran the rosdep commands.

I am cross compiling for x86_64, aarch64le, and armv7. Are you saying that I can do this inside of the ADE docker? My understanding is that to get Autoware working on the different machines, I must cross-compile ROS2 and then cross-compile Autoware using the cross-compiled ROS2 binaries. Perhaps I am wrong?

kcassis gravatar image kcassis  ( 2020-06-16 08:16:50 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2020-06-10 08:18:28 -0500

Seen: 1,579 times

Last updated: Jan 20 '21