14 L. Manring et al. Fig. 2.1 The transmitting/reception layout connecting the Hololens to the SIA5D robot Fig. 2.2 A diagram of the ROS nodes and topics used in this application 2.3.2 System Layout and ROS The framework of our system can be best understood after a brief discussion of how ROS works. ROS provides a useful framework for communicating with the robot using categories called nodes, topics, publishers, and subscribers. Nodes represent any entity involved in the robot’s operation; examples include sensors, processors, and motors. Topics are entities that act as channels to pass information between nodes. Publishers are a type of node that publish information to topics, and subscribers are nodes that subscribe to topics. For node A to pass information to another node B, it must publish that information to a topic, and node B must subscribe to that topic. One particularly useful feature of ROS is that it is simple to go from simulation of the robot in RViz (a visualization library in ROS) to actual control of the physical robot. The system implemented in this paper is laid out in Fig. 2.2, where the blue ovals denote topics and the red rectangles indicate nodes in ROS. In Fig. 2.2, the Hololens node publishes desired robotic arm position information to the two robot control topics: manual and automatic depending on whether the user chooses to use manual or automatic mode. Auto_planner and manual_planner each subscribe to the automatic and manual topics, respectively. These nodes calculate and publish a motion plan to the motionPlan_trajectory topic. The simulink_torques node subscribes to the motionPlan_trajectory node and calculates a prediction for the torque exerted on the robot based on the motion plan in the motionPlan_trajectory topic. The torque calculations are then combined with the motion plan information and published to the Torque topic. The Hololens node uses the information stored in the Torque topic to preview motion plans and torque values graphically with holograms. Then the user has the option of allowing the robot to execute the plan. Pressing the “Execute” button in the user interface sends a message over the execute topic, as well as the robot’s current joint states over the automatic topic; the Hololens receives the information via the websocket connection and moves the robot according to the joint states specified. The simulink_torques node is an implementation of the Robotics System Toolbox (RST) from Mathworks that calculates the inverse dynamics (particularly joint torques) based on the motion plan. The Hololens node subscribes to the simulink_torques topic so that the user can gain additional information about the expected loadings on the robot manipulator.
RkJQdWJsaXNoZXIy MTMzNzEzMQ==