No version for distro humble showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro jazzy showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro kilted showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro rolling showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro ardent showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro bouncy showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro crystal showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro eloquent showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro dashing showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro galactic showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro foxy showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro iron showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

No version for distro lunar showing jade. Known supported distros are highlighted in the buttons above.

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange

Package Summary

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

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/jsk_control.git
VCS Type git
VCS Version master
Last Updated 2024-12-09
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

jsk_teleop_joy

Additional Links

Maintainers

  • Ryohei Ueda

Authors

  • Ryohei Ueda

jsk_teleop_joy package

Introduction

This package provides physical UI for teleoperatoin such as joy sticks, game controllers and MIDI instruments.

Supported game controllers

This package supports following game controllers:

  1. XBox360 controller
  2. PS3 Controller (Bluetooth)
  3. PS3 Controller (USB)

In order to use PS3 controller via Bluetooth, see this instruction.

Architecture of jsk_teleop_joy

jsk_teleop_joy (the main script is joy_main.py) is based on plugin architecture.

ROS packages provides the plugins for jsk_teleop_joy and each plugin represents a function such as “specify 6D pose of the end effector”.

You can enable some plugins and choose which plugin you want to use by “Pushing Select Button”.

jsk_teleop_joy plugins out of box

  • VerboseStatus
  • JoyPose6D
  • JoyFootstep
  • JoyFootstepPlanner
  • JoyFootstepPlannerDemo
  • JoyMoveIt
  • JoyGoPos

How to implement a plugin

  1. write xml file to define plugins.
  2. Export the xml file from your ROS package using manifest.xml or package.xml.
  3. implement plugin

Write xml file to define plugins

jsk_teleop_joy reads the plugin definition from a xml file like plugin.xml.

That xml should be like:

<library>
  <class name="Foo" type="your_package.foo">
  </class>
</library>

The xml file should have <library> tag at the top level. And you can define plugins by <class> tag.

  • name attribute means the name of the plugin. You will choose plugins by this name in your launch files (example).
  • type attribute means the python class of the plugin. jsk_teleop_joy tries to instantiate plugin class using thie type name.

Export the xml file from your ROS package

You need to export that xml file using <export> tag and <jsk_teleop_joy> tag in your manifest.xml or package.xml.

These two files, manifest.xml, package.xml, are good examples.

Implement a plugin

Finally, you can implement a jsk_teleop_joy plugin.

VerboseStatus Plugin is a good example how to implement a plugin.

__init__ method

All the plugins are required to inherits jsk_teleop_joy.joy_plugin.JSKJoyPlugin and call JSKJoyPlugin.__init__ in its __init__ constructor.

class VerboseStatus(jsk_teleop_joy.joy_plugin.JSKJoyPlugin):
  def __init__(self):
    jsk_teleop_joy.joy_plugin.JSKJoyPlugin.__init__(self, 'VerbosePlugin')

joyCB method

Each time jsk_teleop_joy receives /joy message, it calls joyCB method of the active plugin.

  def joyCB(self, status, history):
    rospy.loginfo('analog left (%f, %f)' % (status.left_analog_x, status.left_analog_y))

The 2nd argument of joyCB is an instance of JoyStatus. JoyStatus is one of XboxStatus, PS3Status and PS3WiredStatus. This means the latest message from /joy. These 3 classes provide the same interface and you don’t need to care about which controller the user uses.

On the other hand, the 3rd argument of joyCB (history), is a sequence of JoyStatus. it’s an instance of

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package jsk_teleop_joy

0.1.18 (2024-12-09)

  • [jsk_teleop_joy] support midi launchpad X (#789)
  • [jsk_teleop_joy] python3-pygame is required on noetic (#787)
  • Contributors: Shun Hasegawa, Yoshiki Obinata

0.1.17 (2023-05-28)

0.1.16 (2022-10-27)

  • fix for python3 (#776)
  • add from __future_ import print_function (#773)
  • [README.md] delete pip instruction and recommend apt version only (#760)
  • fix for python3 (#763)
    • 2to3 -w -fexcept .
    • 2to3 -w -fprint .
    • update readme
    • Update jsk_teleop_joy/README.md
  • Add ipega controller support (#716)
    • Fixed a key setting mistake. Add controller_type ipega as a possible input for joy_status
    • Add ipega controller support
  • Contributors: Shingo Kitagawa, Iki Yo, Kei Okada, Yoichiro Kawamura

0.1.15 (2018-05-16)

  • Merge pull request #693 from k-okada/fix_apt_slow remove unused build_depends
  • remove unused build_depends
  • Contributors: Kei Okada

0.1.14 (2018-01-15)

0.1.13 (2017-04-18)

  • [jsk_footstep_planner, jsk_teleop_joy] add stack mode to footstep_marker
  • [jsk_teleop_joy] Remove / from default frame_id in pose6d plugin
  • [jsk_teleop_joy] update view control in rviz using teleop_joy
  • Contributors: Yohei Kakiuchi

0.1.12 (2017-02-22)

0.1.11 (2017-02-09)

0.1.10 (2016-12-15)

  • [jsk_teleop_joy] package.xml : add pygame run depend (#657)
  • Add toggle footstep marker mode joy interface (#607)
    • src/jsk_teleop_joy/plugin/joy_footstep_marker.py: Add joy interface to toggle planning mode
  • Add plugin to send cmd_vel from joystick contorller (#600)
    • [jsk_teleop_joy] src/jsk_teleop_joy/joy.py : Add plugin_package option to JoyManager to use joy plugins in other packages
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add orthogonal_axis_mode, which does not allow diagonal movement
    • [jsk_teleop_joy] src/jsk_teleop_joy/plugin/joy_cmd_vel.py : Add plugin to send cmd_vel from joystick contorller
  • Add utility tools for jaxon footstep planner (#598)
    • [jsk_footstep_planner] launch/joy_footstep_marker.launch : Add joy_footstep_marker launch, which control footstep_marker from joystick controller
  • Project odom_init to detected floor (#579)
    • [jsk_teleop_joy] Check result of service call by exception handling
    • [jsk_teleop_joy] Display OverlayMenu before execute footstep
    • [jsk_teleop_joy] sync pre_pose in joy_footstep_marker only at first of the pose update sequence
    • [jsk_teleop_joy] Add marker_name arg to getCurrentMarkerPose and initialize marker by initial_footstep_marker in reset process
    • [jsk_teleop_joy] Add footstep marker synchonization to joy_footstep_marker
    • [jsk_teleop_joy] Add joycontroller interface plugin for footstep_marker
  • Contributors: Kanae Kochigami, Iory Kumagai

0.1.9 (2016-03-23)

File truncated at 100 lines see the full file

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.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged jsk_teleop_joy at Robotics Stack Exchange