ROS
NOTICE: This page has been updated as of March 6 2023 with instructions on how to set up the newer ROS Noetic environment, and this guide can no longer be used with the older ROS Melodic. If you followed the older version of this guide, we recommend going through it once again to ensure ROS Noetic is used.
Teams are not required to use the Robotics Operating System (ROS), but interfaces with ROS Noetic are made available to teams. As such, teams intending to use alternatives should expect some additional work in creating bridges equivalent to the Gemini ros_adapter. This guide is equivalent to the official guide from the ROS wiki, and is added simply for convenience.
After booting Ubuntu in your virtual environment:
1. Ensure your Ubuntu repositories are correctly configured. In the 'Software & Updates' application, under the 'Ubuntu Software' tab, ensure the first four checkboxes under 'Downloadable from the Internet' are checked.
2. Allow your computer to download software from ROS' servers by entering the following in the command prompt:
3. Set up your keys:
4. Install ROS Noetic. You may want to install the desktop-full version by appending '-full' to the end (ros-noetic-desktop-full
) which has 2D and 3D simulators and perception.
5. Automatically add ROS environment variables to new bash sessions.
6. Install package dependencies.
7. Create a catkin workspace, clone the Gemini repos.
8. Open ~/catkin_ws/src/ros_adapter/requirements.txt
and change it to match the following:
9. Install the dependencies.
10. Since ROS Noetic is using Python3 by default, we need to update a few of the python files since the Gemini project was originally built with Python2. On the first line of the four following python files, change “python2” to “python3”
~/catkin_ws/src/ros_adapter/scripts/client.py
~/catkin_ws/src/ros_adapter/scripts/server.py
~/catkin_ws/src/ros_clients/scripts/force_controller_example_client.py
~/catkin_ws/src/ros_scenario/scripts/scenario_client.py
11. Additionally, in the three following python files, add “from .
” (from dot) to the beginning of the import lines that involve __pb2 modules. Don’t mind the part that says “DO NOT EDIT”.
~/catkin_ws/src/ros_adapter/scripts/navigation/navigation_pb2_grpc.py
~/catkin_ws/src/ros_adapter/scripts/sensor_streaming/sensor_streaming_pb2_grpc.py
~/catkin_ws/src/ros_clients/scripts/force_control/force_control_pb2_grpc.py
12. Configure the ros_adapter's network settings to match your virtual machine. First, open the network settings to find the IPv4 IP address used by your VM. Second, open the file ~/catkin_ws/src/ros_adapter/config/server.yaml
and change the IP address to match the IP used by your VM.
13. Configure the ros_client's network settings to match your Windows operating system (not the virtual machine). This can be found by typing 'ipconfig' in a Windows terminal. The IPv4 Address will typically begin with 192.168. Enter this IP-address in the config file ~/catkin_ws/src/ros_clients/config/example_client.yaml
14. Initialize the catkin workspace by running the following.
Last updated