Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxmsun/joey
Joey: Customizable ROS Joystick Driver for Differential-Drive Robots
https://github.com/maxmsun/joey
differential-drive differential-drive-robot joystick joystick-control robot robot-control robotics ros ros-driver ros-melodic ros-noetic
Last synced: about 1 month ago
JSON representation
Joey: Customizable ROS Joystick Driver for Differential-Drive Robots
- Host: GitHub
- URL: https://github.com/maxmsun/joey
- Owner: MaxMSun
- License: gpl-3.0
- Created: 2021-08-25T22:01:51.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-26T02:16:35.000Z (over 3 years ago)
- Last Synced: 2024-12-17T18:46:52.463Z (about 1 month ago)
- Topics: differential-drive, differential-drive-robot, joystick, joystick-control, robot, robot-control, robotics, ros, ros-driver, ros-melodic, ros-noetic
- Language: C++
- Homepage:
- Size: 18.6 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Joey: Customizable ROS Joystick Driver for Differential-Drive Robots
Joey is a highly-customizable ROS joystick driver designed for differential-drive robots. Users are able to customize axis and buttons for linear/angular velocity, linear/angular boost(acceleration) and safety(shutdown) mode.
## Install
### Dependencies
`Joey` depends on ROS default joystick driver, you can install it via `sudo apt install ros--joy`.
### Clone and compile
~~~
cd /src
git clone https://github.com/MuchenSun/Joey.git
cd ..
catkin build
~~~## Usage
The `Joey_node` ROS node will subscribe to a joystick topic (with `sensor_msgs::Joy` message) from the `joy_node` node in the `joy` package (installation step above), and publish a velocity command in the format of `geometry_msgs::Twist` on the specified topic.
There are two example launch files named "sony\_dualshock3.launch" and "logitech\_f310.launch" specified for two common joystick models. They are a good start for customizing your own joystick driver.
### Parameters
- joy\_topic: Joystick topic to subscribe to.
- cmd\_topic: Control topic to publish to.
- max\_lin\_vel: Maximum linear velocity allowed.
- max\_ang\_vel: Maximum angular velocity allowed.
- lin\_boost\_ratio: When not boosted, the maximum achievable linear velocity would be (max\_lin\_vel)x(lin\_boost\_ratio), the true maximum velocity could only be achieved with full boost.
- ang\_boost\_ratio: When not boosted, the maximum achievable angular velocity would be (max\_ang\_vel)x(ang\_boost\_ratio), the true maximum velocity could only be achieved with full boost.
- fractional\_boost: Whether the joystick supports (for example, whether the L1/2 and R1/2 buttons support fractional input).
- lin\_vel\_axis: Joystick axis for linear velocity control.
- lin\_boost\_axis: Joystick axis for linear boost control.
- ang\_vel\_axis: Joystick axis for angular velocity control.
- ang\_boost\_axis: Joystick axis for angular boost control.
- shutdown\_axis: Joystick axis for enabling "shutdown" mode, in which all other inputs will be ignored and the driver will publish zero-velocity command.
- recover\_axis: Joystick axis for recovering from "shutdown" mode.## License
This project is licensed under GPLv3. For any question, feel free to contact Muchen Sun ([email protected]).