ISAR implementation for the Turtlebot3 Waffle Pi.
ISAR - Integration and Supervisory control of Autonomous Robots - is a tool for integrating robot applications into Equinor systems. Through the ISAR API you can send command to a robot to do missions and collect results from the missions.
Running the full ISAR system requires an installation of a robot which satisfies the required interface. isar-turtlebot is an ISAR implementation of the Turtlebot3 Waffle Pi, which enables running the Turtlebot with ISAR through simulations or physically.
The simulator requires a computer or a virtual machine running Ubuntu. The turtlebot simulator works with different ROS/gazebo distributions, but this installation guide is based on ROS noetic
. To install and run the turtlebot simulator, you will need to install ROS noetic on your computer. The desktop
version should be sufficient.
Then, install dependent ROS packages, and the simulation package.
You also need to install gazebo with a version corresponding to your ROS distribution:
$ sudo apt-get install gazebo11
The installation can be verified by running:
$ gazebo
Install the required ROS packages for gazebo:
$ sudo apt-get install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control
First, you will need to set the following environment variables:
$ export ISAR_TURTLEBOT_PATH=<path/to/isar-turtlebot>
$ export TURTLEBOT3_MODEL=waffle
Build with catkin_make:
$ cd ~/catkin_ws && catkin_make
You will need a map (map.pgm
and map.yaml
). The map can be generated, or the example map can be used.
The gazebo together with the navigation stack and rosbridge is then launched by:
$ roslaunch launch/simulation.launch
The robot can be located with 2DPose Estimate
and naviagted with 2D Navigation Goal
in rviz.
Download and install ISAR on your computer. Follow the robot integration guide installing isar-turtlebot
. Remember to set the robot directory environment variable:
$ export ROBOT_PACKAGE=isar_turtlebot
For the ISAR API to communicate with the simulator, you will need rosbridge:
$ sudo apt-get install ros-noetic-rosbridge-suite
You can now run the simulation and launch rosbridge:
$ roslaunch rosbridge_server rosbridge_websocket.launch
To run ISAR:
$ python main.py
Missions can be posted to the robot through ISAR.
If the example map are used, you can try the example mission number 5
.
For local development, please fork the repository. Then, clone and install in the repository root folder:
$ git clone https://github.com/equinor/isar-turtlebot
$ cd isar-turtlebot
$ pip install -e ".[dev]"
We welcome all kinds of contributions, including code, bug reports, issues, feature requests, and documentation. The preferred way of submitting a contribution is to either make an issue on github or by forking the project on github and making a pull requests.