-
Notifications
You must be signed in to change notification settings - Fork 76
Robot Arm Attachment
This page examines the following:
- Joystick controller.
- Robot arm.
- Attaching the arm to the UUV.
- Run the simulation to manipulate the arm
We start with a Logictech F310 Gamepad controller. It has 6 analog inputs and about 10 buttons. We map inputs to control joints on the UUV's arm.
The joystick plugs in using USB and is available at /dev/input/js0
. In typing ls -l /dev/input/js0
, we see that we might need to widen permissions by typing sudo chmod a+rw /dev/input/jsX
.
From http://wiki.ros.org/joy/Tutorials/ConfiguringALinuxJoystick:
- Start roscore
- Somewhere type
rosparam set joy_node/dev "/dev/input/js0"
. - Start joysick node:
rosrun joy joy_node
. Maybe disregard "force feedback" error. - Start rostopic:
rostopic echo joy
. - Move joystick controls to see parameters change.
We use the joy
ROS joystick driver (https://docs.ros.org/api/joy/html/) joy_node
node which provides message "Joy" which carries all joystick data. Joy tutorials: http://wiki.ros.org/joy/Tutorials. The first tutorial to obtain joy
messages. The second tutorial consumes joy
messages to produce twist
messages.
We need a 6 DOF manipulator.
https://github.com/NiryoRobotics/niryo_one_ros
Not available for Melodic. Here are references.
- Katana driver: https://wiki.ros.org/katana_driver
-
katana_driver
Wiki: https://wiki.ros.org/katana_driver - A tutorial: https://community.arm.com/developer/research/b/articles/posts/do-you-want-to-build-a-robot
The uuv_manipulator repository contains several arms designed for use with uuv_simulator. These include oberon4 and oberon7. They have very little documentation but oberon7 seems to have at least 6 degrees of freedom. oberon4 may also.
It is trivial to get these attached to the rexrov system:
1 . Install uuv_simulator.
2 . Change into the src directory of the uuv_simulator workspace and clone the uuv_manipulator repository:
git clone https://github.com/uuvsimulator/uuv_manipulators.git
3 . Build your catkin workspace
cd ~/catkin_ws
catkin_make # or <catkin build>, if you are using catkin_tools
4 . Start uuv_simulator:
roslaunch uuv_gazebo_worlds ocean_waves.launch
5 . In a separate window, spawn a system with the oberon4 arm attached:
roslaunch uuv_descriptions upload_rexrov_oberon4.launch mode:=default x:=0 y:=0 z:=-20 namespace:=rexrov
or the oberon7 arm
roslaunch uuv_descriptions upload_rexrov_oberon7.launch mode:=default x:=0 y:=0 z:=-20 namespace:=rexrov
or both
roslaunch uuv_descriptions upload_rexrov_oberon_arms.launch mode:=default x:=0 y:=0 z:=-20 namespace:=rexrov
TODO: Not sure how to do this yet.