Robot Servers and Server Manager software for robo-gym

Overview

robo-gym-server-modules

Robot Servers and Server Manager software for robo-gym.

For info on how to use this package please visit the robo-gym website or the main robo-gym repository.

Install

pip install robo-gym-server-modules

Server Manager

How to use

The commands to control the Server Manager are:

  • start-server-manager starts the Server Manager in the background
  • attach-to-server-manager attaches the console to the Server Manager tmux session allowing to visualize the status of the Server Manager
  • Ctrl+B, D detaches the console from the Server Manager tmux session
  • kill-all-robot-servers kills all the running Robot Servers and the Server Manager
  • kill-server-manager kills the Server Manager
  • restart-server-manager kills all the running Robot Servers and the Server Manager and starts the Server Manager in the background

Testing

Start the Server Manager and attach to the session with:

start-server-manager && attach-to-server-manager

Expected output:

2021-XX-XX XX:XX:XX,XXX - serverManager - INFO - Server Manager started at 50100

If you get: start-server-manager: command not found it is most probably because your $PATH is not set correctly, to fix the problem add:

export PATH="/home/<your_username>/.local/bin:$PATH"

to your .bashrc file.

Troubleshooting

The Server Manager starts the Robot Server/s in a tmux session. To access the session of the Robot Server, first connect to the tmux server with:

tmux -L ServerManager 

Then navigate to the session with Ctrl+b )

Tmux cheat sheet

Additional info

How to manually generate python code for the RobotServer

From the repository root folder:

 python -m grpc_tools.protoc -Irobo_gym_server_modules/robot_server/grpc_msgs/protos --python_out=robo_gym_server_modules/robot_server/grpc_msgs/python/. --grpc_python_out=robo_gym_server_modules/robot_server/grpc_msgs/python/. robo_gym_server_modules/robot_server/grpc_msgs/protos/robot_server.proto
You might also like...
A
A "gym" style toolkit for building lightweight Neural Architecture Search systems

A "gym" style toolkit for building lightweight Neural Architecture Search systems

Customizable RecSys Simulator for OpenAI Gym
Customizable RecSys Simulator for OpenAI Gym

gym-recsys: Customizable RecSys Simulator for OpenAI Gym Installation | How to use | Examples | Citation This package describes an OpenAI Gym interfac

Reinforcement Learning with Q-Learning Algorithm on gym's frozen lake environment implemented in python

Reinforcement Learning with Q Learning Algorithm Q learning algorithm is trained on the gym's frozen lake environment. Libraries Used gym Numpy tqdm P

Manipulation OpenAI Gym environments to simulate robots at the STARS lab

Manipulator Learning This repository contains a set of manipulation environments that are compatible with OpenAI Gym and simulated in pybullet. In par

An OpenAI Gym environment for Super Mario Bros
An OpenAI Gym environment for Super Mario Bros

gym-super-mario-bros An OpenAI Gym environment for Super Mario Bros. & Super Mario Bros. 2 (Lost Levels) on The Nintendo Entertainment System (NES) us

Uses Open AI Gym environment to create autonomous cryptocurrency bot to trade cryptocurrencies.

Crypto_Bot Uses Open AI Gym environment to create autonomous cryptocurrency bot to trade cryptocurrencies. Steps to get started using the bot: Sign up

Multi-objective gym environments for reinforcement learning.
Multi-objective gym environments for reinforcement learning.

MO-Gym: Multi-Objective Reinforcement Learning Environments Gym environments for multi-objective reinforcement learning (MORL). The environments follo

UpChecker is a simple opensource project to host it fast on your server and check is server up, view statistic, get messages if it is down. UpChecker - just run file and use project easy

UpChecker UpChecker is a simple opensource project to host it fast on your server and check is server up, view statistic, get messages if it is down.

Make a Turtlebot3 follow a figure 8 trajectory and create a robot arm and make it follow a trajectory
Make a Turtlebot3 follow a figure 8 trajectory and create a robot arm and make it follow a trajectory

HW2 - ME 495 Overview Part 1: Makes the robot move in a figure 8 shape. The robot starts moving when launched on a real turtlebot3 and can be paused a

