Giter VIP home page Giter VIP logo

eth_supermegabot's Introduction

ETH SuperMegaBot

Build your own autonomous all-terrain robot.

alt tag

This repository contains all hardware designs, code and part lists and instructions to build and setup a fully autonomous all-terrain mobile robot.

Quick-start

If your robot is all set-up and you only want to set-up and use the software on client side, please follow these instructions:

Robot Manufacturing

Building the hardware components is straightforward. All drawings are ready prepared to be produced with various production techniques. The overall CAD models were created with NX 12 and can be downloaded online.

Furthermore, we have readily prepared drawings to be send as jobs for:

Electronics Manufacturing

Robot Assembly

Robot-setup

After robot assembly, its computer and network need to be setup:

Organisation

This robot was designed in the ETH Construction Robotics group.

eth_supermegabot's People

Contributors

dhoeller19 avatar farbod-farshidian avatar floriantschopp avatar gawela avatar haochihlin avatar hermannsblum avatar johannespankert avatar junja94 avatar lorenwel avatar lucabartolomei avatar mchli avatar nkhedekar avatar nrjl avatar smauq avatar tsandy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eth_supermegabot's Issues

Compilation error smb_confusor

Screen Shot 2019-09-17 at 11 35 16 1

It has the bug under flag `-DCMAKE_BUILD_TYPE=Release`. But it could compile under an individual run with flag `-DCMAKE_BUILD_TYPE=Debug`.

Add bmm forward propagation publishing

If you add the below then you can visualise the BMM forward propagated pose using the \T_w_i message. This is useful for task 2 of the visual-inertial tutorial.

diff --git a/summer_school_private/smb_confusor/src/SmbConFusor.cpp b/summer_school_private/smb_confusor/src/SmbConFusor.cpp
index 8b12033..fa4f503 100644
--- a/summer_school_private/smb_confusor/src/SmbConFusor.cpp
+++ b/summer_school_private/smb_confusor/src/SmbConFusor.cpp
@@ -282,6 +282,7 @@ void SmbConFusor::baseOdometryCallback(const std_msgs::Float64MultiArray::ConstP
       BaseMotionModelParameters bmmParams = bmmPropagator_.propagate(t_meas);
       confusion::Pose<double> T_w_i = bmmParams.T_w_b * T_imu_base_.inverse();
       tfBroadcaster_.sendTransform(tf::StampedTransform(getTfMsg(T_w_i), ros::Time::now(), "world", "imu"));
+      pubRtPose_.publish(getMsg(T_w_i, "/world"));
     }
   }

Compilation error opencv3

Hello,

I'm getting this error compiling opencv. Can someone help me figure it out?
I followed every step in the documentation.

Thanks,
Michael

