You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simple path-following controller that uses PID controllers and a look-ahead reference pose to follow a planned path. It produces velocity commands (`cmd_vel`) based on the reference pose sampled at a look-ahead distance and limits linear/angular speeds and accelerations.
13
7
14
8
## Authors and Maintainers
@@ -20,47 +14,20 @@ Simple path-following controller that uses PID controllers and a look-ahead refe
| `look_ahead_dist` | `double` | `1.0` | Look-ahead distance to sample the reference pose on the path (m).
54
-
| `tolerance_dist` | `double` | `0.05` | Distance threshold to switch to pure orientation tracking (m).
55
-
| `final_goal_angle_tolerance` | `double` | `0.1` | Angular tolerance (rad) used to decide final-goal arrival.
56
-
| `k_rot` | `double` | `0.5` | Gain used to reduce linear speed based on angular velocity (higher: stronger reduction while turning).
57
-
| `linear_kp` | `double` | `0.95` | Proportional gain for the linear PID controller.
58
-
| `linear_ki` | `double` | `0.03` | Integral gain for the linear PID controller.
59
-
| `linear_kd` | `double` | `0.08` | Derivative gain for the linear PID controller.
60
-
| `angular_kp` | `double` | `1.5` | Proportional gain for the angular PID controller.
61
-
| `angular_ki` | `double` | `0.03` | Integral gain for the angular PID controller.
62
-
| `angular_kd` | `double` | `0.08` | Derivative gain for the angular PID controller.
63
-
=======
64
31
65
32
All parameters are declared under the plugin namespace, i.e., `/<node_fqn>/easynav_simple_controller/SimpleController/...`.
66
33
@@ -83,30 +50,10 @@ All parameters are declared under the plugin namespace, i.e., `/<node_fqn>/easyn
83
50
|`angular_kp`|`double`|`1.5`| Proportional gain for the angular PID controller. |
84
51
|`angular_ki`|`double`|`0.03`| Integral gain for the angular PID controller. |
85
52
|`angular_kd`|`double`|`0.08`| Derivative gain for the angular PID controller. |
86
-
>>>>>>> juanscelyg/rolling
87
53
88
54
## Interfaces (NavState, Topics and Services)
89
55
90
56
### NavState
91
-
<<<<<<< HEAD
92
-
This controller uses the shared `NavState` bag provided by the `easynav_core` framework. The following keys are used at runtime by `SimpleController`:
93
-
94
-
| Key | Type | Access | Notes |
95
-
|---|---|---|---|
96
-
| `robot_pose` | `nav_msgs::msg::Odometry` | **Read** | Current robot odometry used to compute the robot pose and yaw.
97
-
| `path` | `nav_msgs::msg::Path` | **Read** | Planned path to follow. The controller samples a reference pose at `look_ahead_dist` along this path.
98
-
| `cmd_vel` | `geometry_msgs::msg::TwistStamped` | **Write** | Output velocity command. Header.frame_id is set to `path.header.frame_id` when available and stamp to the controller node clock.
99
-
100
-
### Topics / Services
101
-
The controller itself does not create ROS publishers/subscribers or service servers. It interacts via the `NavState` abstraction; how `NavState` is exposed (topics or other IPC mechanisms) depends on the integrating node.
102
-
103
-
104
-
## TF Frames
105
-
This controller reads pose from `nav_msgs/Odometry` (NavState key `robot_pose`). TF is not directly used in this plugin.
106
-
107
-
## License
108
-
GPL-3.0-only
109
-
=======
110
57
111
58
This controller uses the shared `NavState` bag provided by the `easynav_core` framework. The following keys are used at runtime by `SimpleController`:
112
59
@@ -127,4 +74,3 @@ This controller reads pose from `nav_msgs/Odometry` (NavState key `robot_pose`).
0 commit comments