The goal of this educational project is to develop a rescue robot.
For convenience it is recommended to use Docker containers. Please follow these steps to run Docker container on your machine.
- Install Desktop OS Ubuntu Trusty or Xenial on your machine or in virtual machine
- Install Docker-CE using these instructions
- In order to executed Docker without sudo please execute
sudo usermod -aG docker $USER
- Logout and login to your machine again :)
- For development the following docker container was used.
- To pull it please run
docker pull lyubomyrd/haron:latest
- Use the following command to start Docker container
docker run -it --privileged --name haron_dev -p 8080:8080 -e DISPLAY -e LOCAL_USER_ID=$(id -u) -v /tmp/.X11-unix:/tmp/.X11-unix:rw lyubomyrd/haron:latest
- Black window of Terminator UI console will appear after some time.
- You can use it's features to split terminal window into smaller terminals and run few commands in parallel (Ctrl+Shift+E).
- If you want to run real robot add user to dialout group and restart Docker container
sudo usermod -a -G dialout user
In order to relaunch docker container after you closed Terminator window or rebooted machine please run
docker start haron_dev
After some time Terminator window will reappear.
In case if you want to run PyCharm in Docker container please run
pycharm
To launch QtCreator please run
qtcreator
For VSCode type
vscode
The following designation will be used through the rest of the repository
Remote PC: R
Turtlebot(Raspberry): T
Turtlebot is controller using ROS which is installed both on PC and Raspberry.
To execute the bringup sequence You have to perform the following steps:
1R) roscore
Connect to RPI (note that IP address might be different - this depends on network settings)
2R) ssh [email protected]
(Password: turtlebot)
Now You have a separeate window inside the terminator that controlles Raspberry, therefore Tx notation corresponds to input into this window.
3T) roslaunch turtlebot3_bringup turtlebot3_robot.launch
4R) roslaunch turtlebot3_bringup turtlebot3_remote.launch
1R) roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Create a map:
1R) roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
Save a map (do NOT close the previous window vefore the next step):
2R) rosrun map_server map_saver -f ~/map
After this step You can close 1R and 2R from mapping.
1R) roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
info available at https://github.com/hrnr/m-explore Documentation for API: http://wiki.ros.org/explore_lite 1R) sudo apt install ros-${ROS_DISTRO}-explore-lite 2R) roslaunch explore_lite explore.launch
https://github.com/paulbovbel/frontier_exploration/tree/melodic-devel/frontier_exploration http://wiki.ros.org/frontier_exploration (guideline available there)
See wiki for Troubleshooting