Skip to content

Commit

Permalink
move submodule
Browse files Browse the repository at this point in the history
  • Loading branch information
dawsonc committed Mar 1, 2024
1 parent 9e97569 commit 83ec5b1
Show file tree
Hide file tree
Showing 220 changed files with 24,600 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .gitmodules
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 submodules/f1tenth_system/.github/ISSUE_TEMPLATE/bug_report.md
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.
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.
35 changes: 35 additions & 0 deletions submodules/f1tenth_system/.gitignore
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
3 changes: 3 additions & 0 deletions submodules/f1tenth_system/.gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "vesc"]
path = vesc
url = https://github.com/f1tenth/vesc
28 changes: 28 additions & 0 deletions submodules/f1tenth_system/README.md
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.
12 changes: 12 additions & 0 deletions submodules/f1tenth_system/f1tenth_msgs/.gitignore
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/

16 changes: 16 additions & 0 deletions submodules/f1tenth_system/f1tenth_msgs/CMakeLists.txt
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 submodules/f1tenth_system/f1tenth_msgs/msg/F1TenthDrive.msg
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Header header
F1TenthDrive drive
26 changes: 26 additions & 0 deletions submodules/f1tenth_system/f1tenth_msgs/package.xml
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>
90 changes: 90 additions & 0 deletions submodules/f1tenth_system/hokuyo_node/CHANGELOG.rst
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
73 changes: 73 additions & 0 deletions submodules/f1tenth_system/hokuyo_node/CMakeLists.txt
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}
)
Loading

0 comments on commit 83ec5b1

Please sign in to comment.