The required packages to build the control GUI for Ohmnibot

Related tags

GUI ohmni-ros-gui
Overview

ohmni-ros-gui

The required packages to build the control GUI for Ohmnibot

These packages alow us to perfrom certain tasks on OHmnibot:

Prequisite setting:

Clone the ohmni_amcl inside the local machine and build with catkin_make

#mounting a directory inside the Ohmnibot ROS docker environment

In bot cli> docker run -it --network host --privileged -v /data/data/com.ohmnilabs.telebot_rtc/files:/app -v /dev:/dev -e ROS_IP=[bot_ip] [tb_control_docker_image]

Create the ohmni_ws directory to contain the developing source code.

Clone rplidar_ros and ohmni_gui_bridge packages inside the ohmni_ws/src directory and run catkin_make to build the packages

Note:

The Lidar port might changes when we restart the bot so follow this step to redirect the port:

Ohmni_ws> cd src/rplidar_ros/launch

Use Vim to edit the file rplidar.launch - Change the serial port value accordingly (Usually /dev/ttyUSB0 or /dev/ttyUSB1)


1. Use RPLidar to map the working environment and perform SLAM on Ohmnibot.

Set up the environment.

In bot ohmni_ws> source devel/setup.bash
In bot ohmni_ws> roslaunch rplidar_ros rplidar.launch

In local machine> export ROS_IP=[local_machine_ip]
In local machine> export ROS_MASTER_URI=http://[bot_ip]:11311

Mapping the work environment

In local machine> rviz # Open rviz and change the fixed frame into map,

#Use rqt_robot_steering to manually control the bot around the place. 
In local machine> rosrun rqt_robot_steering rqt_robot_steering

#Run Ros gmapping.
In local machine> rosrun gmapping slam_gmapping scan:=/scan
In local machine> rosrun map_server map_saver -f ~/map #After completed mapping
  • Note: the map.pgm and map.yaml should be save to the maps folder inside the package.

Perform simple localization using ROS amcl

In local machine> roslaunch ohmni_amcl ohmni_amcl.launch

2. Building a web API to connect the Ohmni's ROS topics with other webAPIs by using Rosbridge.

Set up the environment.

# Run webserver for the GUI using rosbridge.
In bot ohmni_ws> roslaunch ohmni_gui_bridge websocket.launch

# Navigate to the directory with the .html file and run  a Python http server
In bot ohmni_ws> cd src/ohmni_gui_bridge/gui
In bot ohmni_ws> python -m SimpleHTTPServer

Afterwards you should be able to go to http://localhost:8000/ and you should see a directory listing containing the gui.html file. Click on it and it should open your website on the Ohmni touch screen web browser.

Owner
Phoenix Ly
I'm a junior Electronics Engineering student. I want to learn more about robotics skills. I also like to learn about cybernetics and BCI.
Phoenix Ly
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

libui: a portable GUI library for C This README is being written. Status It has come to my attention that I have not been particularly clear about how

Pietro Gagliardi 10.3k Aug 2, 2022
This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI

ImGui Goodies This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI. Currently, th

null 95 Jun 22, 2022
GWork is a skinnable, embeddable GUI library with an extensive control set

GWork is a skinnable, embeddable GUI library with an extensive control set. Control rendering is abstracted, and can be implemented by any application wishing to use the library. Gwork (pronounced "gw-orc") is a fork of the GUI library GWEN. It was forked to fix issues with GWEN and add new features.

Bill Quith 197 Aug 3, 2022
imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required.

imgui-filebrowser imgui-filebrowser is a header-only file browser implementation for dear-imgui. C++ 17 is required. Getting Started imfilebrowser.h s

Z Guan 382 Aug 1, 2022
Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io

BODEN CROSS-PLATFORM FRAMEWORK Build purely native cross-platform experiences with Boden Website ⬡ Getting Started ⬡ API Reference ⬡ Guides ⬡ Twitter

Ashampoo Systems GmbH & Co KG 1.5k Aug 7, 2022
Elements C++ GUI library

Elements C++ GUI library Introduction Elements is a lightweight, fine-grained, resolution independent, modular GUI library. Elements is designed with

Cycfi Research 2.3k Aug 5, 2022
Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL

NanoGUI NanoGUI is a minimalistic cross-platform widget library for OpenGL 3+, GLES 2/3, and Metal. It supports automatic layout generation, stateful

Mitsuba Physically Based Renderer 1.1k Aug 8, 2022
A single-header ANSI C immediate mode cross-platform GUI library

Nuklear This is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed a

Immediate Mode UIs, Nuklear, etc. 5.9k Aug 4, 2022
A library for creating native cross-platform GUI apps

Yue A library for creating native cross-platform GUI apps. Getting started Documentations FAQ Development Examples Sample apps (with screenshots) Muba

Yue 2.8k Aug 9, 2022
A barebones single-header GUI library for Win32 and X11.

luigi A barebones single-header GUI library for Win32 and X11. Building example Windows Update luigi_example.c to #define UI_WINDOWS at the top of the

Nakst 182 Jul 24, 2022
Clight GUI written in Qt.

CLight GUI Clight GUI written in Qt. Huge thanks to @FedeDP for writing Clight and Clightd, the daemons upon which this is built on.

null 56 Aug 5, 2022
YARA pattern matching scannner GUI

YARA GUI This is a GUI for the binary pattern matching scanner YARA. Features Drag and drop targets Directory scanning Compiled rule cache Favorite/re

null 9 Jul 2, 2021
It's a simple Canvas GUI for Unreal Engine 4 with mouse operation

ue4-canvas-gui It's a simple Canvas GUI for Unreal Engine 4 with mouse operation. Included elements: Rendering Text (left/center); Rendering Rects; Re

Superior. 43 Jul 28, 2022
Proof-of-concept code to reconstruct the GUI of a Xen guest running Windows

vmi-reconstruct-gui A proof-of-concept to reconstruct the GUI of a Xen VM running Windows 7. ❗ Disclaimer This repository is work in progress. It curr

Jan 12 Oct 22, 2021
Nvui: A NeoVim GUI written in C++ and Qt

Nvui: A NeoVim GUI written in C++ and Qt

Rohit Pradhan 1.6k Aug 6, 2022
GUI for calibrating the wacom tablet to a screen or window

wacom-settings GUI for calibrating the wacom tablet to a screen or window. Learning project for writing in C. Uses GTK4 library for the GUI and X11 li

null 21 Apr 30, 2022
rCalc is a Simple GUI Calculator

rCalc is a simple calculator created as a hobby project to improve my C programming language knowledge and GUI creation skills. GTK3 toolkit is used to create the GUI.

null 3 Aug 1, 2022
Python GUI for seeing what's happening inside a fuzzer

Fuzzwatch Fuzzwatch is a Python GUI made to show what's going on inside of a fuzzer. It is currently integrated with Manul, which is a coverage-guided

null 10 Jun 4, 2022
Low Latency GUI on top of Vulkan

Low Latency GUI on top of Vulkan

the ttauri project 376 Aug 3, 2022