-
Notifications
You must be signed in to change notification settings - Fork 0
/
Anatomy
67 lines (54 loc) · 3.52 KB
/
Anatomy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
**********************************autoRallyTrackGazeboSim.launch**********************************
**************************************************************************************************
To launch the AutoRally project in simulation, the autoRallyTrackGazeboSim.launch file will be
launched:
This launch file will launch:
1. autoRallyPlatform.launch => launch robot_state_publisher.
- robot_state_publisher => Ros package, publishes vehicle's joint state to tf
2. autoRallyTrackWorld.launch => run Gazebo with a world using gazebo_ros
3. gazebo_ros (Ros package but a separate node) => spawn the vehicle
4. controller_manager (Ros package)
5. autorally_gazebo/autorally_controller.py => control the vehicle in simulation
6. autorally_core/autorally_core_manage.launch => launch nodelet
- nodelet (Ros package) => communication protocol with Ros nodes when messages
contain large data sets
7. autorally_control/joystickController.launch => launch joy (Ros package) and
joystickControl.cpp
- joy (Ros package) => interface with the joystick, publishes (/joy) the current
state of each one of the joystick's buttons and axes
- joystickControl.cpp => subscribes to /joy and publishes /joystick/chassisCommand
and /runstop
**************************************************************************************************
**********************************autoRallyTrackGazeboSim.launch**********************************
**********************************chassisCommand message type*************************************
**************************************************************************************************
Header header
string sender
float64 throttle
float64 steering
float64 frontBrake
**************************************************************************************************
**********************************chassisCommand message type*************************************
**************************************runstop message type****************************************
**************************************************************************************************
Header header
string sender
bool motionEnabled
**************************************************************************************************
**************************************runstop message type****************************************
*************************************autorally_controller.py**************************************
This controller is for simulation ONLY! To actually control the hardware, we have to use the
autorally_core package or write our own package (or modify exiting files).
**************************************************************************************************
This python script is launched individually as a node. It subscribes to /chassisCommand from
variouscommanders, including the joystickController, constantSpeedController, waypointFollower,
etc. (OCS & RC)
The the node publishes axle states, shock states, steering states of different wheels to Gazebo to
do the simulation.
This node is ONLY for simulation. It doesn't interface with any of the hardware, such as motors
and servos.
**************************************************************************************************
*************************************autorally_controller.py**************************************
TODO:
autorally_smartdriving/autorally_configuration.launch and move_base.launch
navigation stack