Skip to content

Commit 16f95b4

Browse files
committed
1st commit. Based on original ilias_ws. 1)Code added in callbacks in phase_space nodes and other cepheus nodes ,in order to calculate latency in communication. 2)Round Robin scheduling policy is set to base planner and controller. 3)Asyncronous spinners added in order to let threads handle callbacks. 4)Independent callback queue added in base_controller devoted to phase_space callbacks. --The latency of the wifi-network is measured with ping at 5ms. --Future work: only the last phase_space message will be held from controller in order to avoid the reading of past frames held in the queue.
0 parents  commit 16f95b4

File tree

371 files changed

+825561
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

371 files changed

+825561
-0
lines changed

.catkin_workspace

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# This file currently only serves to mark the location of a catkin workspace for tool integration

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
build/
2+
devel/

DM35820_driver_load.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
#
3+
# Script to load RTD DM35820 encoder and IO card drivers module
4+
#
5+
# Ilias Patsiaouras
6+
# Mo 3 Nov 2015
7+
#
8+
#
9+
#
10+
11+
printf "\033[1;34m \nDM35820 IO card drivers loading script started\033[0m\n"
12+
make -C $(rospack find cepheus_robot)/DM7820*/driver
13+
make -C $(rospack find cepheus_robot)/DM7820*/driver unload
14+
make -C $(rospack find cepheus_robot)/DM7820*/driver load
15+
printf "\033[1;34m DM35820 IO card drivers loading script ended\033[0m\n\n"

cmd.sh

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
sudo apt-get update
2+
sudo apt-get upgrade
3+
sudo apt autoremove
4+
sudo apt-get dist-upgrade
5+
cd Downloads/t4uh_drivers/
6+
cd rtl8812AU_8821AU_linux/
7+
sudo make clean
8+
sudo make
9+
sudo make install
10+
sudo modprobe -a rtl8812au
11+
cd
12+
cd catkin_ws/
13+
source devel/setup.bash
14+
sudo cp $(rospack find cepheus_robot)/DM7820_Linux_*/driver/rtd-dm7820.ko /lib/modules/$(uname -r)/kernel/drivers/
15+
sudo depmod
16+
cd
17+
ls
18+
cd catkin_ws/
19+
ls
20+
source devel/setup.bash
21+
ls /lib/modules/$(uname -r)/kernel/drivers/
22+
echo 'rtd_dm7820.ko' | sudo tee -a /etc/modules
23+
sudo depmod
24+
cd src/cepheus_robot/DM7820_Linux_v03.00.00/
25+
ls
26+
cd driver/
27+
ls
28+
make unload
29+
make clean
30+
sudo make unload
31+
sudo make clean
32+
sudo make
33+
sudo make load
34+
ls
35+
cd ..
36+
ls
37+
cd lib/
38+
ls
39+
make clean
40+
make all
41+
sudo make clean
42+
sudo make all
43+
cd
44+
cd catkin_ws/src/cepheus_robot/DM7820_Linux_v03.00.00/
45+
ls
46+
cd driver/
47+
ls
48+
sudo make unload
49+
sudo make clean
50+
sudo make
51+
sudo make load
52+
sudo make unload
53+
sudo make clean
54+
sudo make
55+
sudo make load
56+
cd ../lib/
57+
sudo make clean
58+
sudo make
59+
cd
60+
su
61+
reset
62+
cd catkin_ws/
63+
ls
64+
source devel/setup.bash
65+
ls
66+
cd src/
67+
ls
68+
cd cepheus_robot
69+
cd DM7820_Linux_v03.00.00/
70+
ls
71+
cd driver/
72+
ls
73+
sudo make unload
74+
sudo make clean
75+
sudo make
76+
sudo make load
77+
sudo make unload
78+
sudo make load
79+
sudo cp rtd-dm7820.ko /lib/modules/$(uname -r)/kernel/drivers/
80+
echo 'rtd_dm7820' | sudo tee -a /etc/modules
81+
sudo depmod
82+
cd ../lib/
83+
sudo make clean
84+
sudo make
85+
sudo vim /etc/modules

commands

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
roslaunch cepheus_robot launch_cepheus_robot.launch 2>&1 | tee log.txt
2+
grep -i "error" log.txt | wc -l > nerr.txt
3+
roslaunch cepheus_robot launch_cepheus_robot.launch 2>/dev/pts/18

