Skip to content

Commit efadf02

Browse files
author
Josh Whitley
committed
Initial commit from ros_pacmod.
0 parents  commit efadf02

15 files changed

+2343
-0
lines changed

.gitignore

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
build/
2+
bin/
3+
lib/
4+
lib_include/
5+
*.log
6+
*.swp
7+
polysync-viewer.config
8+
*.user
9+
*~
10+
.idea/

.travis.rosinstall

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- git:
2+
local-name: astuff_sensor_msgs
3+
uri: https://github.com/astuff/astuff_sensor_msgs

.travis.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
sudo: required
2+
dist: trusty
3+
services: docker
4+
language: generic
5+
6+
notifications:
7+
email:
8+
on_failure: always
9+
10+
env:
11+
matrix:
12+
- ROS_DISTRO="indigo" ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=file
13+
- ROS_DISTRO="indigo" ROS_REPO=ros UPSTREAM_WORKSPACE=file
14+
- ROS_DISTRO="kinetic" ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=file
15+
- ROS_DISTRO="kinetic" ROS_REPO=ros UPSTREAM_WORKSPACE=file
16+
17+
matrix:
18+
allow_failures:
19+
env: ROS_DISTRO="indigo" ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=file
20+
env: ROS_DISTRO="kinetic" ROS_REPO=ros-shadow-fixed UPSTREAM_WORKSPACE=file
21+
22+
install:
23+
git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
24+
script:
25+
source .ci_config/travis.sh

LICENSE

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Copyright (c) 2017 AutonomouStuff, LLC
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy
4+
of this software and associated documentation files (the "Software"), to deal
5+
in the Software without restriction, including without limitation the rights
6+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
copies of the Software, and to permit persons to whom the Software is
8+
furnished to do so, subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+
SOFTWARE.

README.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# PACMod (Platform Actuation and Control MODule) Vehicle Interface #
2+
3+
[![Build Status](https://travis-ci.org/astuff/ros_pacmod.svg?branch=master)](https://travis-ci.org/astuff/ros_pacmod)
4+
5+
This ROS node is designed to allow the user to control a vehicle (see SUPPORTED VEHICLES below) with the PACMod drive-by-wire system. For more information about the topics, parameters, and details on the implementation, see [the wiki page](https://autonomoustuff.atlassian.net/wiki/spaces/RW/pages/17749288/PACMod+System).
6+
7+
## Supported Vehicles ##
8+
9+
- Polaris GEM Series (e2/e4/e6) MY 2016+
10+
- Polaris eLXD MY 2016+
11+
- Polaris Ranger X900
12+
- International Prostar+ 122
13+
- Lexus RX-450h MY 2016+
14+
- More coming soon...

install_prereqs.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
git clone https://github.com/astuff/astuff_sensor_msgs.git

pacmod/CMakeLists.txt

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
cmake_minimum_required(VERSION 2.8.3)
2+
project(pacmod)
3+
4+
## Add support for C++11, supported in ROS Kinetic and newer
5+
# For PACMod, this must be enabled to use mutexes.
6+
add_definitions(-std=c++11)
7+
8+
find_package(catkin REQUIRED COMPONENTS
9+
roscpp
10+
std_msgs
11+
pacmod_msgs
12+
can_msgs
13+
)
14+
15+
catkin_package(CATKIN_DEPENDS
16+
roscpp
17+
std_msgs
18+
pacmod_msgs
19+
can_msgs
20+
)
21+
22+
## Specify additional locations of header files
23+
## Your package locations should be listed before other locations
24+
include_directories(
25+
include/${PROJECT_NAME}
26+
${catkin_INCLUDE_DIRS}
27+
)
28+
29+
## Declare a C++ executable
30+
add_executable(${PROJECT_NAME}
31+
src/pacmod_ros_msg_handler.cpp
32+
src/pacmod_node.cpp
33+
src/pacmod_core.cpp
34+
)
35+
36+
## Add cmake target dependencies of the executable
37+
## same as for the library above
38+
add_dependencies(${PROJECT_NAME}
39+
${${PROJECT_NAME}_EXPORTED_TARGETS}
40+
${catkin_EXPORTED_TARGETS}
41+
)
42+
43+
## Specify libraries to link a library or executable target against
44+
target_link_libraries(${PROJECT_NAME}
45+
${catkin_LIBRARIES}
46+
)
47+
48+
install(TARGETS ${PROJECT_NAME}
49+
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
50+
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
51+
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
52+
)
53+
54+
install(DIRECTORY launch/
55+
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
56+
)

pacmod/include/pacmod/pacmod_common.h

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#ifndef PACMOD_COMMON_H
2+
#define PACMOD_COMMON_H
3+
4+
/*
5+
* Unpublished Copyright (c) 2009-2017 AutonomouStuff, LLC, All Rights Reserved.
6+
*
7+
* This file is part of the PACMod ROS 1.0 driver which is released under the MIT license.
8+
* See file LICENSE included with this software or go to https://opensource.org/licenses/MIT for full license details.
9+
*/
10+
11+
#include <memory>
12+
#include <mutex>
13+
14+
#include <pacmod_core.h>
15+
#include <ros/ros.h>
16+
17+
#include <pacmod_msgs/DateTimeRpt.h>
18+
#include <pacmod_msgs/GlobalRpt.h>
19+
#include <pacmod_msgs/LatLonHeadingRpt.h>
20+
#include <pacmod_msgs/MotorRpt1.h>
21+
#include <pacmod_msgs/MotorRpt2.h>
22+
#include <pacmod_msgs/MotorRpt3.h>
23+
#include <pacmod_msgs/PacmodCmd.h>
24+
#include <pacmod_msgs/ParkingBrakeStatusRpt.h>
25+
#include <pacmod_msgs/PositionWithSpeed.h>
26+
#include <pacmod_msgs/SteeringPIDRpt1.h>
27+
#include <pacmod_msgs/SteeringPIDRpt2.h>
28+
#include <pacmod_msgs/SteeringPIDRpt3.h>
29+
#include <pacmod_msgs/SteeringPIDRpt4.h>
30+
#include <pacmod_msgs/SystemRptFloat.h>
31+
#include <pacmod_msgs/SystemRptInt.h>
32+
#include <pacmod_msgs/VehicleSpeedRpt.h>
33+
#include <pacmod_msgs/VinRpt.h>
34+
#include <pacmod_msgs/WheelSpeedRpt.h>
35+
#include <pacmod_msgs/YawRateRpt.h>
36+
37+
#endif

0 commit comments

Comments
 (0)