Home

Awesome

<a href="https://107-systems.org/"><img align="right" src="https://raw.githubusercontent.com/107-systems/.github/main/logo/107-systems.png" width="15%"></a> :floppy_disk: l3xz_teleop

Build Status Spell Check status

Teleoperation for L3X-Z via PS3 joystick and ROS topics.

<p align="center"> <a href="https://github.com/107-systems/l3xz"><img src="https://raw.githubusercontent.com/107-systems/.github/main/logo/l3xz-logo-memento-mori-github.png" width="40%"></a> </p>

How-to-build

Note: Don't forget to install the dependencies.

cd $COLCON_WS/src
git clone https://github.com/107-systems/l3xz_teleop
cd $COLCON_WS
source /opt/ros/humble/setup.bash
colcon build --packages-select l3xz_teleop

How-to-run

cd $COLCON_WS
. install/setup.bash
ros2 launch l3xz_teleop teleop.py

Check the content of the published message via:

ros2 topic list
/* ... */
ros2 topic echo /l3xz/cmd_vel_robot

Interface Documentation

Subscribed Topics
Default nameType
/l3xz/joysensor_msgs/Joy
Published Topics
Default nameType
/l3xz/cmd_vel_robotgeometry_msgs/Twist
/l3xz/cmd_vel_headgeometry_msgs/Twist
/l3xz/cmd_robot/req_upstd_msgs/Bool
/l3xz/cmd_robot/req_downstd_msgs/Bool
Parameters
NameDefaultDescription
joy_topicjoyName of topic from where we are subscribing joystick messages.
joy_topic_deadline_ms100Deadline in milliseconds within which a new joystick message is expected.
joy_topic_liveliness_lease_duration1000The time within which the RMW node or publisher must show that it is alive.
robot_topiccmd_vel_robotName of topic for controlling L3X-Z forward/angular speed (linear.x/, angular.z).
robot_topic_publish_period_ms100Publishing period for robot messages in milliseconds (ms).
head_topiccmd_vel_headName of topic for controlling L3X-Z sensor head (angular.y/, angular.z) in degree per second (dps).
head_topic_publish_period_ms50Publishing period for head messages in milliseconds (ms).
head_topic_deadline_ms100Deadline in milliseconds within which a new head message should be published.
head_topic_liveliness_lease_duration1000The time within which the RMW node or publisher must show that it is alive.
robot_req_up_topiccmd_robot/req_upName of topic for requesting L3X-Z to stand up.
robot_req_up_topic_publish_period_ms250Publishing period for stand up request messages in milliseconds (ms).
robot_req_down_topiccmd_robot/req_downName of topic for requesting L3X-Z to sit down.
robot_req_down_topic_publish_period_ms250Publishing period for sit down request messages in milliseconds (ms).
pan_max_dps10.0°Maximum target angular velocity for pan servo of the L3X-Z sensor head.
tilt_max_dps10.0°Maximum target angular velocity for tilt servo of the L3X-Z sensor head.

Install dependencies

git clone https://github.com/gsl-lite/gsl-lite && cd gsl-lite
mkdir build && cd build
cmake .. && make -j8
sudo make install
git clone https://github.com/catchorg/Catch2 && cd Catch2
mkdir build && cd build
cmake .. && make -j8
sudo make install
git clone https://github.com/fmtlib/fmt && cd fmt
mkdir build && cd build
cmake -DFMT_TEST=OFF ..
make -j8
sudo make install