Skip to content

Commit aaef24f

Browse files
committed
add lab4
1 parent a871b2b commit aaef24f

20 files changed

+1421
-1
lines changed

ROS_Core/src/Labs/Lab4/CMakeLists.txt

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
cmake_minimum_required(VERSION 3.0.2)
2+
project(racecar_learning)
3+
4+
5+
## Find catkin macros and libraries
6+
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
7+
## is used, also find other catkin packages
8+
find_package(catkin REQUIRED COMPONENTS
9+
dynamic_reconfigure
10+
rospy
11+
std_msgs
12+
nav_msgs
13+
racecar_msgs
14+
)
15+
16+
# Uncomment this if the package has a setup.py. This macro ensures
17+
# modules and global scripts declared therein get installed
18+
# See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
19+
# catkin_python_setup()
20+
21+
################################################
22+
## Declare ROS messages, services and actions ##
23+
################################################
24+
25+
## To declare and build messages, services or actions from within this
26+
## package, follow these steps:
27+
## * Let MSG_DEP_SET be the set of packages whose message types you use in
28+
## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
29+
## * In the file package.xml:
30+
## * add a build_depend tag for "message_generation"
31+
## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET
32+
## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
33+
## but can be declared for certainty nonetheless:
34+
## * add a exec_depend tag for "message_runtime"
35+
## * In this file (CMakeLists.txt):
36+
## * add "message_generation" and every package in MSG_DEP_SET to
37+
## find_package(catkin REQUIRED COMPONENTS ...)
38+
## * add "message_runtime" and every package in MSG_DEP_SET to
39+
## catkin_package(CATKIN_DEPENDS ...)
40+
## * uncomment the add_*_files sections below as needed
41+
## and list every .msg/.srv/.action file to be processed
42+
## * uncomment the generate_messages entry below
43+
## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
44+
45+
## Generate messages in the 'msg' folder
46+
# add_message_files(
47+
# FILES
48+
# Message1.msg
49+
# Message2.msg
50+
# )
51+
52+
## Generate services in the 'srv' folder
53+
# add_service_files(
54+
# FILES
55+
# Service1.srv
56+
# Service2.srv
57+
# )
58+
59+
## Generate actions in the 'action' folder
60+
# add_action_files(
61+
# FILES
62+
# Action1.action
63+
# Action2.action
64+
# )
65+
66+
## Generate added messages and services with any dependencies listed here
67+
# generate_messages(
68+
# DEPENDENCIES
69+
# std_msgs # Or other packages containing msgs
70+
# )
71+
72+
################################################
73+
## Declare ROS dynamic reconfigure parameters ##
74+
################################################
75+
76+
## To declare and build dynamic reconfigure parameters within this
77+
## package, follow these steps:
78+
## * In the file package.xml:
79+
## * add a build_depend and a exec_depend tag for "dynamic_reconfigure"
80+
## * In this file (CMakeLists.txt):
81+
## * add "dynamic_reconfigure" to
82+
## find_package(catkin REQUIRED COMPONENTS ...)
83+
## * uncomment the "generate_dynamic_reconfigure_options" section below
84+
## and list every .cfg file to be processed
85+
86+
## Generate dynamic reconfigure parameters in the 'cfg' folder
87+
generate_dynamic_reconfigure_options(
88+
cfg/controller.cfg
89+
)
90+
91+
92+
###################################
93+
## catkin specific configuration ##
94+
###################################
95+
## The catkin_package macro generates cmake config files for your package
96+
## Declare things to be passed to dependent projects
97+
## INCLUDE_DIRS: uncomment this if your package contains header files
98+
## LIBRARIES: libraries you create in this project that dependent projects also need
99+
## CATKIN_DEPENDS: catkin_packages dependent projects also need
100+
## DEPENDS: system dependencies of this project that dependent projects also need
101+
catkin_package(
102+
CATKIN_DEPENDS
103+
rospy
104+
std_msgs
105+
racecar_msgs
106+
nav_msgs
107+
dynamic_reconfigure
108+
)
109+
110+
#############
111+
## Install ##
112+
#############
113+
114+
# all install targets should use catkin DESTINATION variables
115+
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
116+
117+
## Mark executable scripts (Python etc.) for installation
118+
## in contrast to setup.py, you can choose the destination
119+
install(PROGRAMS
120+
scripts/imitation_learning_node.py
121+
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
122+
)
123+

ROS_Core/src/Labs/Lab4/README.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

ROS_Core/src/Labs/Lab4/asset/loop.png

60.9 KB
Loading
150 KB
Loading
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/usr/bin/env python
2+
PACKAGE = "racecar_learning"
3+
4+
from dynamic_reconfigure.parameter_generator_catkin import *
5+
6+
gen = ParameterGenerator()
7+
8+
gen.add("latency", double_t, 0, "Latency compensation for control", 0.2, -1, 1)
9+
gen.add("ref_speed", double_t, 0, "Reference speed for control", 1, 0, 1.5)
10+
11+
exit(gen.generate("racecar_learning", "racecar_learning", "controller"))
163 KB
Binary file not shown.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<launch>
2+
<arg name="output" default="screen" doc="display output to screen or log file"/>
3+
<arg name="odom_topic" default="/SLAM/Pose" doc="ROS topic for the pose"/>
4+
<arg name="control_topic" default="/Control" doc="ROS topic for control input"/>
5+
<arg name="path_topic" default="/Routing/Path" doc="ROS topic for reference path"/>
6+
<arg name='model_path' default="" doc='path to the model file'/>
7+
<arg name='lr' default="0.01" doc='learning rate'/>
8+
9+
10+
<node pkg="racecar_learning" type="learning_node.py" name="imitation_learning" output="$(arg output)">
11+
<param name="odom_topic" value="$(arg odom_topic)" />
12+
<param name="control_topic" value="$(arg control_topic)" />
13+
<param name="path_topic" value="$(arg path_topic)" />
14+
<param name="package_path" value="$(find racecar_learning)" />
15+
<param name="simulation" value="False" />
16+
<param name="PWM_model" value="$(find racecar_learning)/models/pwm.sav" />
17+
<param name="model_path" value="$(arg model_path)" />
18+
<param name="lr" value="$(arg lr)" />
19+
</node>
20+
21+
</launch>
79.6 KB
Binary file not shown.

ROS_Core/src/Labs/Lab4/models/pwm.sav

70.1 KB
Binary file not shown.

ROS_Core/src/Labs/Lab4/package.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0"?>
2+
<package format="2">
3+
<name>racecar_learning</name>
4+
<version>0.1.0</version>
5+
<description>The traj_tracking_ros package</description>
6+
7+
<maintainer email="[email protected]">Zixu Zhang</maintainer>
8+
<license>BSD</license>
9+
10+
<author >Zixu Zhang</author>
11+
12+
13+
<buildtool_depend>catkin</buildtool_depend>
14+
15+
<depend>rospy</depend>
16+
<depend>std_msgs</depend>
17+
<depend>racecar_msgs</depend>
18+
<depend>dynamic_reconfigure</depend>
19+
<depend>nav_msgs</depend>
20+
</package>

0 commit comments

Comments
 (0)