This repository contains the Ubuntu ROS (Noetic) workspace used to control the Omniroute maze. It runs the ROS master, high-level behavioral logic, and the gate/gantry controller nodes, and provides the interface to the Windows-based tracking and projection workspace.
For ethercat_grant, you will likely need to install library libcap-dev
sudo apt install libcap-dev
After running catkin_make, copy executable into /usr/local/bin
sudo cp devel/lib/ethercat_grant/ethercat_grant /usr/local/bin
sudo chmod +s /usr/local/bin/ethercat_grant
Three packages may need to be installed:
sudo apt install libxmlrpcpp-dev liblog4cxx-dev librosconsole-dev
Start in omniroute_ubuntu_ws
cd src/esmacat_master_software
mkdir build
cd build
cmake ..
make
cd ../../plog
mkdir build
cd build
cmake ..
make
cd ../../..
source /opt/ros/noetic/setup.bash
catkin_init_workspace src
sudo nano ~/.bashrc
source ~/.bashrc
On Windows computer
catkin_make
sudo nano ~/.bashrc
xdg-open ~/.bashrc
change ethenet address for ethercat sheild in launch file:
src/omniroute_operation/launch/test.launch
cd omniroute_ubuntu_ws
catkin_make
chmod +x sync_sender.py
After installig platformio run the fullowing:
sudo apt install python3-venv
Give port write permissions. Note, ports will need to have devices connected:
sudo chmod a+rw /dev/ttyACM0
sudo chmod a+rw /dev/ttyACM1
Give complete port access. Note you need to logout or restart after running:
sudo usermod -aG dialout nc4-lassi
cd omniroute_ubuntu_ws
source devel/setup.bash
roslaunch omniroute_operation omniroute_controller.launch
ipconfig
Note the inet ip:
enp11s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.34.5.184 netmask 255.255.255.128 broadcast 10.34.5.255
nano ~/.bashrc
gedit ~/.bashrc &
export ROS_MASTER_URI=http://10.34.5.184:11311
export ROS_HOSTNAME=10.34.5.184
rosrun rospy_tutorials talker.py
# Check global variables
echo $ROS_HOSTNAME
echo $ROS_MASTER_URI
Windows computer:
Start Motive
Run projection code
Ubuntu computer:
roslaunch omniroute_operation omniroute_controller.launch
-
Hardware design files (for the Omniroute apparatus) are released under the CERN-OHL-W license.
-
Code in this repository is released under the MIT License (MIT) (see LICENSE).