-
Refactor Code
-
Ui for MainWindow, QLoginWidget
-
Database Module
-
User
-
Delivery Target
-
-
Mission Module
-
Robot State Module
-
User permission
-
Total test
git clone git://code.qt.io/qt/qtmqtt.git
git checkout <version of Qt> # version of Qt: v5.12.5
sudo apt-get install qtbase5-private-dev
qmake => make => make install
- Add Pugin
sudo apt install libarchive-tools # needed for bsdtar
export QTC_ROOT=~/Qt/Tools/QtCreator # online installer
# export QTC_ROOT=~/qtcreator-6.0.0 # offline installer
export PLUGIN_URL=`curl -s https://api.github.com/repos/ros-industrial/ros_qtc_plugin/releases/latest | grep -E 'browser_download_url.*ROSProjectManager-.*-Linux-.*.zip' | cut -d'"' -f 4`
curl -SL $PLUGIN_URL | bsdtar -xzf - -C $QTC_ROOT
- Config workspace
- Install catkin_tools
sudo sh \
-c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" \
> /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install python3-catkin-tools
sudo apt-get install -y ros-noetic-move-base-msgs
-
QtCreator => New project => Other project => ROS workspace
-
Build
- Run test with TurtleBot 3 simulation
3.1. Run Turtlebot 3 simulation
Note : You need run SLAM before this step (if you do not have a map)
# Terminal 1: Simulation Node
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_world.launch
# Terminal 2: Navigation Node
export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map.yaml
3.2. Run app
rosrun junbot_gui junbot_gui
-
class AppModel : App Manager
-
class QNode : Ros Interface
-
class QDatabaseManager, QUserDAO, QDeliveryTargetDAO : SQLite Interface
-
UI Classes : QRobotItem, MainWindow, QLoginWidget, QCustomWidget
-
Object Classes : QUser, QRobotMission, QDeliveryTarget
-
Other Classes : AppConstants, QRobotMission, QRobotUtils
