pure_pursuit_controller的安裝
时间: 2023-09-28 12:08:33 浏览: 53
要安装pure_pursuit_controller,可以按照以下步骤进行操作:
1. 创建一个catkin工作空间:
```
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
```
2. 下载pure_pursuit_controller到src目录下:
```
cd ~/catkin_ws/src
git clone https://github.com/epan-utbm/utbm_robocar_dataset.git
```
3. 编译工作空间:
```
cd ~/catkin_ws
catkin_make
```
4. 激活工作空间:
```
source ~/catkin_ws/devel/setup.bash
```
5. 运行pure_pursuit_controller:
```
roslaunch pure_pursuit_controller pure_pursuit_controller.launch
```
现在你就可以使用pure_pursuit_controller来进行Pure Pursuit算法的控制了。请注意,该ROS包适用于差速机器人和轮式机器人。如果你使用的是Ackermann式驱动机器人,应该选择ackermann_controller。
相关问题
解释代码:namespace control { std::unique_ptr<Controller> ControllerFactory::CreateInstance( const ControllerType& controller_type) { switch (controller_type) { case ControllerType::PURE_PURSUIT_CONTROLLER:
这段代码定义了一个名为 `control` 的命名空间,并在其中定义了一个类 `ControllerFactory`。在这个类中,有一个静态的成员函数 `CreateInstance`,这个函数接受一个 `ControllerType` 类型的参数 `controller_type`,并返回一个 `std::unique_ptr<Controller>` 类型的指针。
函数内部使用了 `switch` 语句,根据传入的 `controller_type` 参数的值,判断需要创建哪种类型的控制器。当 `controller_type` 的值为 `ControllerType::PURE_PURSUIT_CONTROLLER` 时,返回一个纯追踪控制器的实例。
需要注意的是,由于返回的是一个 `std::unique_ptr` 类型的指针,所以返回的对象是动态分配的,需要注意内存管理。
# Subscriber car_state_topic_name: /estimation/slam/state ref_path_topic_name: /planning/ref_path # Publisher ctrl_cmd_topic_name: /control/pure_pursuit/control_command predict_path_topic_name: /visual/pre_path # MPC params: weight: px: 1.5 py: 1.5 pyaw: 8 cte: 1 epsi: 4 v: 0.4 steer: 4 throttle: 10 steer_rate: 2000 throttle_rate: 10 desire_vel: 15 # Pure Pursuit params: desire_vel: 7 car_length: 1.88 look_ahead: 20 # other params: N: 40 dt: 0.04 initial_velocity: 2 mission: trackdrive # [trackdrive, skidpad, acceleration] controller: pure_pursuit # [mpc, pure_pursuit] simulation: true node_rate: 100 # [Herz]翻译这段代码
这段代码是一个ROS节点的参数配置文件,用于控制自主驾驶汽车的运动。节点订阅了名为“/estimation/slam/state”的话题以获取车辆状态信息,订阅了名为“/planning/ref_path”的话题以获取参考路径信息。节点会发布控制命令到名为“/control/pure_pursuit/control_command”的话题上,并且还会发布预测路径信息到名为“/visual/pre_path”的话题上。
此外,这个节点设置了MPC和Pure Pursuit两种控制器的参数。其中MPC控制器的权重参数px、py、pyaw、cte、epsi、v、steer、throttle、steer_rate、throttle_rate和desire_vel都被设置为具体的值。Pure Pursuit控制器的参数包括期望速度、车辆长度和前视距离。还设置了其他参数,如控制频率、任务类型、仿真开关和初始速度等。
这个节点的任务是控制自主驾驶汽车在“trackdrive”任务中运动。节点通过Pure Pursuit控制器生成控制命令,并将其发布到“/control/pure_pursuit/control_command”话题上,以实现对车辆的控制。同时,节点还会发布预测路径信息到“/visual/pre_path”话题上,以供其他节点使用。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)