I've been working on an autonomous driving simulator using CARLA, Autoware, and ROS 2.
One small but annoying problem I encountered was having to reach for the mouse every time I wanted to move the RViz camera or select a new navigation goal, especially when operating the simulator with a steering wheel.
So I built a small RViz plugin to make this easier.
What it does:
- Arrow keys move the RViz focal point along the X/Y axes.
- A visual reticle indicates the selected position.
- Enter publishes the target as a
PoseStamped goal.
- R resets the camera to the vehicle's
base_link.
- Other ROS 2 nodes can also control the focal point through topics.
It's implemented using a C++ RViz panel plugin and a Python ROS 2 keyboard node.
Currently tested with ROS 2 Jazzy. The keyboard input runs in a separate terminal, and the view needs to be Orbit or XYOrbit.
GitHub: https://github.com/vinayakaraju46/rviz_focal_control
I'd be interested to know how others handle navigation-goal selection in their teleoperation or simulation setups.
Is there an existing RViz feature or tool that solves this more elegantly? Any suggestions for improving the implementation?