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 gazebo11The installation can be verified by running:
$ gazeboInstall the required ROS packages for gazebo:
$ sudo apt-get install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-controlFirst, you will need to set the following environment variables:
$ export ISAR_TURTLEBOT_PATH=<path/to/isar-turtlebot>
$ export TURTLEBOT3_MODEL=waffleBuild with catkin_make:
$ cd ~/catkin_ws && catkin_makeYou 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.launchThe 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_turtlebotFor the ISAR API to communicate with the simulator, you will need rosbridge:
$ sudo apt-get install ros-noetic-rosbridge-suiteYou can now run the simulation and launch rosbridge:
$ roslaunch rosbridge_server rosbridge_websocket.launchTo run ISAR:
$ python main.pyMissions 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.