robotics IDE, motion planning studio, DSL compiler, and real-time serial protocol streamer

idecobot is a standalone robotics IDE, motion planning studio, DSL compiler, and real-time serial protocol streamer for Elephant Robotics myCobot 280 6-DOF robotic manipulators.
Developed in python code.
The README is used to introduce the modules and provide instructions on how to install the modules, any machine dependencies it may have and any other information that should be provided before the modules are installed.
Table of Contents
Used next development environment

Currently there are three ways to install package
idecobot is located at pypi.org.
You can install by using pip
# python3
pip3 install idecobot
Navigate to release page download and extract release archive.
To install idecobot type the following
tar xvzf idecobot-x.y.z.tar.gz
cd idecobot-x.y.z/
# python3
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
python3 -m pip install --upgrade setuptools
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build
pip3 install -r requirements.txt
python3 -m build --no-isolation --wheel
pip3 install ./dist/idecobot-*-py3-none-any.whl
rm -f get-pip.py
chmod 755 /usr/local/lib/python3.10/dist-packages/usr/local/bin/idecobot_run.py
ln -s /usr/local/lib/python3.10/dist-packages/usr/local/bin/idecobot_run.py /usr/local/bin/idecobot_run.py
Navigate to release page download and extract release archive.
To install idecobot locate and run setup.py with arguments
tar xvzf idecobot-x.y.z.tar.gz
cd idecobot-x.y.z
# python3
pip3 install -r requirements.txt
python3 setup.py install_lib
python3 setup.py install_egg_info
You can use Dockerfile to create image/container.
idecobot requires next modules and libraries
idecobot is based on OOP and Clean Architecture.
Tool structure
Click to expand framework structure</summary>
idecobot/
βββ core/
βΒ Β βββ __init__.py
βΒ Β βββ model/
βΒ Β βΒ Β βββ communication/
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ mycobot_frame.py
βΒ Β βΒ Β βΒ Β βββ protocol_constants.py
βΒ Β βΒ Β βΒ Β βββ stream_config.py
βΒ Β βΒ Β βΒ Β βββ stream_progress.py
βΒ Β βΒ Β βΒ Β βββ stream_state.py
βΒ Β βΒ Β βββ dsl/
βΒ Β βΒ Β βΒ Β βββ ast/
βΒ Β βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ mycobot_command_type.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ mycobot_instruction.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ mycobot_program.py
βΒ Β βΒ Β βΒ Β βββ diagnostic/
βΒ Β βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ mycobot_diagnostic.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ mycobot_diagnostic_severity.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ token/
βΒ Β βΒ Β βΒ Β βββ dsl_grammar_constants.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ mycobot_token.py
βΒ Β βΒ Β βΒ Β βββ mycobot_token_type.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ kinematics/
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ joint_bounds.py
βΒ Β βΒ Β βββ joint_limit.py
βΒ Β βΒ Β βββ mycobot_bounds.py
βΒ Β βΒ Β βββ spatial_bounds.py
βΒ Β βΒ Β βββ speed_bounds.py
βΒ Β βΒ Β βββ trajectory_bounds.py
βΒ Β βββ service/
βΒ Β βββ communication/
βΒ Β βΒ Β βββ imycobot_controller.py
βΒ Β βΒ Β βββ imycobot_streamer.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ itransport.py
βΒ Β βββ dsl/
βΒ Β βΒ Β βββ compiler/
βΒ Β βΒ Β βΒ Β βββ commands/
βΒ Β βΒ Β βΒ Β βΒ Β βββ home_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ icommand_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ move_coords_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ move_joints_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ power_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ relax_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ speed_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ tool_command_compiler.py
βΒ Β βΒ Β βΒ Β βΒ Β βββ wait_command_compiler.py
βΒ Β βΒ Β βΒ Β βββ compiler_context.py
βΒ Β βΒ Β βΒ Β βββ imycobot_compiler.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ mycobot_compiler.py
βΒ Β βΒ Β βββ dsl_service_factory.py
βΒ Β βΒ Β βββ imycobot_dsl_service.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ lexer/
βΒ Β βΒ Β βΒ Β βββ imycobot_lexer.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ mycobot_lexer.py
βΒ Β βΒ Β βββ linter/
βΒ Β βΒ Β βΒ Β βββ imycobot_linter.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ mycobot_linter.py
βΒ Β βΒ Β βΒ Β βββ rules/
βΒ Β βΒ Β βΒ Β βββ ground_safety_rule.py
βΒ Β βΒ Β βΒ Β βββ imycobot_lint_rule.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ jerk_limit_rule.py
βΒ Β βΒ Β βΒ Β βββ joint_bounds_rule.py
βΒ Β βΒ Β βΒ Β βββ speed_limit_rule.py
βΒ Β βΒ Β βΒ Β βββ workspace_reach_rule.py
βΒ Β βΒ Β βββ mycobot_dsl_service.py
βΒ Β βΒ Β βββ parser/
βΒ Β βΒ Β βββ commands/
βΒ Β βΒ Β βΒ Β βββ home_command_parser.py
βΒ Β βΒ Β βΒ Β βββ icommand_parser.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ move_command_parser.py
βΒ Β βΒ Β βΒ Β βββ power_command_parser.py
βΒ Β βΒ Β βΒ Β βββ relax_command_parser.py
βΒ Β βΒ Β βΒ Β βββ speed_command_parser.py
βΒ Β βΒ Β βΒ Β βββ tool_command_parser.py
βΒ Β βΒ Β βΒ Β βββ wait_command_parser.py
βΒ Β βΒ Β βββ imycobot_parser.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ mycobot_parser.py
βΒ Β βββ engine.py
βΒ Β βββ __init__.py
βΒ Β βββ iservice.py
βΒ Β βββ kinematics/
βΒ Β βββ ikinematic_validator.py
βΒ Β βββ __init__.py
βΒ Β βββ kinematic_validator.py
βββ engine.py
βββ infrastructure/
βΒ Β βββ cli/
βΒ Β βΒ Β βββ engine.py
βΒ Β βΒ Β βββ icli.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ setup/
βΒ Β βΒ Β βββ bundle.py
βΒ Β βΒ Β βββ dep_validator.py
βΒ Β βΒ Β βββ dependencies.py
βΒ Β βΒ Β βββ factory.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ keys.py
βΒ Β βΒ Β βββ opt_validator.py
βΒ Β βΒ Β βββ options.py
βΒ Β βΒ Β βββ registry.py
βΒ Β βΒ Β βββ validator.py
βΒ Β βββ command/
βΒ Β βΒ Β βββ command.py
βΒ Β βΒ Β βββ icommand_definition.py
βΒ Β βΒ Β βββ icommand_executor.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ studio_command_definition.py
βΒ Β βΒ Β βββ studio_command_executor.py
βΒ Β βββ communication/
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ iserial_port_scanner.py
βΒ Β βΒ Β βββ protocol/
βΒ Β βΒ Β βΒ Β βββ imotion_codec.py
βΒ Β βΒ Β βΒ Β βββ imycobot_protocol_codec.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ iprotocol_codec_factory.py
βΒ Β βΒ Β βΒ Β βββ iprotocol_framer.py
βΒ Β βΒ Β βΒ Β βββ isystem_codec.py
βΒ Β βΒ Β βΒ Β βββ itool_codec.py
βΒ Β βΒ Β βΒ Β βββ motion_codec.py
βΒ Β βΒ Β βΒ Β βββ mycobot_protocol_codec.py
βΒ Β βΒ Β βΒ Β βββ protocol_codec_factory.py
βΒ Β βΒ Β βΒ Β βββ protocol_framer.py
βΒ Β βΒ Β βΒ Β βββ system_codec.py
βΒ Β βΒ Β βΒ Β βββ tool_codec.py
βΒ Β βΒ Β βββ serial_port_scanner.py
βΒ Β βΒ Β βββ streamer/
βΒ Β βΒ Β βΒ Β βββ connection_manager.py
βΒ Β βΒ Β βΒ Β βββ controller_factory.py
βΒ Β βΒ Β βΒ Β βββ iconnection_manager.py
βΒ Β βΒ Β βΒ Β βββ icontroller_factory.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ irobot_actuator.py
βΒ Β βΒ Β βΒ Β βββ irobot_telemetry.py
βΒ Β βΒ Β βΒ Β βββ istreamer_factory.py
βΒ Β βΒ Β βΒ Β βββ mycobot_controller.py
βΒ Β βΒ Β βΒ Β βββ mycobot_streamer.py
βΒ Β βΒ Β βΒ Β βββ robot_actuator.py
βΒ Β βΒ Β βΒ Β βββ robot_telemetry.py
βΒ Β βΒ Β βΒ Β βββ streamer_factory.py
βΒ Β βΒ Β βββ transport/
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ mock_serial_transport.py
βΒ Β βΒ Β βββ serial_transport.py
βΒ Β βΒ Β βββ transport_constants.py
βΒ Β βββ config/
βΒ Β βΒ Β βββ examples.tgz
βΒ Β βΒ Β βββ idecobot.cfg
βΒ Β βΒ Β βββ idecobot.logo
βΒ Β βΒ Β βββ mycobot_geometry.json
βΒ Β βΒ Β βββ scheme.json
βΒ Β βββ diagnostics/
βΒ Β βΒ Β βββ diagnostics_constants.py
βΒ Β βΒ Β βββ diagnostics_coordinator.py
βΒ Β βΒ Β βββ diagnostics_factory.py
βΒ Β βΒ Β βββ idiagnostics_coordinator.py
βΒ Β βΒ Β βββ ijoint_diagnostics_reader.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ iservo_diagnostics_reader.py
βΒ Β βΒ Β βββ ispatial_diagnostics_reader.py
βΒ Β βΒ Β βββ joint_diagnostics_reader.py
βΒ Β βΒ Β βββ servo_diagnostics_reader.py
βΒ Β βΒ Β βββ spatial_diagnostics_reader.py
βΒ Β βββ gui/
βΒ Β βΒ Β βββ editor/
βΒ Β βΒ Β βΒ Β βββ code_editor.py
βΒ Β βΒ Β βΒ Β βββ editor_constants.py
βΒ Β βΒ Β βΒ Β βββ editor_coordinator.py
βΒ Β βΒ Β βΒ Β βββ editor_panel.py
βΒ Β βΒ Β βΒ Β βββ editor_panel_factory.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ syntax_highlighter.py
βΒ Β βΒ Β βββ engine.py
βΒ Β βΒ Β βββ engine_constants.py
βΒ Β βΒ Β βββ igui.py
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ jog/
βΒ Β βΒ Β βΒ Β βββ cartesian_constants.py
βΒ Β βΒ Β βΒ Β βββ cartesian_panel.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ jog_constants.py
βΒ Β βΒ Β βΒ Β βββ jog_coordinator.py
βΒ Β βΒ Β βΒ Β βββ jog_panel.py
βΒ Β βΒ Β βΒ Β βββ jog_panel_factory.py
βΒ Β βΒ Β βΒ Β βββ joint_constants.py
βΒ Β βΒ Β βΒ Β βββ joint_panel.py
βΒ Β βΒ Β βΒ Β βββ step_constants.py
βΒ Β βΒ Β βΒ Β βββ step_panel.py
βΒ Β βΒ Β βΒ Β βββ tool_constants.py
βΒ Β βΒ Β βΒ Β βββ tool_panel.py
βΒ Β βΒ Β βββ log/
βΒ Β βΒ Β βΒ Β βββ bytecode_constants.py
βΒ Β βΒ Β βΒ Β βββ bytecode_preview.py
βΒ Β βΒ Β βΒ Β βββ console_constants.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ log_constants.py
βΒ Β βΒ Β βΒ Β βββ log_panel.py
βΒ Β βΒ Β βΒ Β βββ log_panel_factory.py
βΒ Β βΒ Β βΒ Β βββ serial_console.py
βΒ Β βΒ Β βββ menu/
βΒ Β βΒ Β βΒ Β βββ diagnostics_menu_handler.py
βΒ Β βΒ Β βΒ Β βββ file_menu_handler.py
βΒ Β βΒ Β βΒ Β βββ help_menu_handler.py
βΒ Β βΒ Β βΒ Β βββ idiagnostics_menu_handler.py
βΒ Β βΒ Β βΒ Β βββ ifile_menu_handler.py
βΒ Β βΒ Β βΒ Β βββ ihelp_menu_handler.py
βΒ Β βΒ Β βΒ Β βββ imenu_bar.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ menu_bar.py
βΒ Β βΒ Β βΒ Β βββ menu_bar_constants.py
βΒ Β βΒ Β βΒ Β βββ menu_bar_factory.py
βΒ Β βΒ Β βββ setup/
βΒ Β βΒ Β βΒ Β βββ bundle.py
βΒ Β βΒ Β βΒ Β βββ dep_validator.py
βΒ Β βΒ Β βΒ Β βββ dependencies.py
βΒ Β βΒ Β βΒ Β βββ factory.py
βΒ Β βΒ Β βΒ Β βββ gui_bundle_factory_constants.py
βΒ Β βΒ Β βΒ Β βββ gui_event_handler.py
βΒ Β βΒ Β βΒ Β βββ igui_event_handler.py
βΒ Β βΒ Β βΒ Β βββ igui_event_target.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ keys.py
βΒ Β βΒ Β βΒ Β βββ opt_validator.py
βΒ Β βΒ Β βΒ Β βββ options.py
βΒ Β βΒ Β βΒ Β βββ registry.py
βΒ Β βΒ Β βΒ Β βββ validator.py
βΒ Β βΒ Β βββ stream/
βΒ Β βΒ Β βΒ Β βββ connection_constants.py
βΒ Β βΒ Β βΒ Β βββ connection_panel.py
βΒ Β βΒ Β βΒ Β βββ connection_panel_factory.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ status_bar.py
βΒ Β βΒ Β βΒ Β βββ status_bar_constants.py
βΒ Β βΒ Β βββ theme/
βΒ Β βΒ Β βΒ Β βββ color_palette.py
βΒ Β βΒ Β βΒ Β βββ font_config.py
βΒ Β βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βΒ Β βββ theme.py
βΒ Β βΒ Β βΒ Β βββ theme_constants.py
βΒ Β βΒ Β βββ toolbar/
βΒ Β βΒ Β βββ __init__.py
βΒ Β βΒ Β βββ itoolbar.py
βΒ Β βΒ Β βββ toolbar.py
βΒ Β βΒ Β βββ toolbar_constants.py
βΒ Β βΒ Β βββ toolbar_factory.py
βΒ Β βββ __init__.py
βΒ Β βββ storage/
βΒ Β βββ __init__.py
βΒ Β βββ iscript_storage_service.py
βΒ Β βββ iworkspace_service.py
βΒ Β βββ script_storage_service.py
βΒ Β βββ storage_constants.py
βΒ Β βββ workspace_constants.py
βΒ Β βββ workspace_service.py
βββ __init__.py
βββ py.typed
βββ setup/
βββ bounds_loader.py
βββ bundle.py
βββ dep_validator.py
βββ dependencies.py
βββ factory.py
βββ gui_factory.py
βββ __init__.py
βββ keys.py
βββ opt_validator.py
βββ options.py
βββ registry.py
βββ validator.py
41 directories, 244 files
</details>
idecobot is built on a strictly decoupled, Layered Clean Architecture where presentation, domain logic, AST compilation, and hardware communication are segregated through pure Python structural protocols:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Engine β (Presenter / Main Window)
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ
β Orchestrates UI Panels & Coordinators via DI
βββββββββββββββββββββββββββ¬ββββββββββββ΄ββββββββββββββ¬βββββββββββββββββββββββββββ
βΌ βΌ βΌ βΌ
ββββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββββ ββββββββββββββββββββ
β JogPanel β β EditorPanel β β LogPanel β β ConnectionPanel β
β (Joint/Cartesian/β β (CodeEditor, β β (SerialConsole, β β (Port Scanner & β
β Tool/Step) β β Highlighter) β β BytecodePreview) β β Baud Selector) β
ββββββββββ¬ββββββββββ ββββββββββ¬βββββββββ βββββββββββ¬ββββββββββ ββββββββββ¬ββββββββββ
β β β β
ββββββββββββββ¬βββββββββββββ΄ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββ
β Observes / Invokes Domain Services via Protocols
βΌ
ββββββββββββββββββββββββββββ
β MyCobotBounds β (Domain Model: Kinematics Limits & Physical Geometry)
ββββββββββββββ¬ββββββββββββββ
β
ββββββββββββββ΄βββββββββββββ¬βββββββββββββββββββββββββ
βΌ βΌ βΌ
ββββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β KinematicsServiceβ β DslService β β ScriptStorage β
β(Forward/Inverse) β β(Lexer,Parser,Gen)β β (.cobot Storage)β
ββββββββββββββββββββ ββββββββββ¬ββββββββββ βββββββββββββββββββ
β
ββββββββββββββββββββββΌβββββββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β CobotLexer β β CobotParser β βBytecodeGeneratorβ
β (Token Stream) β β (AST Builder) β β (Binary Stream) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β SerialTransport β (0xFE 0xFE Framing)
ββββββββββββββββββββ
@runtime_checkable Protocol definitions. Concrete classes never inherit from interfaces, ensuring zero circular dependencies and complete interchangeability.IKinematicsService, IDslService, IScriptStorageService, ISerialTransport, IAppMenuBar, IControlsPanel).setup/factory.py.run_quality_gates.sh)Every build is validated against 4 strict automated quality gates:
@runtime_checkable Protocol structural typing..cobot DSL Editor & Compiler: Full-featured code editor with real-time syntax highlighting for industrial myCobot scripts (.cobot), AST compilation, and instant bidirectional visual status synchronization.0xFE 0xFE <len> <cmd> <payload...> 0xFA) with baudrate selection (115200 default) and auto-detection.The robot kinematic parameters and physical limits are encapsulated within MyCobotBounds:
| Parameter | Limit Value | Description |
|---|---|---|
j1_min / j1_max |
-165.0Β° / +165.0Β° |
Base rotation joint limit. |
j2_min / j2_max |
-165.0Β° / +165.0Β° |
Shoulder elevation joint limit. |
j3_min / j3_max |
-165.0Β° / +165.0Β° |
Elbow joint limit. |
j4_min / j4_max |
-165.0Β° / +165.0Β° |
Wrist pitch joint limit. |
j5_min / j5_max |
-165.0Β° / +165.0Β° |
Wrist roll joint limit. |
j6_min / j6_max |
-175.0Β° / +175.0Β° |
Tool rotation joint limit. |
reach_max |
285.0 mm |
Maximum spherical reach from robot base origin. |
min_speed / max_speed |
1% / 100% |
Allowable joint and Cartesian travel velocity range. |
.cobot Programsidecobot includes a dedicated Domain-Specific Language designed specifically for 6-DOF myCobot manipulators. Programs are written in plain text files with the .cobot extension and compiled into validated binary machine instructions via a clean AST pipeline:
βββββββββββββββββββββββββββ
β .cobot Source β
ββββββββββββββ¬βββββββββββββ
β CobotLexer
βΌ
βββββββββββββββββββββββββββ
β Token Stream β
ββββββββββββββ¬βββββββββββββ
β CobotParser
βΌ
βββββββββββββββββββββββββββ
β Abstract AST β
ββββββββββββββ¬βββββββββββββ
β CobotCompiler & BytecodeGenerator
βΌ
βββββββββββββββββββββββββββ
β Bytecode Stream β (0xFE 0xFE Binary Packets)
βββββββββββββββββββββββββββ
| Category | Instruction & Syntax | Parameters | Description |
|---|---|---|---|
| Power & State | HOME |
None | Moves all 6 joints to calibrated zero reference position ($0.0^\circ$). |
| Β | RELAX |
None | Releases servo brakes / disables motor torque for manual teaching. |
| Β | POWER |
None | Energizes servo motors and enables active position control. |
| Timing & Speed | SPEED <percent> |
percent (1% - 100%) |
Sets travel feedrate velocity percentage. |
| Β | WAIT <ms> |
ms (milliseconds) |
Dwells execution for specified hardware duration. |
| Tool Actuation | TOOL GRIP |
None | Closes electric gripper end-effector. |
| Β | TOOL RELEASE |
None | Opens electric gripper end-effector. |
| Β | TOOL ANGLE <deg> |
deg (0Β° - 100Β°) |
Sets electric gripper opening angle. |
| Motion | MOVE J1 <j1> J2 <j2> J3 <j3> J4 <j4> J5 <j5> J6 <j6> [SPEED <s>] |
J1..J6 (deg), SPEED (%) |
Coordinated 6-DOF multi-joint motion. |
| Β | MOVE_L X <x> Y <y> Z <z> RX <rx> RY <ry> RZ <rz> [SPEED <s>] |
X,Y,Z (mm), RX,RY,RZ (deg) |
Cartesian linear tool interpolated path. |
.cobot Program: Industrial Pick & Place# ----------------------------------------------------
# Elephant Robotics myCobot 280 Pick-and-Place Cycle
# ----------------------------------------------------
POWER
SPEED 40
HOME
WAIT 500
# Approach workpiece pick station
MOVE J1 0.0 J2 20.0 J3 -45.0 J4 0.0 J5 30.0 J6 0.0 SPEED 50
MOVE_L X 180.0 Y -50.0 Z 120.0 RX 0.0 RY 90.0 RZ 0.0 SPEED 30
# Grip object and wait for mechanical engagement
TOOL GRIP
WAIT 300
# Retract and transfer to drop location
MOVE_L X 180.0 Y -50.0 Z 200.0 RX 0.0 RY 90.0 RZ 0.0 SPEED 30
MOVE J1 90.0 J2 15.0 J3 -30.0 J4 0.0 J5 20.0 J6 45.0 SPEED 40
MOVE_L X 0.0 Y 180.0 Z 100.0 RX 0.0 RY 90.0 RZ 45.0 SPEED 20
# Release object
TOOL RELEASE
WAIT 300
# Return to safe home altitude
HOME
All communication between idecobot and the physical myCobot 280 microcontroller is governed by the standard binary framing protocol:
ββββββββ¬βββββββ¬ββββββββββ¬ββββββββββ¬ββββββββββββββββββ¬βββββββ
β 0xFE β 0xFE β LEN (N) β CMD_ID β PAYLOAD (N - 2) β 0xFA β
ββββββββ΄βββββββ΄ββββββββββ΄ββββββββββ΄ββββββββββββββββββ΄βββββββ
Header 2B Length Command Data bytes Tail
| Command ID | Command Name | Description |
|---|---|---|
0x10 |
POWER_ON |
Powers on and activates all servo motors. |
0x11 |
POWER_OFF |
Powers off all servo motors. |
0x13 |
RELEASE_ALL_SERVOS |
Disables torque holding for manual positioning. |
0x20 |
WRITE_ANGLES |
Sends target joint angles ($J_1 \dots J_6$) with speed. |
0x21 |
READ_ANGLES |
Queries active joint angles from robot controllers. |
0x22 |
WRITE_COORDS |
Sends target Cartesian coordinates ($X, Y, Z, Rx, Ry, Rz$) with speed. |
0x23 |
READ_COORDS |
Queries active Cartesian pose from robot controllers. |
0x80 |
SET_GRIPPER_STATE |
Opens or closes electric gripper end-effector. |
Click to expand code coverage</summary>
| Name | Stmts | Miss | Cover |
|---|---|---|---|
idecobot/__init__.py |
9 | 0 | 100% |
idecobot/core/__init__.py |
9 | 0 | 100% |
idecobot/core/model/__init__.py |
9 | 0 | 100% |
idecobot/core/model/communication/__init__.py |
9 | 0 | 100% |
idecobot/core/model/communication/mycobot_frame.py |
15 | 0 | 100% |
idecobot/core/model/communication/protocol_constants.py |
44 | 0 | 100% |
idecobot/core/model/communication/stream_config.py |
13 | 0 | 100% |
idecobot/core/model/communication/stream_progress.py |
18 | 0 | 100% |
idecobot/core/model/communication/stream_state.py |
17 | 0 | 100% |
idecobot/core/model/dsl/__init__.py |
9 | 0 | 100% |
idecobot/core/model/dsl/ast/__init__.py |
9 | 0 | 100% |
idecobot/core/model/dsl/ast/mycobot_command_type.py |
19 | 0 | 100% |
idecobot/core/model/dsl/ast/mycobot_instruction.py |
18 | 0 | 100% |
idecobot/core/model/dsl/ast/mycobot_program.py |
14 | 0 | 100% |
idecobot/core/model/dsl/diagnostic/__init__.py |
9 | 0 | 100% |
idecobot/core/model/dsl/diagnostic/mycobot_diagnostic.py |
17 | 0 | 100% |
idecobot/core/model/dsl/diagnostic/mycobot_diagnostic_severity.py |
14 | 0 | 100% |
idecobot/core/model/dsl/token/__init__.py |
9 | 0 | 100% |
idecobot/core/model/dsl/token/dsl_grammar_constants.py |
32 | 0 | 100% |
idecobot/core/model/dsl/token/mycobot_token.py |
17 | 0 | 100% |
idecobot/core/model/dsl/token/mycobot_token_type.py |
18 | 0 | 100% |
idecobot/core/model/kinematics/__init__.py |
9 | 0 | 100% |
idecobot/core/model/kinematics/joint_bounds.py |
19 | 0 | 100% |
idecobot/core/model/kinematics/joint_limit.py |
14 | 0 | 100% |
idecobot/core/model/kinematics/mycobot_bounds.py |
20 | 0 | 100% |
idecobot/core/model/kinematics/spatial_bounds.py |
14 | 0 | 100% |
idecobot/core/model/kinematics/speed_bounds.py |
15 | 0 | 100% |
idecobot/core/model/kinematics/trajectory_bounds.py |
13 | 0 | 100% |
idecobot/core/service/__init__.py |
9 | 0 | 100% |
idecobot/core/service/communication/__init__.py |
9 | 0 | 100% |
idecobot/core/service/communication/imycobot_controller.py |
25 | 0 | 100% |
idecobot/core/service/communication/imycobot_streamer.py |
24 | 0 | 100% |
idecobot/core/service/communication/itransport.py |
20 | 0 | 100% |
idecobot/core/service/dsl/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/compiler/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/compiler/commands/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/compiler/commands/home_command_compiler.py |
28 | 0 | 100% |
idecobot/core/service/dsl/compiler/commands/icommand_compiler.py |
20 | 0 | 100% |
idecobot/core/service/dsl/compiler/commands/move_coords_command_compiler.py |
37 | 1 | 97% |
idecobot/core/service/dsl/compiler/commands/move_joints_command_compiler.py |
35 | 1 | 97% |
idecobot/core/service/dsl/compiler/commands/power_command_compiler.py |
25 | 1 | 96% |
idecobot/core/service/dsl/compiler/commands/relax_command_compiler.py |
25 | 1 | 96% |
idecobot/core/service/dsl/compiler/commands/speed_command_compiler.py |
25 | 1 | 96% |
idecobot/core/service/dsl/compiler/commands/tool_command_compiler.py |
33 | 1 | 97% |
idecobot/core/service/dsl/compiler/commands/wait_command_compiler.py |
28 | 1 | 96% |
idecobot/core/service/dsl/compiler/compiler_context.py |
34 | 0 | 100% |
idecobot/core/service/dsl/compiler/imycobot_compiler.py |
19 | 0 | 100% |
idecobot/core/service/dsl/compiler/mycobot_compiler.py |
34 | 0 | 100% |
idecobot/core/service/dsl/dsl_service_factory.py |
48 | 0 | 100% |
idecobot/core/service/dsl/imycobot_dsl_service.py |
23 | 0 | 100% |
idecobot/core/service/dsl/lexer/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/lexer/imycobot_lexer.py |
17 | 0 | 100% |
idecobot/core/service/dsl/lexer/mycobot_lexer.py |
80 | 25 | 69% |
idecobot/core/service/dsl/linter/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/linter/imycobot_linter.py |
18 | 0 | 100% |
idecobot/core/service/dsl/linter/mycobot_linter.py |
29 | 2 | 93% |
idecobot/core/service/dsl/linter/rules/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/linter/rules/ground_safety_rule.py |
36 | 6 | 83% |
idecobot/core/service/dsl/linter/rules/imycobot_lint_rule.py |
18 | 0 | 100% |
idecobot/core/service/dsl/linter/rules/jerk_limit_rule.py |
44 | 3 | 93% |
idecobot/core/service/dsl/linter/rules/joint_bounds_rule.py |
38 | 2 | 95% |
idecobot/core/service/dsl/linter/rules/speed_limit_rule.py |
38 | 6 | 84% |
idecobot/core/service/dsl/linter/rules/workspace_reach_rule.py |
39 | 8 | 79% |
idecobot/core/service/dsl/mycobot_dsl_service.py |
49 | 4 | 92% |
idecobot/core/service/dsl/parser/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/parser/commands/__init__.py |
9 | 0 | 100% |
idecobot/core/service/dsl/parser/commands/home_command_parser.py |
23 | 1 | 96% |
idecobot/core/service/dsl/parser/commands/icommand_parser.py |
18 | 0 | 100% |
idecobot/core/service/dsl/parser/commands/move_command_parser.py |
57 | 7 | 88% |
idecobot/core/service/dsl/parser/commands/power_command_parser.py |
23 | 3 | 87% |
idecobot/core/service/dsl/parser/commands/relax_command_parser.py |
23 | 1 | 96% |
idecobot/core/service/dsl/parser/commands/speed_command_parser.py |
27 | 2 | 93% |
idecobot/core/service/dsl/parser/commands/tool_command_parser.py |
39 | 7 | 82% |
idecobot/core/service/dsl/parser/commands/wait_command_parser.py |
27 | 2 | 93% |
idecobot/core/service/dsl/parser/imycobot_parser.py |
19 | 0 | 100% |
idecobot/core/service/dsl/parser/mycobot_parser.py |
53 | 4 | 92% |
idecobot/core/service/engine.py |
40 | 3 | 92% |
idecobot/core/service/iservice.py |
24 | 0 | 100% |
idecobot/core/service/kinematics/__init__.py |
9 | 0 | 100% |
idecobot/core/service/kinematics/ikinematic_validator.py |
17 | 0 | 100% |
idecobot/core/service/kinematics/kinematic_validator.py |
29 | 1 | 97% |
idecobot/engine.py |
57 | 57 | 0% |
idecobot/infrastructure/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/cli/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/cli/engine.py |
39 | 0 | 100% |
idecobot/infrastructure/cli/icli.py |
15 | 0 | 100% |
idecobot/infrastructure/cli/setup/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/cli/setup/bundle.py |
22 | 1 | 95% |
idecobot/infrastructure/cli/setup/dep_validator.py |
36 | 0 | 100% |
idecobot/infrastructure/cli/setup/dependencies.py |
18 | 0 | 100% |
idecobot/infrastructure/cli/setup/factory.py |
37 | 1 | 97% |
idecobot/infrastructure/cli/setup/keys.py |
28 | 0 | 100% |
idecobot/infrastructure/cli/setup/opt_validator.py |
36 | 0 | 100% |
idecobot/infrastructure/cli/setup/options.py |
17 | 0 | 100% |
idecobot/infrastructure/cli/setup/registry.py |
24 | 1 | 96% |
idecobot/infrastructure/cli/setup/validator.py |
43 | 0 | 100% |
idecobot/infrastructure/command/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/command/command.py |
16 | 0 | 100% |
idecobot/infrastructure/command/icommand_definition.py |
14 | 0 | 100% |
idecobot/infrastructure/command/icommand_executor.py |
14 | 0 | 100% |
idecobot/infrastructure/command/studio_command_definition.py |
29 | 0 | 100% |
idecobot/infrastructure/command/studio_command_executor.py |
41 | 0 | 100% |
idecobot/infrastructure/communication/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/communication/iserial_port_scanner.py |
16 | 0 | 100% |
idecobot/infrastructure/communication/protocol/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/communication/protocol/imotion_codec.py |
19 | 0 | 100% |
idecobot/infrastructure/communication/protocol/imycobot_protocol_codec.py |
26 | 0 | 100% |
idecobot/infrastructure/communication/protocol/iprotocol_codec_factory.py |
16 | 0 | 100% |
idecobot/infrastructure/communication/protocol/iprotocol_framer.py |
17 | 0 | 100% |
idecobot/infrastructure/communication/protocol/isystem_codec.py |
17 | 0 | 100% |
idecobot/infrastructure/communication/protocol/itool_codec.py |
15 | 0 | 100% |
idecobot/infrastructure/communication/protocol/motion_codec.py |
44 | 3 | 93% |
idecobot/infrastructure/communication/protocol/mycobot_protocol_codec.py |
48 | 0 | 100% |
idecobot/infrastructure/communication/protocol/protocol_codec_factory.py |
22 | 0 | 100% |
idecobot/infrastructure/communication/protocol/protocol_framer.py |
27 | 1 | 96% |
idecobot/infrastructure/communication/protocol/system_codec.py |
22 | 0 | 100% |
idecobot/infrastructure/communication/protocol/tool_codec.py |
21 | 0 | 100% |
idecobot/infrastructure/communication/serial_port_scanner.py |
20 | 2 | 90% |
idecobot/infrastructure/communication/streamer/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/communication/streamer/connection_manager.py |
24 | 0 | 100% |
idecobot/infrastructure/communication/streamer/controller_factory.py |
23 | 0 | 100% |
idecobot/infrastructure/communication/streamer/iconnection_manager.py |
18 | 0 | 100% |
idecobot/infrastructure/communication/streamer/icontroller_factory.py |
18 | 0 | 100% |
idecobot/infrastructure/communication/streamer/irobot_actuator.py |
21 | 0 | 100% |
idecobot/infrastructure/communication/streamer/irobot_telemetry.py |
16 | 0 | 100% |
idecobot/infrastructure/communication/streamer/istreamer_factory.py |
17 | 0 | 100% |
idecobot/infrastructure/communication/streamer/mycobot_controller.py |
44 | 0 | 100% |
idecobot/infrastructure/communication/streamer/mycobot_streamer.py |
84 | 5 | 94% |
idecobot/infrastructure/communication/streamer/robot_actuator.py |
37 | 0 | 100% |
idecobot/infrastructure/communication/streamer/robot_telemetry.py |
36 | 2 | 94% |
idecobot/infrastructure/communication/streamer/streamer_factory.py |
19 | 0 | 100% |
idecobot/infrastructure/communication/transport/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/communication/transport/mock_serial_transport.py |
82 | 3 | 96% |
idecobot/infrastructure/communication/transport/serial_transport.py |
62 | 0 | 100% |
idecobot/infrastructure/communication/transport/transport_constants.py |
19 | 0 | 100% |
idecobot/infrastructure/diagnostics/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/diagnostics/diagnostics_constants.py |
21 | 0 | 100% |
idecobot/infrastructure/diagnostics/diagnostics_coordinator.py |
43 | 0 | 100% |
idecobot/infrastructure/diagnostics/diagnostics_factory.py |
29 | 0 | 100% |
idecobot/infrastructure/diagnostics/idiagnostics_coordinator.py |
22 | 0 | 100% |
idecobot/infrastructure/diagnostics/ijoint_diagnostics_reader.py |
15 | 0 | 100% |
idecobot/infrastructure/diagnostics/iservo_diagnostics_reader.py |
15 | 0 | 100% |
idecobot/infrastructure/diagnostics/ispatial_diagnostics_reader.py |
15 | 0 | 100% |
idecobot/infrastructure/diagnostics/joint_diagnostics_reader.py |
57 | 3 | 95% |
idecobot/infrastructure/diagnostics/servo_diagnostics_reader.py |
49 | 1 | 98% |
idecobot/infrastructure/diagnostics/spatial_diagnostics_reader.py |
53 | 3 | 94% |
idecobot/infrastructure/gui/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/editor/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/editor/code_editor.py |
57 | 3 | 95% |
idecobot/infrastructure/gui/editor/editor_constants.py |
54 | 0 | 100% |
idecobot/infrastructure/gui/editor/editor_coordinator.py |
76 | 1 | 99% |
idecobot/infrastructure/gui/editor/editor_panel.py |
69 | 1 | 99% |
idecobot/infrastructure/gui/editor/editor_panel_factory.py |
60 | 4 | 93% |
idecobot/infrastructure/gui/editor/syntax_highlighter.py |
48 | 0 | 100% |
idecobot/infrastructure/gui/engine.py |
92 | 40 | 57% |
idecobot/infrastructure/gui/engine_constants.py |
24 | 0 | 100% |
idecobot/infrastructure/gui/igui.py |
17 | 0 | 100% |
idecobot/infrastructure/gui/jog/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/jog/cartesian_constants.py |
33 | 0 | 100% |
idecobot/infrastructure/gui/jog/cartesian_panel.py |
56 | 3 | 95% |
idecobot/infrastructure/gui/jog/jog_constants.py |
60 | 0 | 100% |
idecobot/infrastructure/gui/jog/jog_coordinator.py |
90 | 8 | 91% |
idecobot/infrastructure/gui/jog/jog_panel.py |
50 | 3 | 94% |
idecobot/infrastructure/gui/jog/jog_panel_factory.py |
59 | 8 | 86% |
idecobot/infrastructure/gui/jog/joint_constants.py |
33 | 0 | 100% |
idecobot/infrastructure/gui/jog/joint_panel.py |
56 | 3 | 95% |
idecobot/infrastructure/gui/jog/step_constants.py |
30 | 0 | 100% |
idecobot/infrastructure/gui/jog/step_panel.py |
52 | 8 | 85% |
idecobot/infrastructure/gui/jog/tool_constants.py |
38 | 0 | 100% |
idecobot/infrastructure/gui/jog/tool_panel.py |
53 | 1 | 98% |
idecobot/infrastructure/gui/log/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/log/bytecode_constants.py |
26 | 0 | 100% |
idecobot/infrastructure/gui/log/bytecode_preview.py |
60 | 12 | 80% |
idecobot/infrastructure/gui/log/console_constants.py |
33 | 0 | 100% |
idecobot/infrastructure/gui/log/log_constants.py |
17 | 0 | 100% |
idecobot/infrastructure/gui/log/log_panel.py |
50 | 7 | 86% |
idecobot/infrastructure/gui/log/log_panel_factory.py |
37 | 1 | 97% |
idecobot/infrastructure/gui/log/serial_console.py |
64 | 9 | 86% |
idecobot/infrastructure/gui/menu/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/menu/diagnostics_menu_handler.py |
36 | 0 | 100% |
idecobot/infrastructure/gui/menu/file_menu_handler.py |
48 | 11 | 77% |
idecobot/infrastructure/gui/menu/help_menu_handler.py |
24 | 2 | 92% |
idecobot/infrastructure/gui/menu/idiagnostics_menu_handler.py |
21 | 0 | 100% |
idecobot/infrastructure/gui/menu/ifile_menu_handler.py |
16 | 0 | 100% |
idecobot/infrastructure/gui/menu/ihelp_menu_handler.py |
15 | 0 | 100% |
idecobot/infrastructure/gui/menu/imenu_bar.py |
19 | 0 | 100% |
idecobot/infrastructure/gui/menu/menu_bar.py |
59 | 7 | 88% |
idecobot/infrastructure/gui/menu/menu_bar_constants.py |
40 | 0 | 100% |
idecobot/infrastructure/gui/menu/menu_bar_factory.py |
52 | 1 | 98% |
idecobot/infrastructure/gui/setup/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/setup/bundle.py |
37 | 1 | 97% |
idecobot/infrastructure/gui/setup/dep_validator.py |
36 | 5 | 86% |
idecobot/infrastructure/gui/setup/dependencies.py |
33 | 0 | 100% |
idecobot/infrastructure/gui/setup/factory.py |
122 | 7 | 94% |
idecobot/infrastructure/gui/setup/gui_bundle_factory_constants.py |
23 | 0 | 100% |
idecobot/infrastructure/gui/setup/gui_event_handler.py |
42 | 0 | 100% |
idecobot/infrastructure/gui/setup/igui_event_handler.py |
22 | 0 | 100% |
idecobot/infrastructure/gui/setup/igui_event_target.py |
22 | 0 | 100% |
idecobot/infrastructure/gui/setup/keys.py |
43 | 0 | 100% |
idecobot/infrastructure/gui/setup/opt_validator.py |
36 | 5 | 86% |
idecobot/infrastructure/gui/setup/options.py |
17 | 0 | 100% |
idecobot/infrastructure/gui/setup/registry.py |
24 | 1 | 96% |
idecobot/infrastructure/gui/setup/validator.py |
61 | 5 | 92% |
idecobot/infrastructure/gui/stream/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/stream/connection_constants.py |
42 | 0 | 100% |
idecobot/infrastructure/gui/stream/connection_panel.py |
85 | 2 | 98% |
idecobot/infrastructure/gui/stream/connection_panel_factory.py |
44 | 0 | 100% |
idecobot/infrastructure/gui/stream/status_bar.py |
71 | 24 | 66% |
idecobot/infrastructure/gui/stream/status_bar_constants.py |
33 | 0 | 100% |
idecobot/infrastructure/gui/theme/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/theme/color_palette.py |
34 | 0 | 100% |
idecobot/infrastructure/gui/theme/font_config.py |
21 | 0 | 100% |
idecobot/infrastructure/gui/theme/theme.py |
50 | 1 | 98% |
idecobot/infrastructure/gui/theme/theme_constants.py |
38 | 0 | 100% |
idecobot/infrastructure/gui/toolbar/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/gui/toolbar/itoolbar.py |
16 | 0 | 100% |
idecobot/infrastructure/gui/toolbar/toolbar.py |
60 | 0 | 100% |
idecobot/infrastructure/gui/toolbar/toolbar_constants.py |
28 | 0 | 100% |
idecobot/infrastructure/gui/toolbar/toolbar_factory.py |
37 | 0 | 100% |
idecobot/infrastructure/storage/__init__.py |
9 | 0 | 100% |
idecobot/infrastructure/storage/iscript_storage_service.py |
16 | 0 | 100% |
idecobot/infrastructure/storage/iworkspace_service.py |
17 | 0 | 100% |
idecobot/infrastructure/storage/script_storage_service.py |
40 | 6 | 85% |
idecobot/infrastructure/storage/storage_constants.py |
19 | 0 | 100% |
idecobot/infrastructure/storage/workspace_constants.py |
17 | 0 | 100% |
idecobot/infrastructure/storage/workspace_service.py |
53 | 5 | 91% |
idecobot/setup/__init__.py |
9 | 0 | 100% |
idecobot/setup/bounds_loader.py |
41 | 2 | 95% |
idecobot/setup/bundle.py |
25 | 0 | 100% |
idecobot/setup/dep_validator.py |
36 | 0 | 100% |
idecobot/setup/dependencies.py |
21 | 0 | 100% |
idecobot/setup/factory.py |
64 | 2 | 97% |
idecobot/setup/gui_factory.py |
34 | 0 | 100% |
idecobot/setup/keys.py |
33 | 0 | 100% |
idecobot/setup/opt_validator.py |
36 | 0 | 100% |
idecobot/setup/options.py |
16 | 0 | 100% |
idecobot/setup/registry.py |
34 | 1 | 97% |
idecobot/setup/validator.py |
53 | 0 | 100% |
| Total | 7030 | 377 | 95% |
</details>
Install package
pip3 install idecobot
Prepare main entry point by downloading main.py or create your own.
wget -O main.py https://raw.githubusercontent.com/vroncevic/idecobot/main/main.py
Launch the graphical studio with default configuration:
python3 main.py studio
Launch with initial script file and pre-selected serial port:
python3 main.py studio --file ./scripts/pick_and_place.cobot --port /dev/ttyACM0 --verbose enable
| Option | Type | Choices | Description |
|---|---|---|---|
--file |
str |
File path | Path to initial .cobot DSL script file to load on startup. |
--port |
str |
Serial port | Serial communication port (e.g. /dev/ttyACM0 or COM3). |
--verbose |
str |
enable, disable |
Enable or disable verbose ATS operational logging. |
/dev/ttyACM0) or mock transport for offline testing.Connected.Power / Relax) and control gripper state (Grip / Release)..cobot automation scripts.More documentation and info at
Copyright (C) 2026 by vroncevic.github.io/idecobot
idecobot is free software; you can redistribute it and/or modify it under the same terms as Python itself, either Python version 3.x or, at your option, any later version of Python 3 you may have available.
Special thanks to Google and the Google developer ecosystem for their tremendous support and innovative tools from the Google bundle that empowered the development and realization of this project. Google, you make this world a better place! πβ¨
Lets help and support PSF.