__init__.py | |
CAN_compatibility_arm.cpp | |
CAN_compatibility_arm.hpp | This compatibility interface is a wrapper around the new CAN Hand ROS driver. It is used to present the same interface as the CAN hand |
CAN_compatibility_arm_node.cpp | Contains the main for the EtherCAT wrapper. We start the publishers / subscribers in this node. They all share the same CANCompatibilityArm object, this way the subscriber can update the hand properties, while the publishers publish up to date data. The diagnostics and the other publisher are started in two different threads, to allow them to be published at different frequencies |
etherCAT_compatibility_hand.cpp | |
etherCAT_compatibility_hand.hpp | This compatibility interface is a wrapper around the new etherCAT Hand ROS driver. It is used to present the same interface as the CAN hand |
etherCAT_compatibility_hand_node.cpp | Contains the main for the EtherCAT wrapper. We start the publishers / subscribers in this node. They all share the same EtherCATCompatibilityHand object, this way the subscriber can update the hand properties, while the publishers publish up to date data. The diagnostics and the other publisher are started in two different threads, to allow them to be published at different frequencies |
Grasp.py | |
grasps_interpoler.py | |
grasps_parser.py | |
hand_commander.cpp | This is a library that offers a simple interface to send commands to hand joints. It is compatible with the Shadow Robot CAN hand and ethercat hand. It allows the user not worry about the name of the currently running controllers. Only position control is allowed (targets must represent angles) |
hand_commander.hpp | This is a library that offers a simple interface to send commands to hand joints. It is compatible with the Shadow Robot CAN hand and ethercat hand. It allows the user not worry about the name of the currently running controllers. Only position control is allowed (targets must represent angles) |
hand_commander_test.cpp | |
real_arm.cpp | The real arm can be used as a simulator. It modelizes the Shadow Robot muscle arm |
real_arm.h | The real arm is a ROS interface to Shadow Robot muscle arm |
real_arm_node.cpp | Contains the main for the real arm. We start the publishers / subscribers in this node. They all share the same RealArm object, this way the subscriber can update the arm properties, while the publishers publish up to date data. The diagnostics and the other publisher are started in two different threads, to allow them to be published at different frequencies |
real_shadowhand.cpp | |
real_shadowhand.h | The real shadowhand is the ROS interface to Shadow Robot robotic hand |
real_shadowhand_node.cpp | Contains the main for the real Shadow Dextrous Hand. We start the publishers / subscribers in this node. They all share the same RealShadowhand object, this way the subscriber can update the hand properties, while the publishers publish up to date data. The diagnostics and the other publisher are started in two different threads, to allow them to be published at different frequencies |
setup.py | |
shadowhand_commander.py | |
shadowhand_ros.py | |
sr_articulated_robot.cpp | |
sr_articulated_robot.h | This is a parent class for the different types of Shadowhand we can have. It makes it possible to swap from a virtual to a real hand while using the same utilities to interact with the hand. One (or more) ROS subscriber and publisher can then share the same instance of a Shadowhand object to update the information contained in this object |
sr_diagnosticer.cpp | The goal of this ROS publisher is to publish relevant data concerning the hand at a regular time interval. Those data are (not exhaustive): positions, targets, temperatures, currents, forces, error flags, .. |
sr_diagnosticer.h | The Diagnosticer is a ROS publisher which publishes diagnostic data regarding the Dextrous Hand or the Shadow Robot Arm, on the \/diagnostics topic. The diagnostics can be viewed using the robot_monitor package |
sr_publisher.cpp | The goal of this ROS publisher is to publish relevant data concerning the hand at a regular time interval. Those data are (not exhaustive): positions, targets, temperatures, currents, forces, error flags, .. |
sr_publisher.h | This class reads and publishes data concerning the shadowhand / shadowarm. To publish those data, just call the publish() function |
sr_subscriber.cpp | The role of this ROS subscriber is to receive commands messages (sent by a publisher) and pass them to the hand after translating them to the correct format |
sr_subscriber.h | This ROS subscriber is used to issue commands to the hand / arm, from sending a set of targets, to changing the controller parameters |
tactile_receiver.py | |
valves.cpp | This is a ROS Interface used to directly access the valves on Shadow Robot's muscle robots |
valves.h | This is a ROS Interface used to directly access the valves on Shadow Robot's muscle robots |
valves_node.cpp | |
virtual_arm.cpp | The virtual arm can be used as a simulator. It modelizes the Shadow Robot muscle arm |
virtual_arm.h | The virtual arm can be used as a simulator. It modelizes the Shadow Robot muscle arm |
virtual_arm_node.cpp | Contains the main for the virtual arm. We start the publishers / subscribers in this node. They all share the same VirtualArm object, this way the subscriber can update the arm properties, while the publishers publish up to date data. The diagnostics and the other publisher are started in two different threads, to allow them to be published at different frequencies |
virtual_shadowhand.cpp | |
virtual_shadowhand.h | The Virtual Shadowhand can be used as a simulator. As both the real hand and the virtual hand are children from the shadowhand class, using a virtual or a real hand doesn't change anything in the way you call them in your programs |
virtual_shadowhand_library.cpp | |
virtual_shadowhand_library.h | |
virtual_shadowhand_node.cpp | Contains the main for the virtual hand. We start the publishers / subscribers in this node. They all share the same VirtualHand object, this way the subscriber can update the hand properties, while the publishers publish up to date data. The diagnostics and the other publisher are started in two different threads, to allow them to be published at different frequencies |