UPDATED- Download Virtual Human 1.1

FlorianKnechtFlorianKnecht Germany mod
edited October 2020 in RobotStudio

Dear All,

Updated to Version 1.1 (Installable Package): 

  • Please have a look in the attached "README.txt", there you can also find the Version History.
  • Please note, that the Files from the old Version should be deleted completely (e.g. RS_Virtual_Human Folder)- you can stil use your RAPID codes or CAD Files (those are backward compatible)

I am proud to release the new Version of the Virtual Human for RobotStudio. 

You can get more detailed information’s/ manuals and tutorial videos from the project folder uploaded in the ABB Library.  

Download Link:


Please Note: 

  • If you have access to our SharePoint (ABB internal), it's recommended to view the Project there as it is more nicely presented.


Short Overview:

What is the Virtual Human?

The Virtual Human consists of:
  1. A Smart Component
  2. A Robot Controller (SAC, IRC 5)
  3. Eleven Mechanisms (including the Controller Mechanism)
  4. Different CAD Versions


What can the Virtual Human do?

  1. Positioning a Human inside of a Station 
  2. Programming a Human with RAPID
  3. Creating Simulations containing a Human


How can it be installed?

  1. Download the folder ‘Virtual Human’ from the ABB Library. Follow the instructions in the document (contained in the folder): 
‘_Virtual Human Installation.docx’


Please contact me via email or post in the RobotStudio Forum if you:

  1. run into issues with the Human
  2. found a bug for the Human
  3. created more content for the human (e.g. CAD Versions, Positions, RAPID functionality) – If you want to share it, I can embed it in the next release of the Human.
  4. have new ideas depending on this project -> please have a look at the document  
“Virtual Human Future.docx”

Email: [email protected]

Best regards,


Post edited by FlorianKnecht on


  • Cool!

    Maxim Riabichev
    PC Software Support Engineer
  • DenisFRDenisFR FRANCE ✭✭✭
    Great Work.
    For saved positions, prefer use ISO format as YYYYMMDD_HHNNSS.
    For your video, this becomes jpFingers_20200731_200902.

    In HM_Functionality_HighLevel.sys:VH_PLAN_ReferenceRotation, you wrote:
            WHILE TargetTransRot_LOCAL.n_RotDegree_Z > 180 DO TargetTransRot_LOCAL.n_RotDegree_Z:= TargetTransRot_LOCAL.n_RotDegree_Z - 360;

    Here a function I've wrote (should be integrated in RAPID  ;) ):
      ! Return modulo in range +-(pnDiv/2)
      LOCAL FUNC num NumMOD(num pnNum, num pnDiv)
        VAR num vnRes;
        VAR num vnRes2;

        vnRes:=((pnNum / pnDiv)-Trunc(pnNum / pnDiv)) * pnDiv;
        IF (vnRes < (0 - (pnDiv / 2))) vnRes2 := vnRes + pnDiv;
        IF (vnRes > (0 + (pnDiv / 2))) vnRes2 := vnRes - pnDiv;
        RETURN vnRes2;
    You then can use it in other place in code.

    In HM_Functionality_HighLevel.sys:VH_Plan_WalkToPosition
            n_WalkDistance_mm := sqrt(Pow(n_Distance_X,2)+Pow(n_Distance_Y,2)+Pow(n_Distance_Z,2));
            n_WalkDistance_mm := Distance(,);

    Did you plan to expose your code in Git repository?
    So many user can contribute in it.

    PS: Can you add in RS devs todo list this request?

  • Dear DenisFR,

    Thanks for your constructive & correct suggestions, they will be implemented.

    Saved positions, use ISO format as YYYYMMDD_HHNNSS:
    -> I will use YYYYMMDD_HHNNSS_SSS, (adding ms was already planned before, reason: avoid RAPID errors)
    Reference value inside a specific area:
    -> Thanks for this function, I will use it in my code (I will maybe rename it, & comment that it was written by you ;) ) -> Additional: In some places I will keep my method, as it is faster in most of my use cases.
    Of course, didn't know the name that's why I coded it by myself.

    Did you plan to expose your code in Git repository?
    Yes, for the whole RAPID code, I will inform when it's exposed, hopefully within the next two weeks.

    PS: Can you add in RS devs todo list this request?
    Please make your request more exact, I am pretty sure you will get help or at least an answer afterwards.  (How you imagine it should be, along of pictures and detailed descriptions - The dev Team has a lot of work, if the question is not defined exact, nobody will find the time to check what was meant)

    Best regards, Florian
Sign In or Register to comment.