Skip to content

Commit d73625e

Browse files
committed
emmerge to one respository for xbot2
0 parents  commit d73625e

File tree

436 files changed

+54265
-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.

436 files changed

+54265
-0
lines changed

58-xbot.rules

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# On precise, for some reason, USER and GROUP are getting ignored.
2+
# So setting mode = 0666 for now.
3+
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP:="dialout", MODE:="0666", SYMLINK+="xbot"
4+
# Bluetooth module (currently not supported and may have problems)
5+
# SUBSYSTEM=="tty", ATTRS{address}=="00:00:00:41:48:22", MODE:="0666",

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Overview
2+
Xbot is a double wheeled mobile robot which is suitable for most of common sensors and hardware such as Microsoft's Kinect and Asus' Xtion Pro and RPlidar. Users can easily integrate their own customized hardware and applications to the development platform by using ROS and the related series tutorials. For more details about xbot robot, please visit [http://robots.ros.org/xbot/](http://robots.ros.org/xbot/)
3+
4+
![image](https://github.com/yowlings/xbot/blob/master/xbot.png)
5+
6+
# Packages
7+
This git repo contains 4 ROS packages for making up a complete xbot ROS bringup. They are xbot_driver, xbot_dock_drive, xbot_ftdi, xbot_keyop, xbot_msgs,xbot_node and xbot_safety_controller.
8+
9+
## xbot_driver
10+
xbot_driver is the basic package of xbot_bringup. It provides the serial communication with the xbot move base including get sensors data and post the command data from navigation algorithms.
11+
There ars some test tools such as simple_keyop for you to debug your driver program. You can test if the received data is as expected or transfer the move command to see if it is moving as what you want.
12+
xbot_driver is also a pure c++ program which means that you can run it as a c++ program or you can choose the ROS way to execute it.
13+
14+
## xbot_keyop
15+
The package for teleoperate xbot in your computer. Just follow the direction info once the program launched and shown in screen.
16+
17+
## xbot_msgs
18+
All of the message types that xbot publishes and subscribes. You can define your own message types in this package.
19+
20+
## xbot_node
21+
xbot_node is the bridge between xbot_driver and ROS. In this package, all the related subscribed topics and published topics is defined and realised.
22+
23+
# Usage
24+
There are three ways to launch the xbot.
25+
### xbot_rplidar.launch
26+
>roslaunch xbot_bringup xbot_rplidar.launch
27+
28+
Driving xbot with only rplidar sensor.
29+
### xbot_asus.launch
30+
>roslaunch xbot_bringup xbot_asus.launch
31+
32+
Driving xbot with only asus camera.
33+
### xbot_rplidar_asus.launch
34+
>roslaunch xbot_bringup xbot_rplidar_asus.launch
35+
36+
Driving xbot with both rplidar sensor and asus camera.

docs/ISCASxlab_protocols.doc

120 KB
Binary file not shown.

ecl.tar.gz

254 KB
Binary file not shown.

install_dependencies.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
4+
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
5+
sudo apt-get update
6+
sudo apt-get install ros-indigo-desktop-full
7+
sudo apt-get install python-rosinstall
8+
sudo apt-get install cmake
9+
sudo apt-get install ros-indigo-ecl-core ros-indigo-ecl-eigen ros-indigo-ecl-utilities ros-indigo-ecl-tools ros-indigo-ecl-geometry ros-indigo-ecl-mobile-robot
10+
sudo apt-get install ros-indigo-yocs-controllers
11+
sudo apt-get install libftdi-dev python-ftdi ros-indigo-kobuki-ftdi
12+
sudo apt-get install ros-indigo-ecl-build
13+
14+
echo "Done."
15+

xbot.png

252 KB
Loading

xbot2_description

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 78e7fe2949a77fcb865f91798ff98351249cfbc0

xbot2_tools/CMakeLists.txt

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

xbot2_tools/package.xml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?xml version="1.0"?>
2+
<package>
3+
<name>xbot2_tools</name>
4+
<version>0.0.0</version>
5+
<description>The xbot2_tools package</description>
6+
7+
<!-- One maintainer tag required, multiple allowed, one person per tag -->
8+
<!-- Example: -->
9+
<!-- <maintainer email="[email protected]">Jane Doe</maintainer> -->
10+
<maintainer email="[email protected]">roc</maintainer>
11+
12+
13+
<!-- One license tag required, multiple allowed, one license per tag -->
14+
<!-- Commonly used license strings: -->
15+
<!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 -->
16+
<license>TODO</license>
17+
18+
19+
<!-- Url tags are optional, but multiple are allowed, one per tag -->
20+
<!-- Optional attribute type can be: website, bugtracker, or repository -->
21+
<!-- Example: -->
22+
<!-- <url type="website">http://wiki.ros.org/xbot2_tools</url> -->
23+
24+
25+
<!-- Author tags are optional, multiple are allowed, one per tag -->
26+
<!-- Authors do not have to be maintainers, but could be -->
27+
<!-- Example: -->
28+
<!-- <author email="[email protected]">Jane Doe</author> -->
29+
30+
31+
<!-- The *_depend tags are used to specify dependencies -->
32+
<!-- Dependencies can be catkin packages or system dependencies -->
33+
<!-- Examples: -->
34+
<!-- Use build_depend for packages you need at compile time: -->
35+
<!-- <build_depend>message_generation</build_depend> -->
36+
<!-- Use buildtool_depend for build tool packages: -->
37+
<!-- <buildtool_depend>catkin</buildtool_depend> -->
38+
<!-- Use run_depend for packages you need at runtime: -->
39+
<!-- <run_depend>message_runtime</run_depend> -->
40+
<!-- Use test_depend for packages you need only for testing: -->
41+
<!-- <test_depend>gtest</test_depend> -->
42+
<buildtool_depend>catkin</buildtool_depend>
43+
<build_depend>roscpp</build_depend>
44+
<build_depend>rospy</build_depend>
45+
<build_depend>std_msgs</build_depend>
46+
<run_depend>roscpp</run_depend>
47+
<run_depend>rospy</run_depend>
48+
<run_depend>std_msgs</run_depend>
49+
50+
51+
<!-- The export tag contains other, unspecified, tags -->
52+
<export>
53+
<!-- Other tools can request additional information be placed here -->
54+
55+
</export>
56+
</package>

0 commit comments

Comments
 (0)