f1tenth-dev / simulator

ROS & Gazebo F1/10 Autonomous Racecar Simulator
Apache License 2.0
77 stars 32 forks source link

Keyboard Teleop doesn't work #10

Closed diogolopes18-cyber closed 4 years ago

diogolopes18-cyber commented 4 years ago

When I try to run the script keyboard_teleop.py in order to enable the W-A-S-D keys to control the functioning of the vehicle, it doesn't receive any keyboard input. I was running simultaneously the roslaunch f1tenth-sim multi-TEB.launch and the only thing I can control is the 2D Nav Goal in Rviz. Do you have any idea how to fix it? The data from LIDAR is received as if the cars are stopped, even if I press the keyboard control movement W-A-S-D.

varundevsukhil commented 4 years ago

To manually control the racecar, you must set the keyboard_control flag included in simulator.launch. The TEB launch command will bring up the navigation stack and assign priority to autonomous control, so the manual teleop commands will be rejected. Follow the instructions in this section in the wiki.

diogolopes18-cyber commented 4 years ago

But even when I launch the roslaunch f1tenth-sim multi-TEB-launch there is no visible moving of the cars in the Gazebo environment.

diogolopes18-cyber commented 4 years ago

I've tried once again to run the following roslaunch:

roslaunch f1tenth-sim simulator.launch run_gazebo:=true keyboard_control:=true

But the car doesn't move at all, and I don't get any change in the values published on /car_1/base/odom topic when I click W-A-S-D

varundevsukhil commented 4 years ago

Is the terminal from where the launch command was issued the active window? The racecar will not receive commands from the keyboard if the terminal does not record keystrokes.

diogolopes18-cyber commented 4 years ago

Yes, I was trying to input the keys from the same terminal from where I've launched the roslaunch command terminal

diogolopes18-cyber commented 4 years ago

I've tried to enter the keys here.

diogolopes18-cyber commented 4 years ago

@varundevsukhil I've tried to run the roslaunch in one terminal and the keyboard_teleop.py in another terminal and still the car in the Gazebo environment doesn't move at all, and I don't get any change in linear position on the X axis.

varundevsukhil commented 4 years ago

I haven't faced this issue and I am not able to replicate it. Can you try whatever you are doing and post the output of rqt_graph here?

diogolopes18-cyber commented 4 years ago

Sure, I'll post the rqt_graph right here.

diogolopes18-cyber commented 4 years ago

github_issue

varundevsukhil commented 4 years ago

I see that the controller_manager nodes are missing. Did you install the dependancies as described in the wiki?

diogolopes18-cyber commented 4 years ago

I thought I had installed it. But is it on the tutorial page?

varundevsukhil commented 4 years ago

Try this: sudo apt-get install -y ros-melodic-navigation ros-melodic-teb-local-planner* ros-melodic-ros-control ros-melodic-ros-controllers ros-melodic-gazebo-ros-control ros-melodic-ackermann-msgs ros-melodic-serial qt4-default

diogolopes18-cyber commented 4 years ago

Those packages were already installed, and I've tried again to run the rosrun f1tenth-sim keyboard_teleop.py in order to control the car, and it doesn't move.

varundevsukhil commented 4 years ago

I do not understand why you are running the keyboard_teleop.py, that node is launched by setting the keyboard_control:=true in the launch command. The controller manager is missing from the rqt_graph, so that package is either not installed or not launching properly.

The only other issues I can think of are the environment not sourced, but just to be sure can you post the output of the terminal from where the launch command is issued and another terminal output for rostopic list.

I would like to see everything in the terminal from when you issue the launch command, and also a screenshot of the Gazebo GUI.

If nothing else works, I can provide you with a link to a docker image that you can run online.

diogolopes18-cyber commented 4 years ago

GUI rostopic roslaunch_output

varundevsukhil commented 4 years ago

For pic. 1, read this section on first time setup to install the virtual race track.

The terminal says the controller_manager ROS interface is missing; this is usually fixed by installing the specific Gazebo ROS contol meta-package:

$ sudo apt-get install -y ros-melodic-controller-manager ros-melodic-joint-state-controller ros-melodic-effort-controllers ros-melodic-position-controllers
f1tenth-dev commented 4 years ago

Stale issue. Closed!

diogolopes18-cyber commented 4 years ago

@varundevsukhil I still haven't been able to use the keyboard teleop, it still gives me the same error, and I have already install the controller_manager package:

"[WARN] [1586891692.510636, 0.000000]: Controller Spawner couldn't find the expected controller_manager ROS interface."