TODO: Edit to fit teleop package
The robotone_teleop_twist is a ROS2 package that provides Joystick state. It enables users to interact with the robot using an Xbox controller for operation and testing. This package runs only on Linux system.
Key features include:
- Create Teleop Node
- Subscribes to a Joystick message (sensor_msgs/msg/joy)
- Publishes a twist message ()
- Configurable joystick interface
- Topic Monitoring
Ensure the following dependencies are installed:
- ROS2 (Humble or above)
- Python 3
- TODO: How can we run the node with generic ros2 node?
-
Clone the repository into your ROS2 workspace:
cd ~/ros2_ws/src git clone https://github.com/fra1alv/robotone_teleop.git
-
Build the workspace:
cd ~/ros2_ws colcon build source install/setup.bash
-
Verify the installation by listing available ROS2 packages:
ros2 pkg list | grep robotone_teleop_twist
FIXME Fix the questions marks
The robotone_teleop_twist package uses a configuration file to setup ????? then publishes it twist meassage. The default configuration file is located at config/teleop_config.yaml.
You can customize the parameters by editing this file:
robotone_teleop_node:
ros__parameters:
topic_name: /robotone_cmd_vel
subscription_name: /robotone_joystick
debug: false
has_enable_button: True
enable_button: 2
enable_high_speed_button: 0
publish_stamped_twist: True
frame_name: "robotone_teleop_node"
linear_axis: # Left thumb stick vertical
x: 1
linear_scale:
x: 0.7
linear_high_speed_scale:
x: 1.5
angular_axis: # Left thumb stick horizontal
yaw: 0
angular_scale:
yaw: 0.4
angular_high_speed_scale:
yaw: 0.8
- Launch the Teleop node:
ros2 launch robotone_teleop joystick_teleop_launch.py
- Verify the node list
Note: you must to find the node robotone_teleop_node
ros2 node list
- List topics published by a node:
ros2 node info /robotone_teleop_node
- Listen to the topic
Note: Topic name can be set on the config file
ros2 topic echo /robotone_teleop
robotone_teleop/
├── config/ # Configuration files
│ └── teleop_config.yaml
├── include/ # header files
│ └── robotone_teleop/
│ └── robotone_teleop_twist.hpp/
├── launch/ # Launch files
│ └── robotone_teleop_launch.py
├── src/ #Source code
│ └── robotone_teleop_node.hpp
│ └── robotone_teleop,cpp
├── CMakeLists.txt
├── LICENSE
├── package.xml # ROS2 package manifest
└── README.md
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the GPLv3 License.
For support or questions, feel free to reach out:
- Email: alonsofra1alv@gmail.com
- GitHub: Fra1alv