You can run Elephant Robotics’ ROS stack in Docker, but its documented container workflow uses host X display forwarding—not a browser-based noVNC desktop. A genuine noVNC setup therefore adds a separate VNC server and web client layer that must be configured for the specific image, ROS distribution, desktop, and robot model you select.
Start with the vendor-supported ROS container, verify your hardware and firmware, then add and test the noVNC layer independently before connecting a physical arm.
What the official Docker workflow actually provides
Elephant Robotics’ mycobot_ros repository documents Docker and Docker Compose as an installation route for ROS Melodic and ROS Noetic. Its no-NVIDIA examples build the relevant service, run xhost +local:root to permit local X display access, and start the ROS container. The README describes this as building the container, allowing local X output, and launching the service.
The repository says its default example launches:
roslaunch mycobot_320 mycobot_320_slider.launch
That command opens the ROS graphical application on the host X display. It does not install a VNC server, expose a browser port, run websockify, or create a noVNC URL. Do not describe the vendor’s Docker example as a complete browser-accessible desktop.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11#1 Best Overall
- Enhance your project capabilities with myCobot: The M5 version of the robot arm uses Esp32 as the core processor, two screens and multiple physical buttons, and can be used on the ground the size of a desk. Deeply integrated with the M5 expensive ecosystem, users can follow the tutorials provided by Yahboom to control the robot through UIFlow, Python, and Arduino.
- ROS support: Developed in ROS, the world's mainstream robot communication framework, myPalletizer can be controlled in a virtual environment and algorithm verification can be performed, which reduces the requirements for the experimental environment and improves experimental efficiency.
- Excellent configuration: 24V industrial electrical interface to meet your industrial scene development needs, button interaction, screen display, and PLC interface, allowing you to quickly and safely build robotic arm application exploration scenarios. With a 350mm working radius, 1000g payload and 1mm repeatability, the myCobot 320 robotic arm is the ideal solution for your scene exploration needs.
- DIY your personal mechanical assistant: open ROS simulation development environment, built-in kinematics forward and inverse solution algorithms, equipped with up to 12 standard 24V industrial I/O interfaces, expandable to develop PLC control independent programming, supports mainstream control interfaces, rich Terminal expansion accessories help explore the boundaries of personal applications.
- Open source interface, secondary development:Based on different types of applications, the interface is open sourced and can realize object recognition, face recognition, image recognition, etc. Easily learn to program myCobot in your style and get ready to start your robotics journey.
Check compatibility before touching hardware
The title does not identify a model. Elephant Robotics’ main myCobot repository lists multiple families, including myCobot 280 and 320. The ROS repository’s default Docker example targets a 320, so its launch file is not evidence that a 280, M5, Pi, or another controller variant uses the same package, ports, firmware, or connection settings.
- Confirm the exact arm and controller variant.
- Match the package and launch file to that model.
- Confirm the controller and Atom firmware requirements in the model documentation.
- Identify whether the arm will use a serial, network, or other supported connection.
- Use the ROS distribution supported by the branch you are installing.
The repository lists Ubuntu 16.04 with ROS Kinetic, Ubuntu 18.04 with ROS Melodic, and Ubuntu 20.04 with ROS Noetic in its ROS 1 support notes. These are the README’s stated combinations, not a promise of current operating-system lifecycle support or compatibility with every branch.
Separate the three display-access choices
| Approach | Where the display runs | What it is for |
|---|---|---|
| Vendor Docker/X forwarding | The host X server | Runs the ROS GUI from the container; documented by the ROS repository |
| Robot VNC | The robot’s own computer | Remote access to a myCobot 320 Pi system over a network; documented in the Pi guide |
| noVNC in Docker | A browser connected to a VNC server associated with the container | The browser workflow implied by this title; not specified by the official ROS Docker README |
These are not interchangeable. Enabling xhost +local:root does not create a VNC service, and connecting to the robot’s VNC desktop does not place the ROS GUI inside a Docker noVNC session.
Build the vendor-supported ROS baseline first
- Install Docker and Docker Compose as required by the mycobot_ros README.
- Choose the repository’s Docker example matching your ROS distribution. The README provides variants for Melodic and Noetic, including NVIDIA service variants when an NVIDIA GPU is used.
- Build the service using the command shown in that README for your selected example.
- On a Linux host running X, grant the container local display access with the documented command
xhost +local:root. - Start the service using the repository’s documented Compose command.
- Confirm that the default 320 slider launch opens successfully before changing the display architecture.
If you use an NVIDIA variant, follow the repository’s GPU-specific service definition rather than adding unverified runtime flags. The no-NVIDIA and NVIDIA examples are separate configurations.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesWhat must be added for a real noVNC desktop
A browser-based desktop requires components that the ROS README does not define: a desktop session, a VNC server attached to that session, a websockify bridge, noVNC web assets, and a published container port. The exact Dockerfile, base image, packages, startup process, authentication, display number, and port mapping depend on the image you choose.
Because those values are not established in the official sources, do not copy a generic port or browser URL and assume it will work. Treat the noVNC layer as a tutorial-specific configuration and validate it against the selected image. At minimum, verify:
- The VNC server starts after the container’s display environment is available.
- The ROS GUI uses the same display that the VNC server exports.
- websockify points to the correct VNC host and port.
- The published port reaches the web client without exposing the service beyond the intended network.
- The browser session shows the ROS desktop before any robot connection is enabled.
A safe sequence is to run the ROS GUI against a simulated or disconnected robot first, then test model-specific communication, and only afterward permit motion commands to reach physical hardware.
Rank #2
- 【3 Master Control】Three master controls to choose from, one for educational robotic arms that seamlessly integrates with the Jetson Nano/Orin Nano Super/Orin NX Super ecosystem.Build and run Ubuntu 22.04 based on 3 main controls, making it an ideal development tool for developing robots and programming.Equipped with Orin Nano Super and Orin NX Super, it supports multiple fields such as robot algorithm development and ROS simulation learning.
- 【UR-type mechanical structure】The 7axis collaborative robot developed for user-defined programming has greater flexibility than traditional robotic arms.The smooth body and adaptive gripper have a larger range of motion and can reach more and more precise positioning.Using AI to control its movement and speed, it can achieve millimeter-level positioning and operation.It can work safely with people,is compact, and has many interfaces,making it a collaborative partner on your desktop.
- 【Programmable&ROS system】Explore the possibilities of RoboFlow,the industrial robot software of elephan-t robot.Relying on the original Jetson Nano open source ecosystem,Jetcobot provides rich development interfaces, Python driver libraries and built-in ROS environment to make your development easier and faster. It supports multiple programming languages, various software interaction methods and is for a wide range of app. Explore the unlimited potential of this collaborative robot arm.
- 【AI Vision&Remote Control】Equipped with wooden blocks and stickers,it can realize recognition, tracking, and grasping actions, fully reflecting the AI-Type characteristics of the robot arm. Most functions can be operated through a multi-function app (Android);equipped with a USB game controller remote control to achieve the best control experience;create Jupyter Lab pages online.The APP cannot control the gripper,it is recommended to use a USB controller.
- 【Tutorials】All information and instructions are in English.We provide high-quality technical support services. If you need help, please contact Yahboom.Jetcobot is recommended for individuals with a basic understanding of programming, not for beginners.Considering the threshold of product use,we strongly recommend that you read the instructions carefully before operation.Please pay attention to the power adapters in the list.If you use them interchangeably, they will burn out.
Do not confuse robot VNC with container noVNC
The myCobot 320 Pi system instructions describe using a VNC viewer to reach the robot computer over the same Wi-Fi network. They also describe joining the robot’s hotspot and connecting to 10.42.0.1. That workflow accesses the Pi system itself; it does not configure a VNC server or noVNC client inside your Docker container.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Install dependencies for local ROS work
If Docker is not the right fit, Elephant Robotics’ ROS environment guide identifies ROS and MoveIt as dependencies. For interaction with a real arm, it identifies the pymycobot API. The repository’s local-install path provides pip install pymycobot --user and build instructions. Keep this local installation separate from the Docker route; installing the Python API on the host does not automatically install it in a container.
Troubleshoot by layer
The container starts but no window appears
That is an X-display problem, not a noVNC problem. Check the host display variables, the container’s display mapping, and whether the documented xhost +local:root permission was applied. The official workflow assumes a host X server.
The browser opens but shows a blank or disconnected desktop
Check the desktop session, VNC server, websockify target, and published port independently. A browser connection alone does not prove that the ROS GUI is attached to the exported display.
The slider launches but the arm does not respond
Stop before issuing motion commands. Verify the model-specific launch file, controller and Atom firmware, connection method, permissions, and pymycobot dependency. The 320 launch example should not be reused blindly for another family.
The robot is unreachable over VNC
For a 320 Pi, place the computer and robot on the same Wi-Fi network, or join the robot hotspot and use the documented address 10.42.0.1. This checks access to the robot’s own system, not access to a Docker noVNC desktop.
Quick Recap
Practical decision guide
- Use the official X-forwarding Docker workflow when you have a Linux desktop and only need the ROS GUI locally.
- Use the robot’s documented VNC access when your goal is to operate the 320 Pi system remotely over Wi-Fi.
- Use containerized noVNC only when you specifically need browser access and are prepared to supply and validate the missing VNC, websockify, desktop, and port configuration.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




