Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

restructuring the git repository build process to work off master instead of develop #2

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
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
264 changes: 264 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
cmake_minimum_required(VERSION 3.14)
project(PhantomOmni)

set(CMAKE_CXX_STANDARD 14)

include_directories(.)
include_directories(omni)
include_directories(omni_controller)
include_directories(omni_controller/cfg)
include_directories(omni_controller/include)
include_directories(omni_controller/include/node)
include_directories(omni_controller/include/RobotBase)
include_directories(omni_controller/launch)
include_directories(omni_controller/msg)
include_directories(omni_controller/src)
include_directories(omni_description)
include_directories(omni_description/meshes)
include_directories(omni_description/resources)
include_directories(omni_description/urdf)
include_directories(omni_driver)
include_directories(omni_driver/cfg)
include_directories(omni_driver/doc)
include_directories(omni_driver/doc/html)
include_directories(omni_driver/doc/latex)
include_directories(omni_driver/include)
include_directories(omni_driver/launch)
include_directories(omni_driver/msg)
include_directories(omni_driver/src)
include_directories(omni_moveit)
include_directories(omni_moveit/config)
include_directories(omni_moveit/launch)

add_executable(PhantomOmni
omni/CMakeLists.txt
omni/package.xml
omni_controller/cfg/omni.rviz
omni_controller/include/node/Omni.h
omni_controller/include/node/omni_controller.h
omni_controller/include/RobotBase/RobotBase.h
omni_controller/launch/omni_controller.launch
omni_controller/msg/Key.msg
omni_controller/src/node/Omni.cpp
omni_controller/src/node/omni_controller.cpp
omni_controller/src/RobotBase/RobotBase.cpp
omni_controller/src/test/main.cpp
omni_controller/CMakeLists.txt
omni_controller/package.xml
omni_description/meshes/base.stl
omni_description/meshes/lower_arm.stl
omni_description/meshes/pen.stl
omni_description/meshes/tip.stl
omni_description/meshes/torso.stl
omni_description/meshes/upper_arm.stl
omni_description/meshes/wrist.stl
omni_description/resources/OmniRviz.png
omni_description/urdf/omni.dae
omni_description/urdf/omni.robot.xml
omni_description/urdf/omni.urdf
omni_description/CHANGELOG.rst
omni_description/CMakeLists.txt
omni_description/package.xml
omni_driver/cfg/doxygen_omni_driver.cfg
omni_driver/cfg/multi_omni.rviz
omni_driver/cfg/omni.rviz
omni_driver/cfg/single_omni.rviz
omni_driver/cfg/uncrustify.cfg
omni_driver/doc/html/search/all_0.html
omni_driver/doc/html/search/all_0.js
omni_driver/doc/html/search/all_1.html
omni_driver/doc/html/search/all_1.js
omni_driver/doc/html/search/all_2.html
omni_driver/doc/html/search/all_2.js
omni_driver/doc/html/search/all_3.html
omni_driver/doc/html/search/all_3.js
omni_driver/doc/html/search/all_4.html
omni_driver/doc/html/search/all_4.js
omni_driver/doc/html/search/all_5.html
omni_driver/doc/html/search/all_5.js
omni_driver/doc/html/search/all_6.html
omni_driver/doc/html/search/all_6.js
omni_driver/doc/html/search/all_7.html
omni_driver/doc/html/search/all_7.js
omni_driver/doc/html/search/all_8.html
omni_driver/doc/html/search/all_8.js
omni_driver/doc/html/search/all_9.html
omni_driver/doc/html/search/all_9.js
omni_driver/doc/html/search/all_a.html
omni_driver/doc/html/search/all_a.js
omni_driver/doc/html/search/classes_0.html
omni_driver/doc/html/search/classes_0.js
omni_driver/doc/html/search/close.png
omni_driver/doc/html/search/functions_0.html
omni_driver/doc/html/search/functions_0.js
omni_driver/doc/html/search/functions_1.html
omni_driver/doc/html/search/functions_1.js
omni_driver/doc/html/search/functions_2.html
omni_driver/doc/html/search/functions_2.js
omni_driver/doc/html/search/functions_3.html
omni_driver/doc/html/search/functions_3.js
omni_driver/doc/html/search/functions_4.html
omni_driver/doc/html/search/functions_4.js
omni_driver/doc/html/search/functions_5.html
omni_driver/doc/html/search/functions_5.js
omni_driver/doc/html/search/functions_6.html
omni_driver/doc/html/search/functions_6.js
omni_driver/doc/html/search/functions_7.html
omni_driver/doc/html/search/functions_7.js
omni_driver/doc/html/search/functions_8.html
omni_driver/doc/html/search/functions_8.js
omni_driver/doc/html/search/mag_sel.png
omni_driver/doc/html/search/nomatches.html
omni_driver/doc/html/search/pages_0.html
omni_driver/doc/html/search/pages_0.js
omni_driver/doc/html/search/search.css
omni_driver/doc/html/search/search.js
omni_driver/doc/html/search/search_l.png
omni_driver/doc/html/search/search_m.png
omni_driver/doc/html/search/search_r.png
omni_driver/doc/html/search/typedefs_0.html
omni_driver/doc/html/search/typedefs_0.js
omni_driver/doc/html/search/variables_0.html
omni_driver/doc/html/search/variables_0.js
omni_driver/doc/html/search/variables_1.html
omni_driver/doc/html/search/variables_1.js
omni_driver/doc/html/search/variables_2.html
omni_driver/doc/html/search/variables_2.js
omni_driver/doc/html/search/variables_3.html
omni_driver/doc/html/search/variables_3.js
omni_driver/doc/html/search/variables_4.html
omni_driver/doc/html/search/variables_4.js
omni_driver/doc/html/search/variables_5.html
omni_driver/doc/html/search/variables_5.js
omni_driver/doc/html/annotated.html
omni_driver/doc/html/bc_s.png
omni_driver/doc/html/bdwn.png
omni_driver/doc/html/classes.html
omni_driver/doc/html/classOmniBase-members.html
omni_driver/doc/html/classOmniBase.html
omni_driver/doc/html/classOmniBase.png
omni_driver/doc/html/classOmniEthernet-members.html
omni_driver/doc/html/classOmniEthernet.html
omni_driver/doc/html/classOmniEthernet.png
omni_driver/doc/html/classOmniFirewire-members.html
omni_driver/doc/html/classOmniFirewire.html
omni_driver/doc/html/classOmniFirewire.png
omni_driver/doc/html/closed.png
omni_driver/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html
omni_driver/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html
omni_driver/doc/html/doxygen.css
omni_driver/doc/html/doxygen.png
omni_driver/doc/html/dynsections.js
omni_driver/doc/html/files.html
omni_driver/doc/html/ftv2blank.png
omni_driver/doc/html/ftv2cl.png
omni_driver/doc/html/ftv2doc.png
omni_driver/doc/html/ftv2folderclosed.png
omni_driver/doc/html/ftv2folderopen.png
omni_driver/doc/html/ftv2lastnode.png
omni_driver/doc/html/ftv2link.png
omni_driver/doc/html/ftv2mlastnode.png
omni_driver/doc/html/ftv2mnode.png
omni_driver/doc/html/ftv2mo.png
omni_driver/doc/html/ftv2node.png
omni_driver/doc/html/ftv2ns.png
omni_driver/doc/html/ftv2plastnode.png
omni_driver/doc/html/ftv2pnode.png
omni_driver/doc/html/ftv2splitbar.png
omni_driver/doc/html/ftv2vertline.png
omni_driver/doc/html/functions.html
omni_driver/doc/html/functions_func.html
omni_driver/doc/html/functions_type.html
omni_driver/doc/html/functions_vars.html
omni_driver/doc/html/hierarchy.html
omni_driver/doc/html/index.html
omni_driver/doc/html/jquery.js
omni_driver/doc/html/md_LICENSE.html
omni_driver/doc/html/nav_f.png
omni_driver/doc/html/nav_g.png
omni_driver/doc/html/nav_h.png
omni_driver/doc/html/omnibase_8h_source.html
omni_driver/doc/html/omniethernet_8h_source.html
omni_driver/doc/html/omnifirewire_8h_source.html
omni_driver/doc/html/open.png
omni_driver/doc/html/pages.html
omni_driver/doc/html/structOmniBase_1_1OmniState-members.html
omni_driver/doc/html/structOmniBase_1_1OmniState.html
omni_driver/doc/html/structOmniFirewire_1_1OmniInfo-members.html
omni_driver/doc/html/structOmniFirewire_1_1OmniInfo.html
omni_driver/doc/html/sync_off.png
omni_driver/doc/html/sync_on.png
omni_driver/doc/html/tab_a.png
omni_driver/doc/html/tab_b.png
omni_driver/doc/html/tab_h.png
omni_driver/doc/html/tab_s.png
omni_driver/doc/html/tabs.css
omni_driver/doc/latex/annotated.tex
omni_driver/doc/latex/classOmniBase.eps
omni_driver/doc/latex/classOmniBase.tex
omni_driver/doc/latex/classOmniEthernet.eps
omni_driver/doc/latex/classOmniEthernet.tex
omni_driver/doc/latex/classOmniFirewire.eps
omni_driver/doc/latex/classOmniFirewire.tex
omni_driver/doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex
omni_driver/doc/latex/dir_d44c64559bbebec7f509842c48db8b23.tex
omni_driver/doc/latex/doxygen.sty
omni_driver/doc/latex/hierarchy.tex
omni_driver/doc/latex/Makefile
omni_driver/doc/latex/md_LICENSE.tex
omni_driver/doc/latex/refman.tex
omni_driver/doc/latex/structOmniBase_1_1OmniState.tex
omni_driver/doc/latex/structOmniFirewire_1_1OmniInfo.tex
omni_driver/include/omnibase.h
omni_driver/include/omniethernet.h
omni_driver/include/omnifirewire.h
omni_driver/include/raw1394msg.h
omni_driver/launch/ethernet.launch
omni_driver/launch/ethernet_rviz.launch
omni_driver/launch/ethernet_slave.launch
omni_driver/launch/firewire.launch
omni_driver/launch/firewire_rviz.launch
omni_driver/launch/firewire_slave.launch
omni_driver/launch/omni.launch
omni_driver/launch/omni_manual.launch
omni_driver/msg/OmniButtonEvent.msg
omni_driver/msg/OmniFeedback.msg
omni_driver/msg/OmniState.msg
omni_driver/msg/TeleopControl.msg
omni_driver/src/omnibase.cpp
omni_driver/src/omniethernet.cpp
omni_driver/src/omnifirewire.cpp
omni_driver/src/omninode.cpp
omni_driver/src/raw1394msg.cpp
omni_driver/CMakeLists.txt
omni_driver/LICENSE.md
omni_driver/package.xml
omni_moveit/config/controllers.yaml
omni_moveit/config/fake_controllers.yaml
omni_moveit/config/joint_limits.yaml
omni_moveit/config/kinematics.yaml
omni_moveit/config/ompl_planning.yaml
omni_moveit/config/phantom_omni.srdf
omni_moveit/launch/default_warehouse_db.launch
omni_moveit/launch/demo.launch
omni_moveit/launch/fake_moveit_controller_manager.launch.xml
omni_moveit/launch/joystick_control.launch
omni_moveit/launch/move_group.launch
omni_moveit/launch/moveit.rviz
omni_moveit/launch/moveit_rviz.launch
omni_moveit/launch/omni_moveit_controller_manager.launch
omni_moveit/launch/ompl_planning_pipeline.launch.xml
omni_moveit/launch/phantom_omni_moveit_controller_manager.launch.xml
omni_moveit/launch/phantom_omni_moveit_sensor_manager.launch.xml
omni_moveit/launch/planning_context.launch
omni_moveit/launch/planning_pipeline.launch.xml
omni_moveit/launch/run_benchmark_ompl.launch
omni_moveit/launch/sensor_manager.launch.xml
omni_moveit/launch/setup_assistant.launch
omni_moveit/launch/trajectory_execution.launch.xml
omni_moveit/launch/warehouse.launch
omni_moveit/launch/warehouse_settings.launch.xml
omni_moveit/CMakeLists.txt
omni_moveit/package.xml
LICENSE.txt
README.md)
31 changes: 26 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,28 @@

