Skip to content

MECA500 Overview

Introduction

Watch a video of Flojoy in action with Mecademic 500.

Flojoy makes robotics programming easy, useful, and powerful. We’ve tailored Flojoy to program and control Mecademic’s Meca500 robot arm. Meca500 is a precise six-axis industrial robot designed for complex tasks in laboratory automation, electronics assembly, and similar precision-dependent environments.

Moreover, Flojoy allows for blocks-based visual programming, enabling users of all skill level to visually design the robot’s operations for precise and efficient control.

This documentation outlines the key features and functionalities of Flojoy in programming the Meca500.

Programming Meca500 with Flojoy

  1. Establish Connection:
    • Connect: Begin by setting up the connection to the Meca500 using the robot’s IP address. This block initializes the communication link between Flojoy and the robot and is required to be run before any other robot arm movement.
    • Home: Essential for setting the robot to its default position, ensuring a consistent starting point for operations.
  2. Programming movements
    • Use any of the Flojoy’s configuration, standard movement, and library movement blocks below like Move_Pose and Move_Circle to control the robot’s movement.
  3. Ending the program
    • Disconnect: Concludes the program by linking to the Disconnect Block to safely disconnecting the robot.

Flojoy Blocks for Meca500

Initialization & Termination Blocks

  • Connect: Establishes the connection to the Meca500 using the robot’s IP address, initializing the communication link.

  • Home: Executes the homing procedure for all joints. During homing, joints rotate to find the exact angles with a precision of a few degrees. Essential for ensuring the robot starts from a known position.

  • Disconnect: Safely disconnects the robot from Flojoy, ensuring no further actions are taken post-programming.

Configuration Blocks

  • Set_Cart_Lin_Vel: Sets the maximum linear velocity for the robot’s Tool Reference Frame (TRF) with respect to its World Reference Frame (WRF), affecting MoveLin and related commands.

  • Set_Joint_Vel: Configures the velocity for joint movements, influencing commands like Move Joint.

  • Set_Blending: Determines the blending level between consecutive movements, enabling smoother transitions.

  • Delay: Introduces a pause in the sequence of operations, allowing for timed control of actions.

Standard Movements Blocks

  • Move_Joint: Commands the robot to move its joints to specified angles, taking a linear path in joint space but nonlinear in Cartesian space.

  • Move_Lin: Directs the robot’s end-effector to a specific pose in a linear trajectory within Cartesian space, considering reorientations and turn configurations.

  • Move_Pose: Moves the robot’s TRF to a specific pose with respect to the WRF, calculating the most efficient joint set to reach the desired position.

Flojoy Custom Movements Blocks

  • Move_Circle: Move circle is a node that moves the mecademic robot along a circular path defined by a center point in 3d space and a radius. It is equivalent to the combination of generate circle keyframes and move keyframes. This node is useful for executing circular moves in tool relative space. As a move node, it can be run any time after activation or a mecademic arm. A high blending value is recommended for a smooth circular move.
  • Move_Keyframes: Move keyframes executes a sequence of moves as defined in a data frame with columns x, y, z, alpha, beta, gamma, time. Timing is approximated by calculating a velocity based on mecademic’s maximum joint velocities, however the keyframes do not guarantee timing. A move keyframes node can be thought of as a shorthand for a sequence of move and set velocity nodes. As a move node, it can be run any time after the activation of a mecademic arm.

Advanced Features

Flojoy, integrated with Mecademic’s control system, brings the power of Python’s core features into the realm of visual robotics programming. This integration not only facilitates traditional programming constructs like loops and conditional logic but also unlocks access to advanced machine learning (ML) functionalities.

Future Works

Flojoy’s new robotics team aims to make robotics visual programming easy, useful, and powerful. We are currently working on multi-hardware connectivity and exploring natural language and human collaboration based robotics control methods.

All Blocks

CALCULATE_CIRCLE_MOVE The Calculate Circle Move node moves in a circle relative to a reference plane. This node's output can be fed into a move keyframes node to create a movement along a circular path of a given radius and center point. This is not an opertaion on the robot, just generating keyframes.. It can feed into a move keyframes node to define a move for a Mecademic arm. Blending is recommended for a smooth circular move.
CONNECT The CONNECT node establishes a connection to the Mecademic robot arm via HTTP and activates the robot arm. The IP Address to use is the same one that is used to access the Mecademic web interface. Example: 192.168.0.100
DELAY Delay the action between two blocks.
DISCONNECT DISCONNECT disconnects the Mecademic robot arm via its API. This is required if the arm is to be used without rebooting.
HOME Home the robot arm. This block is required to be run before any other robot arm movement. It is recommended to run this block immediately after "ACTIVATE". The robot is expected to move a little bit during the running of this node.
MOVE_CIRCLE MOVE CIRCLE is an action node that moves the mecademic robot along a circular path defined by a center point about its current position.. It is equivalent to the combination of generating circle keyframes at the robot's current position and then running move keyframes. This node is useful for executing circular moves in tool relative space. A high blending value is recommended for a smooth circular move.
MOVE_JOINT Linearly move the robot's tool to an absolute Cartesian position.
MOVE_KEYFRAMES The MOVE_KEYFRAMES node linearly moves the robot's tool according to a set of 3d animation style keyframes.
MOVE_KEYFRAMES_LIN The MOVE_KEYFRAMES node LINEARLY RELATIVE TO A REFERENCE FRAME moves the robot's tool according to a set of 3d animation style keyframes.
MOVE_LIN Linearly move the robot's tool to an absolute Cartesian position.
MOVE_LIN_REL_TRF The MOVE_LIN node linearly moves the robot's tool to an absolute Cartesian position relative to the robot's tool reference frame which is set by the SET_TRF node.
MOVE_POSE Move the robot to a specified pose in space.
SET_BLENDING The SET_BLENDING to make the moves of the robot arm smoother.
SET_CART_LIN_VEL Set the robot arm's linear velocity in Cartesian coordinates.
SET_JOINT_VEL The SET_JOINT_VEL node sets the robot arm's angular velocity for its joints.
SET_TRF The SET_TRF node sets the robot arm's reference frame.