-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
220 changed files
with
24,600 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
[submodule "f1tenth_system"] | ||
path = f1tenth_system | ||
path = submodules/f1tenth_system | ||
url = [email protected]:MIT-REALM/f1tenth_system.git |
38 changes: 38 additions & 0 deletions
38
submodules/f1tenth_system/.github/ISSUE_TEMPLATE/bug_report.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
name: Bug report | ||
about: Create a report to help us improve | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Describe the bug** | ||
A clear and concise description of what the bug is. | ||
|
||
**To Reproduce** | ||
Steps to reproduce the behavior: | ||
1. Go to '...' | ||
2. Click on '....' | ||
3. Scroll down to '....' | ||
4. See error | ||
|
||
**Expected behavior** | ||
A clear and concise description of what you expected to happen. | ||
|
||
**Screenshots** | ||
If applicable, add screenshots to help explain your problem. | ||
|
||
**Desktop (please complete the following information):** | ||
- OS: [e.g. iOS] | ||
- Browser [e.g. chrome, safari] | ||
- Version [e.g. 22] | ||
|
||
**Smartphone (please complete the following information):** | ||
- Device: [e.g. iPhone6] | ||
- OS: [e.g. iOS8.1] | ||
- Browser [e.g. stock browser, safari] | ||
- Version [e.g. 22] | ||
|
||
**Additional context** | ||
Add any other context about the problem here. |
20 changes: 20 additions & 0 deletions
20
submodules/f1tenth_system/.github/ISSUE_TEMPLATE/feature_request.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an idea for this project | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Is your feature request related to a problem? Please describe.** | ||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] | ||
|
||
**Describe the solution you'd like** | ||
A clear and concise description of what you want to happen. | ||
|
||
**Describe alternatives you've considered** | ||
A clear and concise description of any alternative solutions or features you've considered. | ||
|
||
**Additional context** | ||
Add any other context or screenshots about the feature request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Prerequisites | ||
*.d | ||
|
||
# Compiled Object files | ||
*.slo | ||
*.lo | ||
*.o | ||
*.obj | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Compiled Dynamic libraries | ||
*.so | ||
*.dylib | ||
*.dll | ||
|
||
# Fortran module files | ||
*.mod | ||
*.smod | ||
|
||
# Compiled Static libraries | ||
*.lai | ||
*.la | ||
*.a | ||
*.lib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app | ||
|
||
# macos | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "vesc"] | ||
path = vesc | ||
url = https://github.com/f1tenth/vesc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# driver_base | ||
You'll also need the driver_base package, , you could get this package via: | ||
|
||
```sudo apt-get install ros-<distro>-driver-base``` | ||
|
||
# f110_system | ||
Code/Drivers onboard f110 race cars. | ||
|
||
## ackermann_msgs | ||
The ROS message definitions for ackermann steering. | ||
|
||
## hokuyo_node | ||
The driver for Hokuyo 10LX and Hokuyo 30LX. | ||
|
||
## joystick_drivers | ||
The driver for Linux compatible joysticks | ||
|
||
## racecar | ||
The package including launch files handling starting the car, and the parameters for Odometry tuning, motor/servo settings. | ||
|
||
## serial | ||
A cross-platform library for interfacing with rs-232 serial like ports written in C++. | ||
|
||
## vesc | ||
The package handling communication with the VESC 6 Plus. | ||
|
||
## waypoint_logger | ||
The node that records the car's current position in the world, requires particle_filter to work. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
*.a | ||
*.o | ||
*.os | ||
*.pyc | ||
*.so | ||
*.tar.gz | ||
*~ | ||
TAGS | ||
build/ | ||
msg_gen/ | ||
src/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
cmake_minimum_required(VERSION 2.8.3) | ||
project(f1tenth_msgs) | ||
|
||
find_package(catkin REQUIRED COMPONENTS message_generation std_msgs) | ||
# We want boost/format.hpp, which isn't in its own component. | ||
find_package(Boost REQUIRED) | ||
|
||
add_message_files( | ||
DIRECTORY msg | ||
FILES F1TenthDrive.msg F1TenthDriveStamped.msg) | ||
|
||
generate_messages(DEPENDENCIES std_msgs) | ||
|
||
catkin_package( | ||
CATKIN_DEPENDS message_runtime std_msgs | ||
DEPENDS Boost) |
36 changes: 36 additions & 0 deletions
36
submodules/f1tenth_system/f1tenth_msgs/msg/F1TenthDrive.msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
## Driving command for a car-like vehicle using Ackermann steering. | ||
|
||
# Assumes Ackermann front-wheel steering. The left and right front | ||
# wheels are generally at different angles. To simplify, the commanded | ||
# angle corresponds to the yaw of a virtual wheel located at the | ||
# center of the front axle, like on a tricycle. Positive yaw is to | ||
# the left. (This is *not* the angle of the steering wheel inside the | ||
# passenger compartment.) | ||
# | ||
# Zero steering angle velocity means change the steering angle as | ||
# quickly as possible. Positive velocity indicates a desired absolute | ||
# rate of change either left or right. The controller tries not to | ||
# exceed this limit in either direction, but sometimes it might. | ||
# | ||
uint8 MODE_STEER_ANGLE = 0 | ||
uint8 MODE_SERVO = 1 | ||
uint8 steer_mode | ||
|
||
float32 steering_angle # desired virtual angle (radians) | ||
float32 servo_position # desired servo position. | ||
|
||
# Drive at requested speed or acceleration (the 1st or 2nd derivatives | ||
# of position). | ||
uint8 MODE_SPEED = 0 | ||
uint8 MODE_ACCEL = 1 | ||
uint8 mode | ||
|
||
# Speed is the desired scalar magnitude of the velocity vector. | ||
# Direction is forward unless the sign is negative, indicating reverse. | ||
# | ||
# Zero acceleration means change speed as quickly as | ||
# possible. Positive acceleration indicates a desired absolute | ||
# magnitude; that includes deceleration. | ||
# | ||
float32 speed # desired forward speed (m/s) | ||
float32 acceleration # desired acceleration (m/s^2). Negative indicates brake. |
2 changes: 2 additions & 0 deletions
2
submodules/f1tenth_system/f1tenth_msgs/msg/F1TenthDriveStamped.msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Header header | ||
F1TenthDrive drive |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<package> | ||
<name>f1tenth_msgs</name> | ||
<version>1.0.0</version> | ||
<description> | ||
ROS messages for F1Tenth | ||
</description> | ||
<maintainer email="[email protected]">Oswin So</maintainer> | ||
<author>Oswin So</author> | ||
<license>BSD</license> | ||
|
||
<url type="website">http://ros.org/wiki/ackermann_msgs</url> | ||
<url type="repository">https://github.com/ros-drivers/ackermann_msgs.git</url> | ||
<url type="bugtracker">https://github.com/ros-drivers/ackermann_msgs/issues</url> | ||
|
||
<buildtool_depend>catkin</buildtool_depend> | ||
|
||
<build_depend>message_generation</build_depend> | ||
<build_depend>std_msgs</build_depend> | ||
|
||
<run_depend>message_runtime</run_depend> | ||
<run_depend>std_msgs</run_depend> | ||
|
||
<export> | ||
<architecture_independent/> | ||
</export> | ||
</package> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
Changelog for package hokuyo_node | ||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
||
1.7.8 (2014-01-15) | ||
------------------ | ||
* Merge pull request `#8 <https://github.com/ros-drivers/hokuyo_node/issues/8>`_ from trainman419/hydro-devel | ||
Use rosconsole to set logger levels. Fixes `#7 <https://github.com/ros-drivers/hokuyo_node/issues/7>`_ | ||
* Use rosconsole to set logger levels. Fixes `#7 <https://github.com/ros-drivers/hokuyo_node/issues/7>`_ | ||
* Added changelog | ||
* Contributors: Chad Rockey, chadrockey, trainman419 | ||
|
||
1.7.7 (2013-07-17) | ||
------------------ | ||
* fixing value interpretation for smaller lasers (04LX) | ||
|
||
1.7.6 (2013-04-25) | ||
------------------ | ||
* Removed REP 117 Tick/Tock for Hydro. | ||
|
||
1.7.5 (2013-03-26) | ||
------------------ | ||
* Added install targets for various files. | ||
* Added install targets. | ||
* Fixed two compile errors on OS X with clang | ||
* Fixed dynamic_reconfigure build bug and refactor | ||
* Missing include file. | ||
* Catkinizing | ||
* Tock on REP 117. Will now default to True. Warns if not set or false. | ||
* Had to actually add boost directors and link to boost::thread in the CMakeLists | ||
* Removed call to directory with no CMakeLists.txt | ||
* explicitly link log4cxx | ||
* Updated hokuyo node to add the use_rep_117 parameter and output error cases accordingly. | ||
* Added a launch file to help test whether hokuyo unplug causes SIGHUP. | ||
* Now only polls when there is no buffered data. Otherwise could lock up. Now only checks timeout once in read loop. Now detects EOF. Verified that no sighup on unplug. Now just need to test on Mac. Should fix `#3826 <https://github.com/ros-drivers/hokuyo_node/issues/3826>`_. | ||
* Tweaked the tty settings to try to get hokuyo_node working on Mac. Seems to be working. Now need to test that I haven't broken anything. | ||
* Now IO to hokuyo is purely file descriptor based. Should help with `#3826 <https://github.com/ros-drivers/hokuyo_node/issues/3826>`_. | ||
* Changed open with fopen in the hokuyo library. This allow the NO_CTTY and O_NONBLOCK flags to be set at open time, which simplifies the code a bit. Still need to verify that CTTY actually works. | ||
* Added Ubuntu platform tags to manifest | ||
* Fixed linker export in manifest. | ||
* Now blocks SIGHUP if there isn't a handler for it. | ||
* Updated warning message when angular range is being limited for safety to give more data on why the problem is happening. | ||
* Increased the max_safe_angular_range for 1.16.01 firmware. | ||
* Correcting console output in getFirmwareVersion | ||
* Added error code to diagnostic summary message as requested by `#3705 <https://github.com/ros-drivers/hokuyo_node/issues/3705>`_. | ||
* Added getFirmwareVersion tool. | ||
* Improved angle limiting on 30LX so that any sufficiently limited angular rance will work. Also reduced the range to 95 degrees/cluster, because that's what it takes to get good data. | ||
* Made the allow_unsafe_settings warning message appear at more appropriate times. | ||
* Added an allow_unsafe_settings option to bypass the UTM-30LX angular range limits. | ||
* Added detection of 30LX, and automatic angle limiting in that case to prevent laser crashes. | ||
* Added optional logging of hokuyo transactions. Have a small test that crashes the laser. | ||
* Had add algorithm include in wrong place. | ||
* Added missing include of algorithm | ||
* Replaced the time calibration method. The new one is much faster, and much less sensitive to the massive clock error on the new hokuyo firmware. Added a test program that can be used for exploring hokuyo timing issues. | ||
* Added code to detect the new hokuyo firmware version, and use a hard-coded latency for it. Now calls calibration code each time the device_id changes, instead of only once at startup. | ||
* Made some more methods public so that other programs can do relatively low-level access. | ||
* Added queryVersionInformation method to allow the version information to be explicitely reread at a time later than the open call. | ||
* Fixed typo in previous commit. | ||
* Made hokuyo export libhokuyo. Enhances external API (but it is an experimental API). | ||
* Added ability to clear the latency set by calcLatency. Added currently used latency and time offset to diagnostics. | ||
* Added time_offset parameter to allow tweaking of time offset. | ||
* Took out compile twice hack | ||
* preparing laser_drivers 1.0.0. Updated manifest descriptions slightly | ||
* Changed diagnostic level messages. | ||
* Previous fix to clear_window was broken. Moved to postOpenHook instead. | ||
* Moved clear_window for frequency diagnostics to doStart so that the diagnostics get reset on any start event. (Was only in reconfigure events.) | ||
* Tweaked a message. (Calibration will take up to a minute.) | ||
* Cleaned up messages. Now says when it has started streaming. Made reads non-blocking to avoid lockup if concurrent access to the port happens. Added workaround for limited precision with which parameters are stored on the parameter server. Merged Connection Status diagnostic into Driver Status diagnostic. | ||
* Added TODO list of tests | ||
* Made turning off laser more robust. Previously there were errors if the turn off command happened just as a scan was arriving. | ||
* Rearranged stop message to be after the scanning actually stops. | ||
* Now only checks angle ranges and intensity support during config_update in the open state. Checking those in the running state was wreaking havoc, as it should. | ||
* Got rid of all output to stderr when getID is in quiet mode. | ||
* Made the serial number scheme compatible with how it used to be (always H in front), but compatible with long serial numbers (don't start with H when returned by device). | ||
* Made getID retry a few times as the hokuyo takes a while before it can be talked to after it is plugged in. | ||
* Made exceptions during startup TM2 command be ignored. Indeed, if the laser is scanning then TM2 fails, but the subsequent command successfully resets the state. Made the subsequent RS instead of QT as it does a more thorough reset. | ||
* Increased limit on hokuyo exception messages. | ||
* Added detection of intensity capability. Node now automatically sets intensity to false if it is unsupported. | ||
* hokuyo_node now reports firmware version, vendor name, product name and firmware version in diagnostics. (Requested by `#3505 <https://github.com/ros-drivers/hokuyo_node/issues/3505>`_) | ||
* Added graceful handling of out-of-range scan range. | ||
* Made hokuyo range go from -pi to pi again because different hokuyos have different ranges, and we can't hard-code some particular range. | ||
* Took race condition out of port locking, and removed unnecessary unlock before close. | ||
* Tweaked package description. Added a debug message. | ||
* Updated licenses. | ||
* Fixed up example launch files. | ||
* Reworked messages so that the driver should never spew when it is failing to reconnect. | ||
* Removed no longer necessary tf stuff from hokuyo example launch file. | ||
* Removed one unnecessary startup message. | ||
* Took node documentation out of doxygen. | ||
* staging laser_drivers into tick-tock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
cmake_minimum_required(VERSION 2.8.3) | ||
project(hokuyo_node) | ||
|
||
find_package(Boost REQUIRED COMPONENTS system thread) | ||
|
||
# Utilities that use log4cxx - getID and getFirmwareVersion | ||
find_library(LOG4CXX_LIBRARY log4cxx) | ||
if(NOT LOG4CXX_LIBRARY) | ||
message(FATAL_ERROR "Couldn't find log4cxx library") | ||
endif() | ||
|
||
# Load catkin and all dependencies required for this package | ||
find_package(catkin REQUIRED | ||
COMPONENTS | ||
diagnostic_updater | ||
driver_base | ||
dynamic_reconfigure | ||
rosconsole | ||
roscpp | ||
self_test | ||
sensor_msgs | ||
) | ||
|
||
include_directories(SYSTEM ${Boost_INCLUDE_DIRS}) | ||
include_directories(include ${catkin_INCLUDE_DIRS}) | ||
|
||
# Dynamic reconfigure support | ||
generate_dynamic_reconfigure_options(cfg/Hokuyo.cfg) | ||
|
||
# Export with catkin_package | ||
catkin_package( | ||
INCLUDE_DIRS include | ||
CATKIN_DEPENDS rosconsole | ||
LIBRARIES libhokuyo | ||
) | ||
|
||
# Hokuyo library | ||
add_library(libhokuyo src/hokuyo.cpp) | ||
target_link_libraries(libhokuyo ${rosconsole_LIBRARIES}) | ||
|
||
# hokuyo_node | ||
add_executable(hokuyo_node src/hokuyo_node.cpp) | ||
add_dependencies(hokuyo_node ${PROJECT_NAME}_gencfg) | ||
target_link_libraries(hokuyo_node | ||
libhokuyo | ||
${Boost_LIBRARIES} | ||
${catkin_LIBRARIES} | ||
) | ||
|
||
add_executable(getID src/getID.cpp) | ||
target_link_libraries(getID libhokuyo ${LOG4CXX_LIBRARY} ${catkin_LIBRARIES}) | ||
|
||
add_executable(getFirmwareVersion src/getFirmwareVersion.cpp) | ||
target_link_libraries(getFirmwareVersion | ||
libhokuyo | ||
${LOG4CXX_LIBRARY} | ||
${catkin_LIBRARIES} | ||
) | ||
|
||
# Install targets | ||
install(TARGETS libhokuyo DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) | ||
|
||
install(DIRECTORY include/${PROJECT_NAME}/ | ||
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} | ||
) | ||
|
||
install(TARGETS hokuyo_node getID getFirmwareVersion | ||
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} | ||
) | ||
|
||
install(FILES test/TODO test/unplug_test.launch COPYING.lib hokuyo_test.launch hokuyo_test.vcg hokuyo_test_intensity.launch | ||
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} | ||
) |
Oops, something went wrong.