Coder Social home page Coder Social logo

svenzvarobotics / svenzva_ros Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 8.0 24.67 MB

The ROS drivers for the svenzva arm product line.

Home Page: https://www.svenzva.com

License: BSD 3-Clause "New" or "Revised" License

CMake 1.87% Python 77.08% C++ 20.60% Shell 0.45%
robotics robot arm manipulator manipulator-robotics ros

svenzva_ros's Introduction

Svenzva Robotics ROS drivers

This is the active repository for the Svenzva Robotics robotic product line ROS software. The svenzva_ros package holds all thats needed to get up and running with ROS, including drivers, description files, simulation files and interactive utilities.

Disclaimer

This software is supplied "AS IS" without any warranties and support. Svenzva Robotics LLC assumes no responsibility or liability for the use of the software. Svenzva Robotics LLC reserves the right to make changes in the software without notification.

Notes on robot starting position

The Revel must be powered on in a particular orientation to correctly initialize the robot's motors. Generally the robot should be upright, but for the revolute joints (Joint 1, Joint 4, Joint 6) you must also consider the direction of the cable.

Here are reference photos of the Revel robot lined up to be powered on.

Revel start position

Revel start position, joint 6

Revel start position, joints 4 & 5

Note the cord direction for the indicated joints 1a, 1b and 1c.

Prior to powering on the robot, move each joint to match that of the reference photo. Each joint should be started within ~40 degrees of the position indicated.

Failure to follow this step can cause the robot to crash into itself or the environment.

Prerequisites

Our testing platform is ROS Indigo with 14.04 and ROS Kinetic 16.04. You must have either of these installed or have access to a system with ROS installed to use this ROS package. You can find out more about installing ROS here. The following instructions assume you have a catkin workspace setup and have configured your environment (Section 3) to source that workspace.

Installing

These instructions will get you a copy of the ROS package and its dependencies on your local machine.

Clone the repository into the src folder of your workspace:

git clone https://github.com/SvenzvaRobotics/svenzva_ros.git

cd into the root of your workspace

cd ~/WORKSPACE_NAME

and use wstool to grab github source dependencies:

wstool init src PATH_TO_ROSINSTALL_FILE.rosinstall

where the rosinstall file desired is the dependencies.rosinstall file in the root of the svenzva_ros package.

Finally, use rosdep to resolve dependencies specified in package descriptors:

rosdep install --from-paths ./ --ignore-src --rosdistro=$ROS_DISTRO -y

Next, install any python dependencies:

pip install yamlordereddictloader

Finally, compile your workspace

cd ~/WORKSPACE_NAME && catkin_make

After successfully compiling, you may need to source your .bashrc file before running the svenzva_ros stack for the first time IF your .bashrc is configured to source the workspace

source ~/.bashrc

Deployment

To bringup the ROS driver, bringup the main launch file:

roslaunch svenzva_drivers svenzva_bringup.launch

For additional detail on the bringing up the system, please check the Github Wiki.

How to Use

Once the main launch file has been brought up, a number of robot features are exposed via ROS. We explore these in detail in the Github Wiki pages and own support documents.

License

This project, unless specified otherwise, is licensed under the BSD License - see the LICENSE.md file for details.

svenzva_ros's People

Contributors

maxsvetlik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

svenzva_ros's Issues

Simulation lacks finger controllers

#11 added simulation support for Gazebo and MoveIt but lacks the ros_control controllers for the fingers.

As a result, MoveIt plans always report a FAILED state, even though the rest of the arm had correctly followed the simulated trajectory.

The fingers do not hold their position in Gazebo, effecting the dynamics of the arm.

Svenza Revel Robot on ROS Melodic Ubuntu 18.04

Everything compiles but:

roslaunch svenvza_drivers svenzva_bringup.launch has this error:

obotoperator@rosbox3:~/catkin_ws$ roslaunch svenzva_drivers svenzva_bringup.launch
... logging to /home/robotoperator/.ros/log/bc03a5b2-f2d6-11ea-a4eb-00e18ca380ef/roslaunch-rosbox3-18659.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://rosbox3:44847/

SUMMARY

PARAMETERS

  • /arm_speed_limit: 40.0
  • /collision_check_enabled: False
  • /joint_names: ['joint_1', 'join...
  • /joint_state_publisher/arm_namespace: revel
  • /joint_state_publisher/rate: 50
  • /max_motor_id: 7
  • /num_motors_present: 7
  • /revel_driver/arm_namespace: revel
  • /revel_driver/mode: user_defined
  • /revel_driver/param_file: control_params.yaml
  • /revel_driver/update_rate: 50
  • /robot_description: <?xml version="1....
  • /rosdistro: melodic
  • /rosversion: 1.14.9

NODES
/
joint_state_publisher (svenzva_drivers/joint_state_publisher.py)
revel_driver (svenzva_drivers/svenzva_driver.py)
revel_dynamic_model (svenzva_drivers/svenzva_dynamics)
rob_st_pub (robot_state_publisher/robot_state_publisher)

ROS_MASTER_URI=http://localhost:11311

process[joint_state_publisher-1]: started with pid [18674]
process[rob_st_pub-2]: started with pid [18675]
process[revel_driver-3]: started with pid [18676]
process[revel_dynamic_model-4]: started with pid [18681]
[ INFO] [1601323034.513287529]: Loading model from /home/robotoperator/catkin_ws/src/svenzva_ros/svenzva_description/robots/svenzva_arm.urdf
[ INFO] [1601323034.520345904]: Kinematic chain expects 6 joints
[INFO] [1601323034.740796]: Starting Joint State Publisher at 50Hz
[ WARN] [1601323034.998807258]: Received JointState is 1601323034.998744 seconds old.
[INFO] [1601323036.751523]: revel: Pinging motor IDs 1 through 7...
[revel_dynamic_model-4] process has died [pid 18681, exit code -11, cmd /home/robotoperator/catkin_ws/devel/lib/svenzva_drivers/svenzva_dynamics __name:=revel_dynamic_model __log:=/home/robotoperator/.ros/log/bc03a5b2-f2d6-11ea-a4eb-00e18ca380ef/revel_dynamic_model-4.log].
log file: /home/robotoperator/.ros/log/bc03a5b2-f2d6-11ea-a4eb-00e18ca380ef/revel_dynamic_model-4*.log
[ WARN] [1601323044.999232953]: Received JointState is 1601323044.999157 seconds old.
[ WARN] [1601323054.999360287]: Received JointState is 1601323054.999259 seconds old.

Any ideas?

John

Dynamic Reconfigure driver parameters reset when Revel arm mode is changed

This is a result of the internal firmware of the motors. When the arm mode is changed (e.g. from 'position control' to 'torque control') via the SetArmMode service, all arm motors have the internal mode changed.

When this happens, the motors default their values for PID, velocity and acceleration profiles, etc. So a users' custom parameters set via rqt_reconfigure will be erased and reset to the motor default for the mode.

Svenza Revel Robot on ROS Melodic Ubuntu 18.04

Max,

Something got screwed up in my ROS installation and I can no longer run the Revel robot. The revel_dynamic_model dies when running the svenzva_bringup.launch

I would like to reintall the melodic branch, but I can't find it on your github repository.

What am I missing here?

John Shovic

Kinesthetic teaching console stuck frames

The KT console has trouble returning back to main menus once an interaction has been played back or recorded.
Possible issues might include: roslogging conflicts with screen output, returning from sdtin after grabbing input from user.

Make repository public

  • Add BSD licenses to everything
  • Fix 'LINK' references in svenzva_driver and joint_trajectory_server
  • Reorganize repository: make svenzva_common?
  • Make sensible name choices for driver modules (some svenzva_, some revel_)
  • Fix all TODOs
  • Transfer to Svenzva org.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.