Comments
  • Error while running test python client

    Error while running test python client

    Hi!

    While running the test MIR robot client program, I'm getting an error: _InactiveRpcError of RPC that terminated with: status = StatusCode.UNAVAILABLE details = "failed to connect to all addresses" debug_error_string = "{"created":"@1602461115.459864652","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":3941,"referenced_errors":[{"created":"@1602461115.459861937","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":393,"grpc_status":14}]}"

    On the client side, I get Starting new Robot Server | Tentative 1 Starting new Robot Server | Tentative 2 Starting new Robot Server | Tentative 3 Starting new Robot Server | Tentative 4

    Can you please help me out? Thanks, Kiran

    opened by klekkala 3
  • On launch of robogym servers, pb2 error, TypeError: Descriptors cannot not be created directly.

    On launch of robogym servers, pb2 error, TypeError: Descriptors cannot not be created directly.

    Hi,

    I am trying to use the robogym servers and am running into this issue on launch.

    Details of my setup: Ubuntu 20, Ros Noetic, python 3.8.10

    The command that I am running that results in the error:

    roslaunch ur_robot_server ur_robot_server.launch ur_model:=ur10 gui:=true

    The error:

    Traceback (most recent call last): File "/home/kirstyellis/robogym_ws/devel/lib/ur_robot_server/robot_server.py", line 15, in exec(compile(fh.read(), python_script, 'exec'), context) File "/home/kirstyellis/robogym_ws/src/robo-gym-robot-servers/ur_robot_server/scripts/robot_server.py", line 5, in from ur_robot_server.ros_bridge import UrRosBridge File "/home/kirstyellis/robogym_ws/src/robo-gym-robot-servers/ur_robot_server/src/ur_robot_server/ros_bridge.py", line 12, in from robo_gym_server_modules.robot_server.grpc_msgs.python import robot_server_pb2 File "/home/kirstyellis/.local/lib/python3.8/site-packages/robo_gym_server_modules/robot_server/grpc_msgs/python/robot_server_pb2.py", line 36, in _descriptor.FieldDescriptor( File "/home/kirstyellis/.local/lib/python3.8/site-packages/google/protobuf/descriptor.py", line 560, in new _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are:

    1. Downgrade the protobuf package to 3.20.x or lower.
    2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

    Any ideas what is causing this? Has anyone else hit this issue?

    Thanks!

    opened by kirstyellis 2
  • typo in /robo_gym_server_modules/server_manager/client.py

    typo in /robo_gym_server_modules/server_manager/client.py", line 65

    line 65: raise RuntimeError('Failed {} tentatives of killing Robot Server'.forma(str(max_tentatives))) AttributeError: 'str' object has no attribute 'forma'

    FYI!

    opened by mphamhung 1
Owner
JR ROBOTICS
JOANNEUM RESEARCH – Institute for Robotics and Mechatronics
JR ROBOTICS
Space robot - (Course Project) Using the space robot to capture the target satellite that is disabled and spinning, then stabilize and fix it up

Space robot - (Course Project) Using the space robot to capture the target satellite that is disabled and spinning, then stabilize and fix it up

Mingrui Yu 3 Jan 7, 2022
MohammadReza Sharifi 27 Dec 13, 2022
Guiding evolutionary strategies by (inaccurate) differentiable robot simulators @ NeurIPS, 4th Robot Learning Workshop

Guiding Evolutionary Strategies by Differentiable Robot Simulators In recent years, Evolutionary Strategies were actively explored in robotic tasks fo

Vladislav Kurenkov 4 Dec 14, 2021
Plug-n-Play Reinforcement Learning in Python with OpenAI Gym and JAX

coax is built on top of JAX, but it doesn't have an explicit dependence on the jax python package. The reason is that your version of jaxlib will depend on your CUDA version.

null 128 Dec 27, 2022
Deep Q Learning with OpenAI Gym and Pokemon Showdown

pokemon-deep-learning An openAI gym project for pokemon involving deep q learning. Made by myself, Sam Little, and Layton Webber. This code captures g

null 2 Dec 22, 2021
AI virtual gym is an AI program which can be used to exercise and can be used to see if we are doing the exercises

AI virtual gym is an AI program which can be used to exercise and can be used to see if we are doing the exercises

null 4 Feb 13, 2022
Trading Gym is an open source project for the development of reinforcement learning algorithms in the context of trading.

Trading Gym Trading Gym is an open-source project for the development of reinforcement learning algorithms in the context of trading. It is currently

Dimitry Foures 535 Nov 15, 2022
gym-anm is a framework for designing reinforcement learning (RL) environments that model Active Network Management (ANM) tasks in electricity distribution networks.

gym-anm is a framework for designing reinforcement learning (RL) environments that model Active Network Management (ANM) tasks in electricity distribution networks. It is built on top of the OpenAI Gym toolkit.

Robin Henry 99 Dec 12, 2022
CL-Gym: Full-Featured PyTorch Library for Continual Learning

CL-Gym: Full-Featured PyTorch Library for Continual Learning CL-Gym is a small yet very flexible library for continual learning research and developme

Iman Mirzadeh 36 Dec 25, 2022
Implement A3C for Mujoco gym envs

pytorch-a3c-mujoco Disclaimer: my implementation right now is unstable (you ca refer to the learning curve below), I'm not sure if it's my problems. A

Andrew 70 Dec 12, 2022