Welcome to the vibrant world of MR-ROBOT-gui, where ROS and JavaScript converge to create a seamless Web UI for taking charge of Mr. Robot.
Dive into the heart of this project and witness the extraordinary. The ROBOT-gui stands as a testament to the fusion of cutting-edge technology, blending ROS and JavaScript to bring you a web interface that redefines the way you control and monitor ROS-based robots.
Say goodbye to the mundane, and welcome an interface that goes beyond expectations. Our web application is not just about remote control; it's about an immersive and dynamic interaction with your robot. Real-time control and monitoring are no longer a chore; they're an exhilarating experience.
Navigate effortlessly through our thoughtfully crafted user interface. The goal? To provide you with an intuitive and efficient control experience. MR-ROBOT-gui ensures that controlling your robot is not just a task but a joyous journey.
Thanks to MR-ROBOT-gui, the power to interact with your robot is now at your fingertips, accessible through any web browser. Whether you're at home, in the office, or on the go, the connection remains seamless, and the control remains in your hands.
Get ready to revolutionize your robot control experience. MR-ROBOT-gui: Elevating control to a whole new level!
Real-time Marvel: Take charge with lightning-fast, real-time control over every move and action of your robot. Say goodbye to delays and embrace the future of instantaneous control!
Intuitive Wizardry: Our user interface is not just user-friendly; it's user-magical! Designed to cater to both novices and seasoned pros, it ensures that operating the robot becomes a delightful journey for everyone.
Effortless Initialization: Initiate the magic remotely by connecting to your ROS workspace server IP and your local IPv4. No need to be a tech wizard - it's as easy as pie. Just a few clicks, and you're ready to roll!
Note
Only for the Bold: Dive into this adventure only if you've got all the prerequisite packages installed.
Frontend: HTML, CSS, JAVASCRIPT
Backend: JAVASCRIPT
Communication Protocols: WebSocket, ROSBridge suite
Follow these steps to install ROS Noetic on your Ubuntu 20.04 system and set the stage for an exhilarating technological journey:
Step 1: Setup Your Sources.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Step 2: Set Up Your Keys Install curl and add the ROS key to your system:
sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
Step 3: Update Your Package List Before installing ROS, update your system's package list:
sudo apt update
Step 4: Install ROS Noetic Choose the installation option that suits your needs:
-
Full Desktop Install (recommended):
sudo apt install ros-noetic-desktop-full
-
Desktop Install:
sudo apt install ros-noetic-desktop
-
ROS-Base:
sudo apt install ros-noetic-ros-base
Step 5: Environment Setup
Source the ROS setup script in every bash terminal you use ROS in. You can automate this process by adding the following lines to your ~/.bashrc
file:
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
Step 6: Dependencies for Building Packages Install the necessary tools and dependencies for building ROS packages:
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
Step 7: Initialize rosdep Before using many ROS tools, initialize rosdep:
sudo apt install python3-rosdep
sudo rosdep init
rosdep update
To embark on this thrilling journey with MR-ROBOT-gui, make sure your toolkit is armed with the following essentials:
-
Ubuntu 20.04: The stage for our adventure is set on the robust foundation of Ubuntu 20.04. Ensure you have it ready to go.
-
Rosbridge Suite: The silent conductor orchestrating seamless communication between our UI and the robot's control system. Make sure Rosbridge Suite is in your toolkit. TO install use the following command:
sudo apt-get install ros-noetic-rosbridge-server
-
Web Video Server: Transforming the visual experience, this server is a must to ensure your visuals are top-notch.
sudo apt-get install ros-noetic-web-video-server
-
Robot Pose Publisher: Your bridge to precision, publishing accurate robot poses seamlessly. (Can be installed via robot pose publisher github
-
Simulation Setup: For the grand simulation, ensure it mirrors the brilliance of MR-ROBOT.
Follow these steps to initialize MR-ROBOT:
roscore
roslaunch mr_robot_gazebo turtlebot3_house.launch camera_enabled:=true lidar_enabled:=true kinect_enabled:=true
The simulation should commence as indicated below:
roslaunch mr_robot_nav navigation.launch
Important
Before starting the nav package, ensure the move_base launch file includes the following command for flawless execution:
<node pkg="robot_pose_publisher" type="robot_pose_publisher" respawn="false" name="posepub"></node>
In separate terminals, execute the following commands to set up the web connectivity:
roslaunch rosbridge_server rosbridge_websocket.launch
rosrun web_video_server web_video_server
With MR-ROBOT and the web connectivity ready, open the UI for seamless control and monitoring interface.
Unlock the full potential of MR-ROBOT-gui with our user-friendly guide. From power-ups to navigation controls, here's everything you need to know:
The mighty power button is your gateway to connection bliss. When activated, it establishes the link between the simulation and the webpage through WebSocket magic. Witness the transformation as the UI comes to life.
Behold the world from a bird's eye view! The minimap gracefully displays the robot's position on the map. Give it a double-click, and it expands into a full-screen marvel, providing a closer look at the robot's journey.
In the realm of the full-screen map, your desires become the robot's goals. Simply double-click on the map to set a goal for the robot. It's not just navigation; it's a command given with a touch.
Engage with the robot using intuitive keyboard controls:
- Press "W" to move forward.
- Press "S" to move backward.
- Press "A" to move left.
- Press "D" to move right.
- Press "SHIFT" to increase speed.
Navigate with the ease of keystrokes and command the robot with precision.
Embrace a new level of control with the joystick. Feel the movement of the robot at your fingertips, steering its path with the fluidity of a maestro.
With this guide in hand, you're not just a user; you're a commander, orchestrating the movements of MR-ROBOT with finesse. Let the exploration begin, and may your commands lead the way!
Calling all enthusiasts! We invite you to be part of the MR-ROBOT-gui community and contribute to the evolution of this incredible project. Here's how you can get involved:
-
Fork and Clone:
- Fork the repository and clone it to your local machine.
-
Create a New Branch:
-
For your feature or bug fix, create a new branch:
git checkout -b feature/new-feature
or
git checkout -b bugfix/issue-number
-
-
Make Changes and Test:
- Implement your changes and thoroughly test them.
-
Commit Your Changes:
- Commit your changes with a descriptive message:
git commit -m "Description of your changes"
- Commit your changes with a descriptive message:
-
Push to Your Branch:
- Push your changes to your branch:
git push origin feature/new-feature
- Push your changes to your branch:
-
Submit a Pull Request:
- Submit a pull request to the
main
branch of the original repository. - Provide a clear and descriptive title.
- In the description, explain the purpose of your changes and offer any necessary context.
- Submit a pull request to the
-
Follow Coding Conventions:
- Ensure your code adheres to the project's coding conventions and style guidelines.
-
Feedback and Iteration:
- Be prepared to address feedback and iterate on your changes if necessary.
-
Code of Conduct:
- Abide by the GitHub Code of Conduct.
Thank you for joining the movement and contributing to the growth of MR-ROBOT-gui! Your efforts are valued and essential to the success of this project. Let's shape the future of robot control together!
Apache 2.0
If you have any feedback, please reach out to us at:
Our Socials - Linktree