ubuntu20.04安装Carla并配置罗技G29方向盘使用

环境:ubuntu20.04+anaconda+python3.7+ros2 foxy+Logitech g29

一、安装Carla
github地址:
https://github.com/carla-simulator/carla
安装文档:
https://carla.readthedocs.io/en/0.9.13/
安装的版本:0.9.13

主要步骤:

1.1 将0.9.13版本的Carla安装包下载到本地并解压CARLA_0.9.13.tar.gz

cd ~/project
mkdir Carla
cd Carla
tar -zxvf CARLA_0.9.13.tar.gz

1.2 测试是否能正常启动

cd CARLA_0.9.13
./CarlaUE4.sh

有画面弹出说明启动正常
ubuntu20.04安装Carla并配置罗技G29方向盘使用_第1张图片

1.3 安装anaconda创建并配置Carla虚拟环境
anaconda的安装这里不做介绍,请自行安装

source activate
conda create -n Carla python=3.7
conda activate Carla
进入Carla虚拟环境后安装所需要得包
pip install --user pygame numpy
pip3 install --user pygame numpy

安装和使用 CARLA 客户端库:3种方式(可看文档)
这里使用其中一种:用whl文件方式

cd ~/project/Carla/CARLA_0.9.13/PythonAPI/carla/dist/
pip3 install carla-0.9.13-cp37-cp37m-manylinux_2_27_x86_64.whl

尝试一些示例脚本来在城市中产生生命并驾驶汽车:

cd ~/project/Carla/CARLA_0.9.13/PythonAPI/examples
python3 -m pip install -r requirements.txt

1.4 测试示例:都是在Carla虚拟conda环境下进行的

terminal1:
python3 generate_traffic.py
terminal2:
python3 manual_control.py 


结果如上所示

1.5 命令行选项
启动 CARLA 时有一些可用的配置选项,它们可以按如下方式使用:

./CarlaUE4.sh -carla-rpc-port=3000
  • -carla-rpc-port=N在端口监听客户端连接N。流媒体端口默认设置为N+1
  • -carla-streaming-port=N指定传感器数据流的端口。使用 0 获取随机未使用的端口。第二个端口将自动设置为N+1。
  • -quality-level={Low,Epic}更改图形质量级别。在渲染选项中了解更多信息。
  • 虚幻引擎 4 命令行参数列表。虚幻引擎提供了很多选项,但 CARLA 中并非所有选项都可用。
  • 该脚本PythonAPI/util/config.py提供了更多配置选项,应该在服务器启动时运行:
./config.py --no-rendering                # Disable rendering
./config.py --map Town05                  # Change map
./config.py --weather ClearNoon           # Change weather
./config.py --help        # Check all the available configuration options

二、连接罗技方向盘Logitech G29

2.1安装jstest-gtk
jstest-gtk是一个基于Gtk +的简单操纵杆测试和配置工具。它为您提供了一个附加的操纵杆列表,一种显示按下按钮和轴的方法,一种重新映射轴和按钮的方法以及一种校准操纵杆的方法。jstest-gtk主要是一个图形界面,用于检查你的操纵杆和打击垫是否工作正常。您可以在每个轴上找到精确信息,您可以选择重新校准它并且可以改变映射。将罗技方向盘连接至电脑主机。
使用下方命令安装jstest-gtk。

sudo apt-get update
sudo apt-get install jstest-gtk

启动

jstest-gtk

ubuntu20.04安装Carla并配置罗技G29方向盘使用_第2张图片
出现上图则说明连接成功,并且检测到罗技方向盘设备了:/dev/input/js0。然后点击Properties进入参数页面,如下图所示。
ubuntu20.04安装Carla并配置罗技G29方向盘使用_第3张图片
转动方向盘和踩刹车换挡等应该会有Axis和Buttons会有所变换,就可以了。

2.2测试G29在Carla中是否能用

  • 创建配置文件wheel_config.ini
cd ~/project/Carla/CARLA_0.9.13/PythonAPI/examples
touch wheel_config.ini
gedit wheel_config.ini

将下方内容粘贴进去,内容中数值时由jstest-gtk中的设置填入的。

[G29 Racing Wheel]
steering_wheel = 0
clutch = 1
throttle = 2
brake = 3
handbrake = 4
reverse = 15

注:
最上方[G29 Racing Wheel]不可少且不能变否则后面绘报错误No section: 'G29 Racing Wheel'
steering_wheel=0 方向盘Axis数值
clutch = 1 离合器Axis数值
throttle = 2 油门Axis数值
brake = 3 刹车Axis数值
handbrake = 4 手刹Axis数值
reverse = 15 倒车Button数值

  • 启动测试程序(在Carla虚拟环境中)
terminal1:
cd ~/project/Carla/CARLA_0.9.13
./CarlaUE4.sh -carla-server

terminal2:
cd ~/project/Carla/CARLA_0.9.13/PythonAPI/examples
python manual_control_steeringwheel.py --host <服务器地址>

如果是本机运行则可不加服务器地址参数。

显示如上所示,此时可以用方向盘控制车子了。控制车子的面板左边,显示的是当前客户端、服务器的fps,以及油门,刹车,方向盘,倒挡,手刹的各项信息,我们需要根据其显示的限度来调整自己的方向盘驾驶车辆。但是在操作过程中发现方向盘没有力反馈。

参考连接:https://blog.csdn.net/weixin_44677876/article/details/89103999

三、Ubuntu环境下实现罗技G29方向盘力回馈

ros1的力反馈支持包:
https://github.com/kuriatsu/ros-g29-force-feedback/tree/ros1
ros2的力反馈支持包:
https://github.com/JLBicho/ros-g29-force-feedback/tree/ros2-foxy

选择需要装的ros包,进行安装编译。注意这个不在虚拟环境中安装,退出虚拟环境进行安装编译所需要的包。编译完成后如果node文件启动不了,启动launch文件也行。启动launch文件后,再去Carla模拟驾驶就有力反馈了。

参考连接:
https://www.cnblogs.com/henkenen/p/15723421.html
https://github.com/kuriatsu/ros-g29-force-feedback/tree/ros1
https://github.com/JLBicho/ros-g29-force-feedback/tree/ros2-foxy

注意事项:
错误1:no moudle lark 要 pip安装lark-parser才行,安装lark没有用

你可能感兴趣的:(python,pygame,开发语言)