run.sh

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
handle() {
4+
kill -2 "$child"
5+
}
6+
7+
trap "handle" SIGINT
8+
9+
echo "" > stdout.log
10+
echo "" > stderr.log
11+
12+
echo "Running trap handler..."
13+
./trap.sh &
14+
child=$!
15+
16+
echo "Running roslaunch..."
17+
18+
$1 $2 $3 > \
19+
>(tee -a stdout.log) 2> \
20+
>(tee -a stderr.log >/dev/null)
21+
22+
echo "Waiting for child..."
23+
wait "$child"

src/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/opt/ros/kinetic/share/catkin/cmake/toplevel.cmake

src/DM35820_driver_load.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
#
3+
# Script to load RTD DM35820 encoder and IO card drivers module
4+
#
5+
# Ilias Patsiaouras
6+
# Mo 3 Nov 2015
7+
#
8+
#
9+
#
10+
11+
printf "\033[1;34m \nDM35820 IO card drivers loading script started\033[0m\n"
12+
make -C $(rospack find cepheus_robot)/DM7820*/driver
13+
make -C $(rospack find cepheus_robot)/DM7820*/driver unload
14+
make -C $(rospack find cepheus_robot)/DM7820*/driver load
15+
printf "\033[1;34m DM35820 IO card drivers loading script ended\033[0m\n\n"

src/assist_space_robot/CMakeLists.txt

