No announcement yet.

How to get access to all Robotino Factory data (map, positions, current location,...)

  • Time
  • Show
Clear All
new posts

  • How to get access to all Robotino Factory data (map, positions, current location,...)


    For a project, we want the Robotino to follow a path in a loop in a hallway while avoiding people. I can get access to all sensors of the robot and command velocities without any problem and in different ways. I wrote a collision avoidance algorithm in Matlab which avoids people and obstacles in a very robust way. The only thing I still need is to let the robot follow a loop path continuously.
    For this, I need access to the map and all the positions of the factory. I tried to make a loop program in Robotino View, by using the 'go to position' function, which works perfectly, the robot executes the loop without a problem. But when I run my collision avoidance algorithm in parallel, this does not work, the commands of the Robotino view are stronger than those of my algorithm. I also tried to just use Robotino View to follow a path of custom points which are not defined in the factory, but as the functions only use odometry, this is far from accurate.
    So I need to find a way to get access to these positions defined in the Robotino Factory and to the current position of the robot.
    This is in my opinion not possible with Matlab or ROS drivers, except if I write my own SLAM and AMCL algorithms of course.
    So now I am asking for a way to solve this problem. I also took a look at the Smartsoft programming as this runs on the Robotino itself, but the tutorials are not complete. There is a part in which different Jason commands are explained which can be used to send and receive data to and from the Robotino Factory and the Robotino itself. But there is no explanation on how to use them. If I could run a script in which I call the positions of the path and the current position of the robot, then I can write an algorithm to go to the sequential goals with a velocity which is not stronger than my collision avoidance velocities.
    I hope someone can help me with this. The other option is to just locate the robot myself and make a map by myself.
    Thanks in advance.


  • #2
    you made a point. And can implement some GET commands in Robotino's REST API.

    So you need:
    1. Current position corrected by SLAM
    2. List of positions defined on the map
    Something else?



    • #3

      Yes, actually it would be very interesting if I could get the messages from the MES system to the fleet manager also. I don't think there is any api for that.
      So that I can receive tasks which the MES system wants to be done from the Robotino fleet. Then I can try writing a custom Fleet Manager to improve the task assignment for a larger fleet of AGVs.
      Everything is written in this Smartsoft software, but I am not very used to that. On the wiki page there are a lot JSON commands which can be used to command to the robot for docking and driving to positions. But there is no explanation on how to implement them.

      Kind regards,


      • #4
        In API2 you have the class Factory4.
        smartlocationsEvent gives you the positions defined in Robotino Factory. You get a json encoded bytearray.
        smartrobotinfoEvent gives you besides other things the localization of the robot.
        mapEvent gives you the map


        • #5
          And to get the messages from MES?


          • #6
            Your MES sends strings to the fleetcom interface, correct? These messages are send to Robotino. If you need these messages too, than let your MES send them to Robotino and to your program. You would need to listen on a TCP socket in order to receive something.


            • #7
              Okay thank you very much!


              • #8
                we need the factorydata for our project, too. We want to get the data via api2 but recive only empty datasets. We testet the smartlocationevents, but we donĀ“t know the correct calls for the events in c++.