Giter Site home page Giter Site logo

cvra / goldorak Goto Github PK

View Code? Open in Web Editor NEW
4.0 12.0 3.0 1.06 MB

Project Goldorak, CVRA's small robot for Eurobot 2016, running ROS

Home Page: http://www.cvra.ch/blog/2016/goldorak-post-mortem

Shell 1.00% CMake 4.00% C++ 60.83% Python 16.82% Makefile 0.13% TeX 9.93% C 7.30%
robot simulation ros eurobot

goldorak's Introduction

Project Goldorak

Match checklist

  1. Boot system (switch on 1)
  2. SSH into the robot and start a tmux.
  3. roslaunch goldorak_bringup goldorak.launch
  4. Wait for odom received
  5. Plug starter
  6. Take reference by pushing on fishing module's Y and Z axis until you hear a click.
  7. Open a new tmux pane (Ctrl-B then C).
  8. Edit smach_demo.py to set team color.
  9. roslaunch goldorak_bringup strategy.launch.
  10. Wait for waiting for starter and then arm emergency stop.
  11. Detach tmux (Ctrl-B then D), then exit SSH.
  12. Pray and pull the starter when told to.

Setup

On your computer

You'll need to create a virtual CAN interface to simulate the CAN interface on the robot

fab vcan:'vcan0'

On the robot / the BBB

Append the following to /etc/modules:

can
can_raw
vcan

Append the following to /etc/network/interfaces:

allow-hotplug can1

auto can1
iface can1 can static
	pre-up /usr/bin/env config-pin overlay cape-universaln
	pre-up /usr/bin/env config-pin P9.24 can
	pre-up /usr/bin/env config-pin P9.26 can

    bitrate 1000000
    samplepoint 0.875

Build & Run

Build the nodes and run with simulated motors

./build.sh
roslaunch goldorak_bringup goldorak.launch simulated_motors:=true

Then, you can give target points to the robot via the monitoring interface

roslaunch goldorak_bringup monitor.launch

Simulation (Gazebo)

The robot can also be simulated using Gazebo. In this case, the differential base control and odometry are handled by ROS Control. Higher level nodes will run as on the robot.

Run the simulation

roslaunch goldorak_simulation goldorak.launch

Simulation (ROS only)

The robot can also be simulated partially without Gazebo. Motor boards are simulated by a basic python script. Higher level nodes will run as on the robot.

Run the simulation

roslaunch goldorak_bringup goldorak.launch simulated_motors:=true

Dependencies

For dependencies, you should look at the setup guidelines in Setup.md.

goldorak's People

Contributors

antoinealb avatar stapelzeiger avatar syrianspock avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

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

goldorak's Issues

Config send once

Enable the sending of configuration to motor nodes at launch without the need of running a config server all the time.

Performance improvements of navigation

Some suggestions for performance improvements:

  • Implement a controller (PID ?) on the wheelbase position/orientation
  • Tune the local planner parameters to maximise perfs
  • Switch to a nodelets based architecture on all low-level nodes of the differential base (diffbase_controller, diffbase_odometry, uavcan_bridge)

Cleaner odometry node

  • Unused variable should be removed
  • Odometry update should be done out of the callback, we could trigger the odometry update via a binary semaphore or event to signal the new measurement reception.
  • Take time to measure performances of the asynchronous odometry
  • Establish and implement calibration process

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.