# About
This is a ROS metapackage for both Sensable Phantom Omni (IEEE1394 connection)
and Geomagic Touch (Ethernet connection). Included in this metapackage is the
omni_driver package, which contains the omni_driver node. If you don't know or don't have ROS, you
should first go to http://www.ros.org/.
and Geomagic Touch (Ethernet/USB connection). As of this moment it has not been tested with the parallel port version of the Sensable Phantom Omni. Work is welcome to help support this feature. Included in this metapackage is the omni_driver package, which contains the omni_driver node. If you don't know or don't have ROS, you should first go to http://www.ros.org/. This repository is based off a number of other repositories. Many of the above repositories are evolutions of each other or are good descriptors of interacting with the various versions of the Pahntom Omni/Geomagic Touch.

The heritage of the current driver is:

```
Dane Powell's Driver ->
Francisco Suárez-Ruiz Driver ->
Grupo de Sistemas de Controle em Automação e Robótica Driver ->
This repository
```
Thanks go to:
- [https://gitlab.com/gscar-coppe-ufrj/ros/PhantomOmni](https://gitlab.com/gscar-coppe-ufrj/ros/PhantomOmni)
- [https://github.com/JimAdara/Touch_ROS_Driver](https://github.com/JimAdara/Touch_ROS_Driver)
- [https://github.com/sunghowoo/Control-of-two-UR5s-by-two-phantom-omnies-](https://github.com/sunghowoo/Control-of-two-UR5s-by-two-phantom-omnies-)
- [https://github.com/bharatm11/Geomagic_Touch_ROS_Drivers](https://github.com/bharatm11/Geomagic_Touch_ROS_Drivers)
- [https://github.com/fsuarez6/phantom_omni](https://github.com/fsuarez6/phantom_omni)
- [https://github.com/HumaRobotics/geomagic_touch](https://github.com/HumaRobotics/geomagic_touch)
- [https://github.com/iyerkritika/modular_teleop](https://github.com/iyerkritika/modular_teleop)
- [https://github.com/stephanniec/baxter_telehaptics](https://github.com/stephanniec/baxter_telehaptics)
- [https://github.com/ytsutano/raw_omni](https://github.com/ytsutano/raw_omni)
- [https://github.com/danepowell/phantom_omni](https://github.com/danepowell/phantom_omni)
- [https://github.com/danepowell/omni_description](https://github.com/danepowell/omni_description)

# Usage

Expand Down Expand Up @@ -49,15 +68,15 @@ If you want to use a FireWire device, run:
```sh
$ roslaunch omni_driver firewire.launch
```
Additionally, you need to update the serial number on the omni.launch file so that it matches yours. The Ethernet version doesn't need this step.
Additionally, you need to update the serial number on the omni.launch file so that it matches yours. The Ethernet/USB version doesn't need this step.
Go to omni_driver/launch/omni.launch and look for this line:
```sh
$ <param name="omni_type" type="string" value="$(arg type)" />
<param name="omni_serial" type="string" value="11129400000" />
```
Then change the value to match your device's serial number.

If Ethernet is the one you're using, then:
If Ethernet/USB is the one you're using, then:
```sh
$ roslaunch omni_driver ethernet.launch
```
Expand All @@ -69,6 +88,8 @@ $ roslaunch omni_driver ethernet_slave.launch
```

# Dependencies
> This is a work in progress. The docker image descrbed below does not contain the latest code from this repository. I am working on adding a Github Action to generate builds for multiple ROS versions and Ubuntu versions. This will take a little time. The first version that will be supported is ROS Melodic on Ubuntu 18.04 as this is the current version I am working on. Please be patient or feel free to create a PR for review. Different versions of the drivers and ROS will require loading of different libraries.

The list of dependencies is quite large, so we decided to provide a Docker image with
everything ready to run. Therefore, using this Software through Docker is recommended because very little
setting up is needed to get the program up and running. If Docker is your way to go, skip
Expand Down
5 changes: 4 additions & 1 deletion omni_controller/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ endif ()
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED
roscpp
geometry_msgs
std_msgs
joy)

find_package(Eigen3 REQUIRED)

set(EIGEN3_INCLUDE_DIR /usr/include/eigen3)

###################################
## catkin specific configuration ##
###################################
Expand Down Expand Up @@ -80,5 +83,5 @@ target_link_libraries(omni_controller ${catkin_LIBRARIES} robot_kinematics)

## Create test program
add_executable(robot_test ${PROJECT_SOURCE_DIR}/src/test/main.cpp ${PROJECT_SOURCE_DIR}/src/node/Omni.cpp)
target_link_libraries(robot_test robot_kinematics)
target_link_libraries(robot_test robot_kinematics ${catkin_LIBRARIES})

2 changes: 1 addition & 1 deletion omni_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ include_directories(
${catkin_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
include
"${EIGEN3_INCLUDE_DIR}"
${EIGEN3_INCLUDE_DIR}
)

## Declare a cpp library
Expand Down
Loading