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 extension
How 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 RViz
How to control fenrir (simulated on Gazebo) using trajectory control from moveit!
$ roslaunch fenrir_gazebo fenrir_gazebo_bringup.launch # Launch Moveit and RViz
After installing the library in your ROS workspace, run:
$ roslaunch fenrir driver.launch
$ roslaunch fenrir simulator.launch
This will initialize both the driver for the servos as well as the state publisher and RVIZ for visualization
$ roslaunch fenrir initialize.launch
Run the example python code below
rosrun fenrir publish_joints.py
Or 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.