Agrarsense
|
Topic | Link |
---|---|
Getting Started | Getting Started |
Using the Simulator | Using the Simulator |
Using Vehicles | Using Vehicles |
Using Walkers | Using Walkers |
Sensors | Sensors |
Setupping sensors | Setupping sensor |
Creating own levels | Creating own levels |
Building from source on Linux | Building on Linux |
Building from source on Windows | Building on Windows |
Installing on Linux | Installing on Linux |
Installing on Windows | Installing on Windows |
Navigate to AGRARSENSE Azure Artifact page
Click "1 published" link
This leads to Azure Artifact storage page where you can now download the latest build.
AgrarsenseBuild.zip
has been downloaded, unzip it to any location where you have enough space.To communicate between the Simulator and ROS, you need to install ROS with below instructions. If you are just testing the Simulator, ROS is not required to run the Simulator.
ROS noetic is required for the project to be able to communicate between Unreal Engine and ROS. The simulator supports ROS2 via ROS1 to ROS2 bridge.
ROS noetic is only offically supported on Ubuntu 18.04 and 20.04. Ubuntu 22.04 doesn't offically support ROS noetic.
AGRARSENSE Unreal project will work without a ROS installation but you cannot get or send any data to or from the simulator.
Install ROS noetic
Install ROSBridge
https://github.com/code-iai/ROSIntegration states this: >The recommended way to install rosbridge is from source (requires the rosauth package) – Even though you could install rosbridge using apt, there have been numersous issues where these apt packages do not reflect the code in the ros1 branch. Hence, it is best to install from source.
When launching ROS server, you can either launch it manually from Ubuntu WSL Terminal roslaunch rosbridge_server rosbridge_tcp.launch bson_only_mode:=True
or in windows terminal wsl -e bash -lic "roslaunch rosbridge_server rosbridge_tcp.launch bson_only_mode:=True"
To run python scripts with ROS connection you need to install Python ROS packages: ```sh pip install –extra-index-url https://rospypi.github.io/simple/ rospy pip install –extra-index-url https://rospypi.github.io/simple/ tf2_ros ``` If connection doesn't go through from windows to Ubuntu WSL, you need to set **"ROS_IP"** in command prompt. ```sh set ROS_IP=192.168.x.x ```
When ROS is installed follow this guide to install ROS2 (Foxy). First, you need to install ROS2 without ros1_bridge.
Launch new terminal ``` locale # check for UTF-8
sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8
locale # verify settings
sudo apt install software-properties-common sudo add-apt-repository universe
sudo apt update && sudo apt install curl sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update && sudo apt install -y \ libbullet-dev \ python3-pip \ python3-pytest-cov \ ros-dev-tools
python3 -m pip install -U \ argcomplete \ flake8-blind-except \ flake8-builtins \ flake8-class-newline \ flake8-comprehensions \ flake8-deprecated \ flake8-docstrings \ flake8-import-order \ flake8-quotes \ pytest-repeat \ pytest-rerunfailures \ pytest
sudo apt install –no-install-recommends -y \ libasio-dev \ libtinyxml2-dev
sudo apt install –no-install-recommends -y \ libcunit1-dev
mkdir -p ~/ros2_foxy/src cd ~/ros2_foxy vcs import –input https://raw.githubusercontent.com/ros2/ros2/foxy/ros2.repos src
sudo apt upgrade
sudo rosdep init rosdep update rosdep install –from-paths src –ignore-src -y –skip-keys "fastcdr rti-connext-dds-5.3.1 urdfdom_headers"
cd ~/ros2_foxy/ colcon build –symlink-install –packages-skip ros1_bridge
source /opt/ros/noetic/setup.bash source ~/ros2_foxy/install/setup.bash
cd ~/ros2_foxy/ colcon build –symlink-install –packages-select ros1_bridge –cmake-force-configure
echo "alias ROS2='source ~/ros2_foxy/install/setup.bash'" >> ~/.bashrc ``` By typing ROS2 in terminal, it sources the ROS2 bash file and removes ROS2 alias
Build ROS1 messages
Type "ROS1" to launch ros2 build bash. (Alias made earlier in .bashrc)
when the ROS1 build is finished close the wsl windows
Open New Terminal
Type "ROS2" to launch ros2 build bash. (Alias made earlier in .bashrc)
After the bridge has successfully built
~~~ echo "'source ~/AGRARSENSE_ROS_Messages/ros1ws/devel/setup.bash'" >> ~/.bashrc ~~~