A ROS based set of nodes to controll a rebotic hand with a infrared distance sensor.
https://github.com/svanschooten/Grijper
Grijper is a package containing nodes that are used to control a motorised robotic hand, henceforth called the 'gripper'.
This is done by reading and evaluating a sensor and it's values using the phidget in the phidget_reader node. These are compared to set threshold values to decide if the gripper should be opened or closed. This is done in the controller. Commands are then sent to the actuator which controlls the motor powering the gripper. This actuator node then publishes the motor state.
This state is picked up by an rviz node that visualises and controls the gripper model in rviz. The state is given as a float between 0.0 and 1.0. 0.0 indicating the gripper is completely open and 1.0 indicates the gripper has been closed. Another rviz node listens to the phidget sensor values and visualises a cyllinder mimicking the position of the oject relative to the gripper.
The Grijper package can also be built by launching the Grijper.launch file. It will encapsule the console in the current console, enabling control but hiding all reduntant information from the other nodes.
Description of what this script/file does.
$ roslaunch Grijper Grijper.launch
Because of the independent and standardised setup of this package, Grijper only consists of communicating nodes that can run independently (though having almost to no functionality without their proper messages).
List of nodes:
gripper_console makes the system controllable by the user through console input and output.
$ rosrun Grijper gripper_console [standard ROS args]
Publishes to:
gripper_controller listens to the phidget and console, thus deciding and controlling the system. Published commands to the actuator.
$ rosrun Grijper gripper_controller [standard ROS args]
Publishes to:
Subscribes to:
gripper_actuator listens to the controller and sends commands to the threemxl to acutuate the gripper and then publishes the state of the gripper
$ rosrun Grijper gripper_actuator [standard ROS args]
Publishes to:
Subscribes to:
phidget_reader reads the raw value of the sensor and calculates the distance to the object out of this value
$ rosrun Grijper phidget_reader [standard ROS args]
Publishes to:
Subscribes to:
rviz_gripper does publishes the state of the joints of the gripper to rviz
$ rosrun Grijper rviz_gripper [standard ROS args]
Publishes to:
Subscribes to:
rviz_object listens to the distance of an object and sends a marker message to rviz to show an object at the measured distance
$ rosrun Grijper rviz_object [standard ROS args]
Publishes to:
Subscribes to: