按照官方的安装顺序就行了。但先看4.1,再安装
- Clone
autowarefoundation/autoware
and move to the directory.
git clone https://github.com/Unmanned-Systems-Lab/autoware_for_scout_v1.0.git
cd autoware
这里使用了稍早的版本进行部署,确保该版本不会被官方更新,而且已经移殖到github仓库里了。
Jetson Orin在Nvidia的官网上找不到对应版本的、arm64的、jetsib AGX的、这些组件的安装包。要使用对应功能需要在内部进行更改。
clang-format==${pre_...}$换成clang-format==17.0.5
过慢的时候去官网下载对应的安装包
20.04 Galactic版本 参考该文档
同时安装这个setuptools:
pip install setuptools==58.2.0
需要使用该版本。
Note下这几个先不管。
按照官网步骤做就行了。这一段结束后就结束了。
安装时要确认全部都拉取了,要注意有没有红色的报错内容。否则再拉取一次。
遇到报错参考20.04 Galactic版本
修改nebula_decoders这个文件夹里的CMakeLists
include_directories 里直接加入文件绝对路径(/opt/ros/humble/include)
修改multi_object_tracker里的CMakeLists.
include_directories 里直接加入文件绝对路径(/opt/ros/humble/include)
根据该方法安装功能包,并写一份PACP.cmake放入对应文件夹
现在下载下来的东西基本都调好了。
根据Tutorials的教程,下载官方地图进行运动仿真。各种操作在官方的Tutorials中已经写好了
-
ros2launch中对应的车辆和传感器模型改为:
vehicle_model:=scout_vehicle sensor_model:=scout_sensor_kit
-
修改对应位置的controllor_mode: 由mpc改为pure_pursuit
-
在planning_simulator.launch.xml文件中,要把地图名字更改成官方资源包的地图名称:
src/launcher/autoware_launch_for_scout/autoware_launch/launch/planning_simulator.launch.xml
把<!--Map-->下面这一行的default 的值改为官方地图的名称。
然后
source install/setup.bash
ros2launch 对应文件,通过官方教程进行学习。
ros2 launch autoware_launch autoware.launch.xml map_path:=$HOME/autoware_map_test vehicle_model:=scout_vehicle sensor_model:=scout_sensor_kit lateral_controller_mode:=pure_pursuit
需要下载对应地图,百度云网盘。下载后解压在HOME里。
同上,需要更改对应位置的地图名称。
小车线路连接。连接好后作出如下更改。
当前版本由于Nvidia烧录的内核没有包含usb_CAN的东西,故采用外接,使用RX TX的端口 进行CAN通讯。 编写使用的脚本:(根据需求修改这些参数)
sudo vim /home/[你的用户名]/CAN_scripts/CAN.sh
#你也可以使用gedit
脚本的内容:
#!/bin/bash
sudo busybox devmem 0x0c303000 32 0x0000C400
sudo busybox devmem 0x0c303008 32 0x0000C458
sudo busybox devmem 0x0c303010 32 0x0000C400
sudo busybox devmem 0x0c303018 32 0x0000C458
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set down can0
sudo ip link set can0 type can bitrate 500000
sudo ip link set up can0
编辑并保存后设置权限:
sudo chmod +x /home/[你的用户名]/CAN_scripts/CAN.sh
使用systemd服务
sudo vim /etc/systemd/system/CAN.service
#也可以使用gedit
在文档中编辑
[Unit]
Description=CAN service
[Service]
ExecStart=/home/[你的用户名]/CAN_scripts/CAN.sh
[Install]
WantedBy=multi-user.target
保存并关闭该文件,然后启动该服务并将其设置为开机自启:
sudo systemctl daemon-reload
sudo systemctl start CAN.service
sudo systemctl enable CAN.service
如果要检查状态:
sudo systemctl status CAN.service
如果要停止服务:
sudo systemctl stop CAN.service
sudo systemctl disable CAN.service
使用candump can0 检查通讯连接是否建立
部分参数设置会导致小车无法生成对应轨迹,或者小车移动卡顿。
红色勾勒的4个参数需要作出更改
第一组参数:delay compensation = 0.5, kp=2.0,ki=0.3,kd=0.1.
第二组参数:
出现 XXX is unhealty时,如果XXX只是某个单一模块,始终无法找到问题所在,可以先删除掉对应的检查,先尝试运行小车。
用VSCODE在autoware_for_scout_v1.0下搜索 “unhealty" 并删除在前面的某一个对应的XXX(会检查map localization control planning 等七个模块)
cd autoware_for_scout_v1.0
source install/setup.bash
ros2 launch scout22autoware_interface interface_scout.launch.py
#在launch文件里设置了pure_pursuit后不需要再在末尾加上 lateral_controller_mode:=pure_pursuit
ros2 launch autoware_launch autoware.launch.xml map_path:=$HOME/autoware_map_test vehicle_model:=scout_vehicle sensor_model:=scout_sensor_kit