[ 50%] Built target opencv3_contrib
[ 56%] �[34m�[1mPerforming configure step for 'opencv3_src'�[0m
-- Looking for ccache - not found
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found suitable version "1.2.11", minimum required is "1.2.3")
-- Could NOT find Jasper (missing: JASPER_LIBRARIES JASPER_INCLUDE_DIR)
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found OpenEXR: /usr/lib/x86_64-linux-gnu/libIlmImf.so
-- Checking for module 'gstreamer-base-1.0'
-- No package 'gstreamer-base-1.0' found
-- Checking for module 'gstreamer-video-1.0'
-- No package 'gstreamer-video-1.0' found
-- Checking for module 'gstreamer-app-1.0'
-- No package 'gstreamer-app-1.0' found
-- Checking for module 'gstreamer-riff-1.0'
-- No package 'gstreamer-riff-1.0' found
-- Checking for module 'gstreamer-pbutils-1.0'
-- No package 'gstreamer-pbutils-1.0' found
-- Checking for module 'gstreamer-base-0.10'
-- No package 'gstreamer-base-0.10' found
-- Checking for module 'gstreamer-video-0.10'
-- No package 'gstreamer-video-0.10' found
-- Checking for module 'gstreamer-app-0.10'
-- No package 'gstreamer-app-0.10' found
-- Checking for module 'gstreamer-riff-0.10'
-- No package 'gstreamer-riff-0.10' found
-- Checking for module 'gstreamer-pbutils-0.10'
-- No package 'gstreamer-pbutils-0.10' found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Found TBB (env): /usr/lib/x86_64-linux-gnu/libtbb.so
-- found Intel IPP (ICV version): 2017.0.3 [2017.0.3]
-- at: /home/michael/ethz_ws/build/opencv3_catkin/opencv3_build/3rdparty/ippicv/ippicv_lnx
-- found Intel IPP IW sources: 2017.0.3
-- at: /home/michael/ethz_ws/build/opencv3_catkin/opencv3_build/3rdparty/ippicv/ippiw_lnx
-- Could not find OpenBLAS include. Turning OpenBLAS_FOUND off
-- Could not find OpenBLAS lib. Turning OpenBLAS_FOUND off
-- Could NOT find Atlas (missing: Atlas_CLAPACK_INCLUDE_DIR)
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- Could NOT find JNI (missing: JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-- Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)
-- The imported target "vtkRenderingPythonTkWidgets" references the file
"/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
but this file does not exist. Possible reasons include:

  • The file was deleted, renamed, or moved to another location.
  • An install or uninstall procedure did not complete successfully.
  • The installation package was faulty and contained
    "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
    but not all the files it references.

-- The imported target "vtk" references the file
"/usr/bin/vtk"
but this file does not exist. Possible reasons include:

  • The file was deleted, renamed, or moved to another location.
  • An install or uninstall procedure did not complete successfully.
  • The installation package was faulty and contained
    "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
    but not all the files it references.

-- Found VTK 6.3.0 (/usr/lib/cmake/vtk-6.3/UseVTK.cmake)
-- Caffe: NO
-- Protobuf: NO
-- Glog: YES
-- freetype2: YES
-- harfbuzz: YES
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Module opencv_ovis disabled because OGRE3D was not found
-- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
-- Found installed version of gflags: /home/michael/ethz_ws/devel/lib/cmake/gflags
-- Detected gflags version: 2.2.1
-- Found installed version of Eigen: /usr/lib/cmake/eigen3
-- Found required Ceres dependency: Eigen version 3.3.4 in /usr/include/eigen3
-- Found required Ceres dependency: glog
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/gflags/gflags-targets.cmake:37 (message):
Some (but not all) targets in this export set were already defined.

Targets Defined: gflags_shared;gflags_nothreads_shared

Targets not yet defined: gflags_static;gflags_nothreads_static

Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/gflags/gflags-config.cmake:10 (include)
/usr/local/lib/cmake/Ceres/FindGflags.cmake:327 (find_package)
/usr/local/lib/cmake/Ceres/CeresConfig.cmake:308 (find_package)
/home/michael/ethz_ws/build/opencv3_catkin/opencv3_contrib_src/modules/sfm/CMakeLists.txt:8 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/michael/ethz_ws/build/opencv3_catkin/opencv3_build/CMakeFiles/CMakeOutput.log".
See also "/home/michael/ethz_ws/build/opencv3_catkin/opencv3_build/CMakeFiles/CMakeError.log".
CMakeFiles/opencv3_src.dir/build.make:109: recipe for target 'opencv3_src-prefix/src/opencv3_src-stamp/opencv3_src-configure' failed
make[2]: *** [opencv3_src-prefix/src/opencv3_src-stamp/opencv3_src-configure] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/opencv3_src.dir/all' failed
make[1]: *** [CMakeFiles/opencv3_src.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

Using the SMB 261 VI sensor

Here's the rough method we figured out for resetting the VI sensor reliably if not working:

  1. Close all ros process running.
  2. Kill any existing DHCP clients.
    ps aux | grep dhclient
    sudo kill -9 <process number> as many times as required.
  3. Reboot the VI sensor.
    ssh [email protected]
    reboot
    wait approx 20 seconds. Check it has rebooted with ping 10.0.0.1.
  4. Restart the DHCP client: sudo dhclient enx<tab complete here>. This takes time.
  5. Start the launch files now.

The main problem is that the VI sensor is DHCP master so the PC needs to request an IP from the sensor.

Compilation error libsmb_global_planner

Installed correct version of ompl in ROS. Error messge:

/home/parallels/Workspace/asl/devel/lib/libsmb_global_planner.so: undefined reference to `ompl::geometric::RRTConnect::RRTConnect(std::shared_ptr<ompl::base::SpaceInformation> const&)'
/home/parallels/Workspace/asl/devel/lib/libsmb_global_planner.so: undefined reference to `ompl::base::PlannerData::PlannerData(std::shared_ptr<ompl::base::SpaceInformation> const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/parallels/Workspace/asl/devel/lib/smb_global_planner/smb_global_planner_node] Error 1
make[1]: *** [CMakeFiles/smb_global_planner_node.dir/all] Error 2
make: *** [all] Error 2

Missing dependency in smb_path_planner

In the smb_path_planner packages, where the yaml-cpp package is used the following should be added to the package.xml:

<depend>yaml_cpp_catkin</depend>

This should solve any linking issues relating to the yaml-cpp packages that sometimes occur when using catkin build.

rosserial

For the battery monitor, the rosserial package would be required (https://github.com/ros-drivers/rosserial/).
Please add this to the ws_tools.

To connect to the arduino, one needs the command:

rosrun rosserial_python serial_node.py _port:=/dev/ttyUSB0 _baud:=250000

Missing dependency in detector

In the detector packages, where the yaml_tools package is used the following should be added to the package.xml:

yaml_tools
This should solve any linking issues relating to the yaml_tools packages that sometimes occur when using catkin build.

Missing dependency in octomap_world

In the octomap_world packages, where the package opencv3_catkin is used the following should be added to the package.xml:

opencv3_catkin
This should solve any linking issues relating to the opencv3_catkin packages that sometimes occur when using catkin build.

gazebo plugin "libgazebo_ros_multicamera.so" error when "launch smb_velodyne.urdf.xacro"

when i launch the smb_velodyne.urdf.xacro , terminate will shutdown showing the following error. I find out that it is because the libgazebo_ros_multicamera.so doesn't work.
i do the things under Ubuntu 18.04, ROS melodic, Gazebo9,

[gazebo-2] process has died [pid 23432, exit code 139, cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -e ode /home/sunny/ros/supermegabot_ws/src/eth_supermegabot/summer_school_private/anymal_research/gazebo_worlds/worlds/empty.world __name:=gazebo __log:=/home/sunny/.ros/log/e8ebfc44-006c-11ea-9f57-302432ae9def/gazebo-2.log].
log file: /home/sunny/.ros/log/e8ebfc44-006c-11ea-9f57-302432ae9def/gazebo-2*.log

Ask for permission

Hi,
I am the guy who is testing all package installation.
Could someone add me to this repo that I could commit an updated branch?
(maybe @gawela ?)
Or I need to fork and send a pull request later?

Cheers
HaoChih, Lin

Missing dependency in smb_confuser

When compiling smb_confuser package at the first time, it could not find Ceres. Need to compile Ceres first then compile smb_confuser again.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.