Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,30 @@
# FSSIM
FSSIM is a vehicle simulator dedicated for Formula Student Driverless Competition. It was developed for autonomous software testing purposes and not for gaming. A version of this simulator was used to predict **lap time of *gotthard* at FSG 2018** trackdrive with **1% accuracy**.

This simulator is developed and tested on **Ubuntu 16.04 and ROS Kinetic** and both are assumed to be already installed.
This simulator is developed and tested on **Ubuntu 20.04, Python 3 and ROS Noetic** and the three are assumed to be already installed.

The more extensive tutorial can be found under [Wiki](fssim_doc/index.md)

FSSIM is developed by [Juraj Kabzan](https://www.linkedin.com/in/juraj-kabzan-143698a1/) as part of our work at [AMZ-Driverless](http://driverless.amzracing.ch/).

# How to Run It in your Workspace
0. Install `sudo apt install ros-kinetic-desktop-full` and `sudo apt install python-catkin-tools`
1. Clone this repository to an existing **ROS Workspace** initialized with `catkin init`
2. Run `cd src/fssim` from the workspace.
0. Install `sudo apt install ros-noetic-desktop-full` and `sudo apt install python3-catkin-tools`
1. Clone this repository to an existing **ROS Workspace**, run:
`mkdir ws` ->
`mkdir ws/src` ->
`cd ws` ->
`catkin init` ->
`cd src` ->
`git clone https://github.com/Huguet57/fssim-2021.git`
2. Go to the `src/fssim` folder.
3. Run `./update_dependencies.sh`, you will need to approve multiple packages to be installed
4. Run `catkin build`
5. Source the workspace
5. Go into the root of the workspace (in this case the `ws` folder, where the `devel` folder is) and source the workspace `source devel/setup.bash`
6. After successful building, run the simulator with `roslaunch fssim auto_fssim.launch`. RVIZ window will start. NOTE: You might need to untick and tick `FSSIM Track` and `RobotModel` in RVIZ in order to load the STL files. NOTE: This ` [Wrn] [ModelDatabase.cc:339] Getting models from[http://gazebosim.org/models/]. This may take a few seconds.` might take up to a minute when starting for the first time.
7. The terminal will inform you what is happening. The loading time takes around 20 seconds. When `Sending RES GO` will show up in the terminal, you can start controlling the vehicle with `/fssim/cmd` topic.

# Combine it with simple FSD skeleton Framework and drive a lap
0. Install `sudo apt install ros-kinetic-desktop-full` and `sudo apt install python-catkin-tools`
0. Install `sudo apt install ros-noetic-desktop-full` and `sudo apt install python3-catkin-tools`
1. [Clone the AMZ skeleton workspace](https://github.com/AMZ-Driverless/fsd_skeleton#setting-up-the-workspace).
2. Run `./update_dependencies.sh -f` from `fsd_skeleton`, you will need to approve multiple packages to be installed
3. Compile with `catkin build`
Expand Down
4 changes: 2 additions & 2 deletions fssim/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

cmake_minimum_required(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.0.2)
project(fssim)

find_package(catkin REQUIRED COMPONENTS
Expand All @@ -41,4 +41,4 @@ catkin_install_python(PROGRAMS scripts/launch.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

catkin_install_python(PROGRAMS scripts/topics_monitor.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})
2 changes: 1 addition & 1 deletion fssim/config/simulation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ robot_name: gotthard # Name of the robot [string]
kill_after: 6000 # After this time, repetition is stopped [s]

pkg_config_storage: fssim_description # If relative path is given in following config files, the path will be taken
# wrt to this package
# wrt to this packagesendTransform
# Config files for repetitions
repetitions:
- {sensors_config_file: cars/gotthard/config/sensors.yaml, track_name: FSG.sdf, autonomous_stack: }
Expand Down
2 changes: 1 addition & 1 deletion fssim/config/topics_frequency.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ topics:
- topic: "/lidar/cones"
expected_frequency: 5
- topic: "/fssim/cmd"
expected_frequency: 5
expected_frequency: 100



Expand Down
78 changes: 36 additions & 42 deletions fssim/rviz/fssim.rviz
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ Panels:
Help Height: 93
Name: Displays
Property Tree Widget:
Expanded: ~
Splitter Ratio: 0.663888872
Tree Height: 732
Expanded:
- /Global Options1
Splitter Ratio: 0.550000011920929
Tree Height: 460
- Class: rviz/Selection
Name: Selection
- Class: rviz/Tool Properties
Expand All @@ -14,17 +15,21 @@ Panels:
- /2D Nav Goal1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.588679016
Splitter Ratio: 0.5886790156364441
- Class: rviz/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.492592603
Splitter Ratio: 0.49259260296821594
- Class: rviz/Time
Experimental: false
Name: Time
SyncMode: 0
SyncSource: Lidar Observations
Preferences:
PromptSaveOnExit: true
Toolbars:
toolButtonStyle: 2
Visualization Manager:
Class: ""
Displays:
Expand All @@ -34,7 +39,7 @@ Visualization Manager:
Color: 177; 177; 177
Enabled: true
Line Style:
Line Width: 0.0299999993
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Expand All @@ -57,7 +62,7 @@ Visualization Manager:
Enabled: true
Length: 1
Name: FSSIM Map
Radius: 0.100000001
Radius: 0.10000000149011612
Reference Frame: fssim_map
Value: true
- Alpha: 1
Expand Down Expand Up @@ -136,18 +141,6 @@ Visualization Manager:
Value: true
fssim/vehicle/front_center_lidar_link:
Value: true
fssim/vehicle/left_front_wheel:
Value: true
fssim/vehicle/left_rear_wheel:
Value: true
fssim/vehicle/left_steering_hinge:
Value: true
fssim/vehicle/right_front_wheel:
Value: true
fssim/vehicle/right_rear_wheel:
Value: true
fssim/vehicle/right_steering_hinge:
Value: true
fssim_map:
Value: true
map:
Expand All @@ -164,16 +157,6 @@ Visualization Manager:
fssim/vehicle/chassis:
fssim/vehicle/front_center_lidar_link:
{}
fssim/vehicle/left_rear_wheel:
{}
fssim/vehicle/left_steering_hinge:
fssim/vehicle/left_front_wheel:
{}
fssim/vehicle/right_rear_wheel:
{}
fssim/vehicle/right_steering_hinge:
fssim/vehicle/right_front_wheel:
{}
map:
{}
Update Interval: 0
Expand Down Expand Up @@ -279,6 +262,14 @@ Visualization Manager:
{}
Queue Size: 100
Value: true
- Class: rviz/Marker
Enabled: true
Marker Topic: /fssim/GO_marker
Name: GO Signal
Namespaces:
{}
Queue Size: 100
Value: true
Enabled: true
Global Options:
Background Color: 255; 255; 255
Expand All @@ -294,7 +285,10 @@ Visualization Manager:
- Class: rviz/FocusCamera
- Class: rviz/Measure
- Class: rviz/SetInitialPose
Theta std deviation: 0.2617993950843811
Topic: /initialpose
X std deviation: 0.5
Y std deviation: 0.5
- Class: rviz/SetGoal
Topic: /move_base_simple/goal
- Class: rviz/PublishPoint
Expand All @@ -304,33 +298,33 @@ Visualization Manager:
Views:
Current:
Class: rviz/ThirdPersonFollower
Distance: 15.6628675
Distance: 15.662867546081543
Enable Stereo Rendering:
Stereo Eye Separation: 0.0599999987
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: 0.198139191
Y: -0.605263352
Z: -1.90734863e-06
X: 0.19813919067382812
Y: -0.605263352394104
Z: -1.9073486328125e-06
Focal Shape Fixed Size: true
Focal Shape Size: 0.0500000007
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.00999999978
Pitch: 0.277739823
Near Clip Distance: 0.009999999776482582
Pitch: 0.27773982286453247
Target Frame: fssim/vehicle/base_link
Value: ThirdPersonFollower (rviz)
Yaw: 3.0936656
Yaw: 3.093665599822998
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 1028
Height: 704
Hide Left Dock: false
Hide Right Dock: true
QMainWindow State: 000000ff00000000fd00000004000000000000016a0000037afc0200000008fb0000001200530065006c0065006300740069006f006e0000000028000001c50000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c00610079007301000000280000037a000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c0000026100000001000001100000037afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000280000037a000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003c00000003efc0100000002fb0000000800540069006d00650100000000000003c00000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000002500000037a00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
QMainWindow State: 000000ff00000000fd00000004000000000000015600000266fc0200000008fb0000001200530065006c0065006300740069006f006e0000000028000001c50000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000266000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c0000026100000001000001100000037afc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000280000037a000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000003c00000003efc0100000002fb0000000800540069006d00650000000000000003c0000002eb00fffffffb0000000800540069006d00650100000000000004500000000000000000000002640000026600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Time:
Expand All @@ -340,5 +334,5 @@ Window Geometry:
Views:
collapsed: true
Width: 960
X: 960
Y: 24
X: 406
Y: 27
Loading