Skip to content

Robot Arm Attachment

M1chaelM edited this page Oct 30, 2019 · 11 revisions

This page examines the following:

  • Joystick controller.
  • Robot arm.
  • Attaching the arm to the UUV.
  • Run the simulation to manipulate the arm

Joystick Controller

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.

Robot Arm

We need a 6 DOF manipulator.

niryo_one_ros

https://github.com/NiryoRobotics/niryo_one_ros

Katana (not available)

Not available for Melodic. Here are references.

uuv_manipulator

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

Controlling oberon4 and oberon7 with a gamepad:

TODO: Not sure how to do this yet.

Clone this wiki locally