-
 

Package Summary

Tags No category tags.
Version 0.1.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/pyros-dev/ros1_template.git
VCS Type git
VCS Version master
Last Updated 2017-08-31
Dev Status MAINTAINED
CI status Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Template ROS node for use with catkin_pip following good practices

Additional Links

Maintainers

  • AlexV

Authors

  • AlexV

ROS1 Template

image

This package is a template to be used as a reference when creating a new ROS1 node, based on python. We are relying on catkin_pip, to provide pip integration in catkin and make it easy to use python package in ROS source package. In this package we are following http://packaging.python.org/ as much as possible, where it makes sense. Note also that this package is python3 ready.

Following this template allows to integrate ROS and python quite closely, and can be used when undergoing a ROS -> python transition or vice-versa. See https://github.com/pyros-dev/catkin_pip for more information.

Usage from catkin

  • Create a catkin_workspace ( Ref : http://wiki.ros.org/catkin/Tutorials/create_a_workspace )
  • Add this ros1_pip_pytemplate package to the workspace (and maybe more like ros1_template and beginner_tutorials)
  • Build the workspace (Ref : http://wiki.ros.org/catkin/Tutorials/using_a_workspace
  • Source the devel workspace:

    $ source devel/setup.bash
    
  • manually run some python test:

    $ pytest tests/test_ros1_template/test_lib_module.py
    
  • run all the tests:

    $ catkin run_tests
    
  • launch some nodes (log on terminal):

    $ roslaunch ros1_template all.launch --screen
    
  • install that workspace:

    $ make install
    
  • source the install workspace:

    $ source install/setup.bash
    
  • run all the tests from the package:

    $ catkin run_tests
    
  • launch some nodes (log in files in .ros/log):

    $ roslaunch ros1_template all.launch
    

To create a ROS package from this template you should follow http://wiki.ros.org/bloom

Usage from python

  • Create a virtualenv (using virtualenvwrapper):

    $ mkvirtualenv template_venv
    
  • Make sure you are using the latest pip:

    (template_venv)$ pip install pip --upgrade
    
  • Install the package as editable:

    (template_venv)$ pip install -e .
    
  • run the tests from source:

    (template_venv)$ pytest tests/
    
  • run the tests from package:

    (template_venv)$ pytest --pyargs ros1_pip_pytemplate.tests
    

To create a pip package from this template, you should follow https://packaging.python.org/tutorials/distributing-packages

ROS Integration

This package can integrate in a ROS system, by relying on catkin (with catkin_pip) and launch files. Other launch files can launch it (including the provided launch file, or directly calling the node script) and use this node's provided ROS interface.

Note that this template can be used when porting existing pip packages to ROS. Other benefits include being able to test the whole logic in different virtual environments (testing different version of dependencies for example), before testing the behavior of its ROS interface (which can be done separately on a third-party patched release repo)

More documentation can be found at http://docs.ros.org/kinetic/api/catkin_pip/html/

CHANGELOG

Changelog for package ros1_pip_pytemplate

Forthcoming

  • fixing tests because url arguments can come in different order...
  • Merge pull request #17 from pyros-dev/pip_template Adding catkin pip template
  • adding missing ros dependencies.
  • fixing node init in tests to work for both rostest and pytest.
  • not requiring latest catkin_pip
  • tox tests passing (non-ROS)
  • python tests passing.
  • proactive node test passing
  • proactive node working.
  • fixing catkin tests
  • getting reactive node tests to pass without calling rospy.init_node
  • implemented test_cli
  • WIP reviewing cli and node script and tests
  • now unittesting logger output.
  • added version argument for cli
  • cleaning up and start setting up tox
  • dropping the python launcher idea here, lets stay close to catkin_pip style packages. They are python packages ported to ROS, and integrated in ROS systems via launch files and yaml config.
  • getting httpbin proxy ros node to work
  • WIP template copy pasted code
  • Merge branch 'master' into fix_launchers
  • Merge pull request #7 from pyros-dev/python restructuring and renaming packages
  • fixing ros1_pip_template -> ros1_pip_pytemplate
  • Merge pull request #8 from pyros-dev/python-pip adding template to use catkin_pip to get python package in catkin wor…
  • renaming pip package, fixed install, now using docker images.
  • adding template to use catkin_pip to get python package in catkin workspace.
  • Contributors: AlexV, Alexander Reimann

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

  • launch/httpbin_reactor.launch
    • Standard launch file. for more information check http://wiki.ros.org/roslaunch/XML.
      • config_override [default: $(find ros1_pip_pytemplate)/config/httpbin-override.yaml] — used by upper launchers to customize configuration
  • launch/httpbin_proactor.launch
    • Standard launch file. for more information check http://wiki.ros.org/roslaunch/XML.
      • config_override [default: $(find ros1_pip_pytemplate)/config/httpbin-override.yaml] — used by upper launchers to customize configuration

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros1_pip_pytemplate at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.1.1
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/pyros-dev/ros1_template.git
VCS Type git
VCS Version master
Last Updated 2017-08-31
Dev Status MAINTAINED
CI status Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Template ROS node for use with catkin_pip following good practices

Additional Links

Maintainers

  • AlexV

Authors

  • AlexV

ROS1 Template

image

This package is a template to be used as a reference when creating a new ROS1 node, based on python. We are relying on catkin_pip, to provide pip integration in catkin and make it easy to use python package in ROS source package. In this package we are following http://packaging.python.org/ as much as possible, where it makes sense. Note also that this package is python3 ready.

Following this template allows to integrate ROS and python quite closely, and can be used when undergoing a ROS -> python transition or vice-versa. See https://github.com/pyros-dev/catkin_pip for more information.

Usage from catkin

  • Create a catkin_workspace ( Ref : http://wiki.ros.org/catkin/Tutorials/create_a_workspace )
  • Add this ros1_pip_pytemplate package to the workspace (and maybe more like ros1_template and beginner_tutorials)
  • Build the workspace (Ref : http://wiki.ros.org/catkin/Tutorials/using_a_workspace
  • Source the devel workspace:

    $ source devel/setup.bash
    
  • manually run some python test:

    $ pytest tests/test_ros1_template/test_lib_module.py
    
  • run all the tests:

    $ catkin run_tests
    
  • launch some nodes (log on terminal):

    $ roslaunch ros1_template all.launch --screen
    
  • install that workspace:

    $ make install
    
  • source the install workspace:

    $ source install/setup.bash
    
  • run all the tests from the package:

    $ catkin run_tests
    
  • launch some nodes (log in files in .ros/log):

    $ roslaunch ros1_template all.launch
    

To create a ROS package from this template you should follow http://wiki.ros.org/bloom

Usage from python

  • Create a virtualenv (using virtualenvwrapper):

    $ mkvirtualenv template_venv
    
  • Make sure you are using the latest pip:

    (template_venv)$ pip install pip --upgrade
    
  • Install the package as editable:

    (template_venv)$ pip install -e .
    
  • run the tests from source:

    (template_venv)$ pytest tests/
    
  • run the tests from package:

    (template_venv)$ pytest --pyargs ros1_pip_pytemplate.tests
    

To create a pip package from this template, you should follow https://packaging.python.org/tutorials/distributing-packages

ROS Integration

This package can integrate in a ROS system, by relying on catkin (with catkin_pip) and launch files. Other launch files can launch it (including the provided launch file, or directly calling the node script) and use this node's provided ROS interface.

Note that this template can be used when porting existing pip packages to ROS. Other benefits include being able to test the whole logic in different virtual environments (testing different version of dependencies for example), before testing the behavior of its ROS interface (which can be done separately on a third-party patched release repo)

More documentation can be found at http://docs.ros.org/kinetic/api/catkin_pip/html/

CHANGELOG

Changelog for package ros1_pip_pytemplate

Forthcoming

  • fixing tests because url arguments can come in different order...
  • Merge pull request #17 from pyros-dev/pip_template Adding catkin pip template
  • adding missing ros dependencies.
  • fixing node init in tests to work for both rostest and pytest.
  • not requiring latest catkin_pip
  • tox tests passing (non-ROS)
  • python tests passing.
  • proactive node test passing
  • proactive node working.
  • fixing catkin tests
  • getting reactive node tests to pass without calling rospy.init_node
  • implemented test_cli
  • WIP reviewing cli and node script and tests
  • now unittesting logger output.
  • added version argument for cli
  • cleaning up and start setting up tox
  • dropping the python launcher idea here, lets stay close to catkin_pip style packages. They are python packages ported to ROS, and integrated in ROS systems via launch files and yaml config.
  • getting httpbin proxy ros node to work
  • WIP template copy pasted code
  • Merge branch 'master' into fix_launchers
  • Merge pull request #7 from pyros-dev/python restructuring and renaming packages
  • fixing ros1_pip_template -> ros1_pip_pytemplate
  • Merge pull request #8 from pyros-dev/python-pip adding template to use catkin_pip to get python package in catkin wor…
  • renaming pip package, fixed install, now using docker images.
  • adding template to use catkin_pip to get python package in catkin workspace.
  • Contributors: AlexV, Alexander Reimann

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

  • launch/httpbin_reactor.launch
    • Standard launch file. for more information check http://wiki.ros.org/roslaunch/XML.
      • config_override [default: $(find ros1_pip_pytemplate)/config/httpbin-override.yaml] — used by upper launchers to customize configuration
  • launch/httpbin_proactor.launch
    • Standard launch file. for more information check http://wiki.ros.org/roslaunch/XML.
      • config_override [default: $(find ros1_pip_pytemplate)/config/httpbin-override.yaml] — used by upper launchers to customize configuration

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ros1_pip_pytemplate at Robotics Stack Exchange