Code Monkey home page Code Monkey logo

ros_hal_tests's Introduction

This code is intended as a minimal proof-of-concept for pushing ROS trajectoies
into HAL where they can be used to move motors.  There is intentionally very
little in the way of error checking or safety, to make the code both easier to
write and easier to understand.

It is assumed that ROS will be properly planning trajectories with appropriate
acceleration and velocity limits.  It is, however, fairly easy to get ROS to
generate discontinuous with large discontinuities.  If you plan to drive any
physical motors, it is recommended you use limit/limit2 comps to filter the
positions streamed from this HAL component.  You have been warned!

Minimal documentation:

Compile this project via ros:
catkin_make

Launch a ROS configuration that generates /joint_path_command messages
I used the Example 3.5 RViz:
http://aeswiki.datasys.swri.edu/rositraining/indigo/Exercises/3.5

Start the realtime environment and launch the HAL RT Ring:
realtime start
halcmd -f joint_stream.hal

Optional: Launch halscope to monitor joint states:
halscope -i ros.halscope &

Launch the python listener code:
rosrun listener listener.py

Optional: Launch halscope to monitor joint states:
halscope -i ros.halscope &

Send a trajectory path:
  Move the robot arm in RViz
  Click "Plan"
  Click "Execute"
  A message with the trajectory is sent
  Python listener pushes values into the ring buffer
  Real-time side does something with the data

ToDo:
x Integrate path filtering as per uniform_sample_filter:
-   Use orocos KDL (python bindings?)
+   Used simple linear interpolation, similar to industrial_robot_simulator
  Make code more intelligent, perhaps like:
    industrial_robot_simulator:
      https://github.com/ros-industrial/industrial_core/blob/indigo-devel/industrial_robot_simulator/industrial_robot_simulator#L361-L380
    joint_trajectory_streamer:
      https://github.com/ros-industrial/industrial_core/blob/indigo-devel/industrial_robot_client/src/joint_trajectory_streamer.cpp
  Integrate into ros_control?
    http://wiki.ros.org/ros_control#Overview

ros_hal_tests's People

Contributors

cdsteinkuehler avatar

Watchers

James Cloos avatar Bas de Bruijn avatar

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.