GithubHelp home page GithubHelp logo

roko_ros's Introduction

roko_ros

Project structure

This project contains two ros packages: roko_robot and robot_software.

roko_robot

This package imitates the real robot behavior (hardware simulation). It uses math to compute the robot motion and to process incoming control commands. It also applies noisy measurement models to simulate robot's sensors.

robot_software

This package contains high-level software of the robot - its brains. This package should include the navigation, control and general data processing algorithms. It also accounts for all the decision making.

Right now this package contains the following nodes:

  • control_node

Setup

Place the contents of this repo to the /src folder of your catkin workspace. Navigate to the root of your catkin workspace and run

catkin_make

to build the ros packages. If you see any compilation errors - it is likely that the cause is custom message dependacies. It should be easily fixed by running

catkin_make

one more time. If you have any futher errors - please sumbit an issue to this repo.

Launching all at once

You can easily launch the whole package with a single command

roslaunch robot_software navigation.launch

This will launch robot simulation node roko_node, control algorithm control_node and navigation_node as well as predefined Rviz window for visualization.

Running the nodes one by one for easier debug

First thing you need to do - is to launch ROSCORE

roscore

Open the second terminal window and launch roko_node to start simulating robot behaviour:

rosrun roko_robot roko_node.py

In the third terminal window you can run the py_control_node:

rosrun robot_software py_control_node.py

In the fourth terminal run the navigation_node:

rosrun robot_software navigation_node

You can check the sensors data by monitoring the topic:

rostopic echo /roko/sensors_data

Also you can send control commands manually without using the control node:

rostopic pub -1 /control_data roko_robot/control 0 2 1

This will tell the robot that the desired rotation speed of the left wheel equals to 2 rad/s and for the right wheel - 1 rad/s.

roko_ros's People

Contributors

frdky avatar klelkov avatar

Watchers

 avatar  avatar

roko_ros's Issues

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.