+189
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
cmake_minimum_required(VERSION 2.8.3)
2+
project(assist_robot)
3+
4+
## Find catkin macros and libraries
5+
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
6+
## is used, also find other catkin packages
7+
find_package(catkin REQUIRED COMPONENTS
8+
roscpp
9+
std_msgs
10+
nav_msgs
11+
geometry_msgs
12+
sensor_msgs
13+
rospy
14+
urdf
15+
tf
16+
control_msgs
17+
trajectory_msgs
18+
kdl_parser
19+
)
20+
21+
## System dependencies are found with CMake's conventions
22+
# find_package(Boost REQUIRED COMPONENTS system)
23+
24+
25+
## Uncomment this if the package has a setup.py. This macro ensures
26+
## modules and global scripts declared therein get installed
27+
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
28+
# catkin_python_setup()
29+
30+
################################################
31+
## Declare ROS messages, services and actions ##
32+
################################################
33+
34+
## To declare and build messages, services or actions from within this
35+
## package, follow these steps:
36+
## * Let MSG_DEP_SET be the set of packages whose message types you use in
37+
## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
38+
## * In the file package.xml:
39+
## * add a build_depend tag for "message_generation"
40+
## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
41+
## * If MSG_DEP_SET isn't empty the following dependency has been pulled in
42+
## but can be declared for certainty nonetheless:
43+
## * add a run_depend tag for "message_runtime"
44+
## * In this file (CMakeLists.txt):
45+
## * add "message_generation" and every package in MSG_DEP_SET to
46+
## find_package(catkin REQUIRED COMPONENTS ...)
47+
## * add "message_runtime" and every package in MSG_DEP_SET to
48+
## catkin_package(CATKIN_DEPENDS ...)
49+
## * uncomment the add_*_files sections below as needed
50+
## and list every .msg/.srv/.action file to be processed
51+
## * uncomment the generate_messages entry below
52+
## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
53+
54+
## Generate messages in the 'msg' folder
55+
# add_message_files(
56+
# FILES
57+
# Message1.msg
58+
# Message2.msg
59+
# )
60+
61+
## Generate services in the 'srv' folder
62+
# add_service_files(
63+
# FILES
64+
# Service1.srv
65+
# Service2.srv
66+
# )
67+
68+
## Generate actions in the 'action' folder
69+
# add_action_files(
70+
# FILES
71+
# Action1.action
72+
# Action2.action
73+
# )
74+
75+
## Generate added messages and services with any dependencies listed here
76+
# generate_messages(
77+
# DEPENDENCIES
78+
# std_msgs
79+
# )
80+
81+
################################################
82+
## Declare ROS dynamic reconfigure parameters ##
83+
################################################
84+
85+
## To declare and build dynamic reconfigure parameters within this
86+
## package, follow these steps:
87+
## * In the file package.xml:
88+
## * add a build_depend and a run_depend tag for "dynamic_reconfigure"
89+
## * In this file (CMakeLists.txt):
90+
## * add "dynamic_reconfigure" to
91+
## find_package(catkin REQUIRED COMPONENTS ...)
92+
## * uncomment the "generate_dynamic_reconfigure_options" section below
93+
## and list every .cfg file to be processed
94+
95+
## Generate dynamic reconfigure parameters in the 'cfg' folder
96+
# generate_dynamic_reconfigure_options(
97+
# cfg/DynReconf1.cfg
98+
# cfg/DynReconf2.cfg
99+
# )
100+
101+
###################################
102+
## catkin specific configuration ##
103+
###################################
104+
## The catkin_package macro generates cmake config files for your package
105+
## Declare things to be passed to dependent projects
106+
## INCLUDE_DIRS: uncomment this if you package contains header files
107+
## LIBRARIES: libraries you create in this project that dependent projects also need
108+
## CATKIN_DEPENDS: catkin_packages dependent projects also need
109+
## DEPENDS: system dependencies of this project that dependent projects also need
110+
catkin_package(
111+
INCLUDE_DIRS include
112+
LIBRARIES assist_robot
113+
CATKIN_DEPENDS ros_control roscpp std_msgs rospy
114+
DEPENDS system_lib
115+
)
116+
117+
###########
118+
## Build ##
119+
###########
120+
121+
## Specify additional locations of header files
122+
## Your package locations should be listed before other locations
123+
include_directories(include)
124+
include_directories( ${catkin_INCLUDE_DIRS} )
125+
126+
## Declare a C++ library
127+
128+
## Add cmake target dependencies of the library
129+
## as an example, code may need to be generated before libraries
130+
## either from message generation or dynamic reconfigure
131+
# add_dependencies(cepheus_robot ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
132+
133+
## Declare a C++ executable
134+
add_executable(camera_odom_node src/camera_odom.cpp)
135+
136+
## Add cmake target dependencies of the executable
137+
## same as for the library above
138+
# add_dependencies(cepheus_robot_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
139+
140+
## Specify libraries to link a library or executable target against
141+
target_link_libraries(camera_odom_node ${catkin_LIBRARIES})
142+
143+
#############
144+
## Install ##
145+
#############
146+
147+
# all install targets should use catkin DESTINATION variables
148+
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
149+
150+
## Mark executable scripts (Python etc.) for installation
151+
## in contrast to setup.py, you can choose the destination
152+
# install(PROGRAMS
153+
# scripts/my_python_script
154+
# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
155+
# )
156+
157+
## Mark executables and/or libraries for installation
158+
# install(TARGETS cepheus_robot cepheus_robot_node
159+
# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
160+
# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
161+
# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
162+
# )
163+
164+
## Mark cpp header files for installation
165+
# install(DIRECTORY include/${PROJECT_NAME}/
166+
# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
167+
# FILES_MATCHING PATTERN "*.h"
168+
# PATTERN ".svn" EXCLUDE
169+
# )
170+
171+
## Mark other files for installation (e.g. launch and bag files, etc.)
172+
# install(FILES
173+
# # myfile1
174+
# # myfile2
175+
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
176+
# )
177+
178+
#############
179+
## Testing ##
180+
#############
181+
182+
## Add gtest based cpp test target and link libraries
183+
# catkin_add_gtest(${PROJECT_NAME}-test test/test_cepheus_robot.cpp)
184+
# if(TARGET ${PROJECT_NAME}-test)
185+
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
186+
# endif()
187+
188+
## Add folders to be run by python nosetests
189+
# catkin_add_nosetests(test)

src/assist_space_robot/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# DESCREPTION
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<launch>
2+
<param name="assist_robot_description" command="cat $(find assist_robot)/model/assist_robot.urdf" />
3+
4+
<param name="granite_description" command="cat $(find assist_robot)/model/granite.urdf" />
5+
6+
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher">
7+
<!--param name="tf_prefix" value="servicer" /-->
8+
<!--param name="publish_frequency" value="50" -->
9+
<remap from="robot_description" to="assist_robot_description"/>
10+
</node>
11+
12+
<!--node name="mouse_odom_publisher" pkg="assist_robot" type="mouse_odom_node" output="screen">
13+
<param name="left_dev_event" value="/dev/input/by-path/pci-0000:00:1f.5-usb-0:4.3:1.0-event-mouse"/>
14+
<param name="right_dev_event" value="/dev/input/by-path/pci-0000:00:1f.5-usb-0:4.4:1.0-event-mouse"/>
15+
</node-->
16+
17+
<!--node name="camera_odom_publisher" pkg="assist_robot" type="camera_odom_node" output="screen">
18+
<param name="robot_id" value="12" />
19+
<param name="udp_port" value="25000" />
20+
</node-->
21+
</launch>

0 commit comments

Comments
 (0)