This repository has three branches:
- main - Docker image with
robot_localization
and fusion based onCAN
communication - plotting - Docker image doing the same as above, but instead of using real data pulling information from FS Student simulation
- gps_imu - local package for GPS (Groove or Ardusimple RTK) fusion with IMU using
robot_localization
ROS package for calculating position of the robot based on GPS odometry and IMU. Packages used:
The project is by default made with an intention to run inside Docker on Linux container for testing.
a) Clone the repository
b) Set VOLUME and HOME variable to the location of shared
folder and home directory:
$ export VOLUME="location/here"
$ export HOME="/home/username"
c) Start the project by running the start.sh
script:
$ ./start.sh
Docker is multi-platform software, so you can convert the .sh
script to the script format your system supports.
d) Once the container is up, start the project:
$ ./entrypoint.sh
If you really insist on running this project without Docker, download all requirements for virtual CAN:
$ sudo apt-get -y install libeigen3-dev libcppunit-dev python3-psutil python3-future \
python3-pip python-pip curl wget
Then all requirements for robot_localization package:
$ sudo apt-get -y install ros-melodic-robot-localization ros-melodic-rviz ros-melodic-cv-bridge
Install all python packages required to run ros2can:
$ pip3 install -r /program/requirements.txt
Create /program
folder or change 15th line in entrypoint.sh
file to the location of your project.
Run the script:
$ ./entrypoint.sh