Skip to content
rm501 Public

Mitsubishi RM-501 Movemaster II Robot Simulator.

License

Notifications You must be signed in to change notification settings

koppi/rm501

Repository files navigation

rm501.png

Features

Working features:

Untested / unfinished features:

Demo videos

Clone, compile and run

sudo apt -y install git 
git clone https://github.com/koppi/rm501.git
# required packages
sudo apt -y install mesa-common-dev libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev freeglut3-dev
sudo usermod -aG input $USER            # for joystick access
sudo apt -y install fonts-dejavu-core   # for DejaVuSansMono.ttf
# optional packages
sudo apt -y install libncursesw5-dev    # for console
sudo apt -y install libpng-dev          # for screenshots
sudo apt -y install libzmq5 libzmq3-dev # for ZeroMQ
sudo apt -y install libpaho-mqtt-dev    # for Eclipse MQTT
sudo apt -y install mosquitto           # for Mosquitto MQTT server
sudo apt -y install linuxcnc-uspace-dev # for LinuxCNC

Compile and run:

cd rm501/
make
./rm501 -s # start program with SDL GUI

– Tested on Windows 2022 windows and Ubuntu 22.04 .github/workflows/ubuntu.yml.

Control

  • Control via keyboard:
Key on Keyboard Emulator Key
⎋ Escape quit the simulator
⇥ Tab toggle 3D view
Q, W, E, R, T increase the joint values for waist, shoulder, elbow, pitch and roll
A, S, D, F, G decrease the joint values for waist, shoulder, elbow, pitch and roll
I K, and direction keys (on your right-hand side) control the end-effector position
C, V move end effector in a circle in the x-y plane, reset circle position
N, H move to 'nest' position, move to the 'all link horizontal' home position
O, L open, close tool

Hold the shift key to move the joints in parallel, not linearly.

  • Control via SpaceNavigator:

    see HAVE_SPACENAV in source code.

  • Control via Gamepad:

    see HAVE_JOYSTICK in source code.

  • Control via ØMQ

    Unfinished (see HAVE_ZMQ in source code).

  • MQ Telemetry Transport via Eclipse MQTT.

    Partially working (see HAVE_MQTT in source code).

  • Control via LinuxCNC / Machinekit:

    Unfinished (see HAVE_HAL in source code).

Authors