A ROS-compatible Robotic Arm using Dynamixels Servo Motors.
We make available all the necessary 3D parts and libraries for communicating with the arm using a ROS interface.
- ROS Kinect
- Dynamixel SDK
- Moveit
- Using git (or download the zip file) clone this repository into the "source code" folder of your ROS workspace (e.g. ~/catkin_ws/src ).
$ cd ~/catkin_ws/src
$ git clone https://github.com/verlab/Fenrir-Arm.git- Fixing package dependencies:
$ cd ~/catkin_ws
$ rosstack profile && rospack profile
$ rosdep install --from-paths src/Fenrir-Arm --ignore-src -r -y- Compile your ROS workspace directory (e.g. ~/catkin-ws ):
$ cd ~/catkin_ws
$ catkin_make # or catkin build
$ source devel/setup.bash # Set the appropriate bash extensionHow to control fenrir (real-robot) using trajectory control from moveit!
$ roslaunch fenrir_controller dynamixel_controller.launch # Launch driver and interface controllers
$ roslaunch fenrir_gazebo fenrir_moveit_real.launch # Launch Moveit and RVizHow to control fenrir (simulated on Gazebo) using trajectory control from moveit!
$ roslaunch fenrir_gazebo fenrir_gazebo_bringup.launch # Launch Moveit and RVizAfter installing the library in your ROS workspace, run:
$ roslaunch fenrir driver.launch$ roslaunch fenrir simulator.launchThis will initialize both the driver for the servos as well as the state publisher and RVIZ for visualization
$ roslaunch fenrir initialize.launchRun the example python code below
rosrun fenrir publish_joints.pyOr with an inline message publish
rostopic pub -r 1 /fenrir/joint_commands/ sensor_msgs/JointState '{name: [Base, Shoulder, Elbow, Wrist, Gripper], position: [0.5, 0.5, 0.5, 0.5, 0.0], velocity: [], effort: []}'The full 3D assembly of the arm can be downloaded here.
Construction of the arm requires purchase of the components listed at mechanical components.