Skip to content
This repository has been archived by the owner on Dec 1, 2020. It is now read-only.

Commit

Permalink
Ready for v1.0.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Olav de Haas committed Dec 13, 2019
1 parent 2c9f4b4 commit 83847b8
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 38 deletions.
62 changes: 24 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
# Input Device
# 🕹️ Input Device
The input device is embedded in the crutch, it allows the pilot to control the exoskeleton.

## Install ros_lib
Follow this tutorial to install ros on arduino (make sure to clone the jade-devel branch, which supports kinetic):
http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup
| Branch | Build Status |
| ------ |:------------:|
| master | [![Build Status](https://api.travis-ci.com/project-march/input-device.svg?branch=master)](https://travis-ci.com/project-march/input-device) |
| develop | [![Build Status](https://api.travis-ci.com/project-march/input-device.svg?branch=develop)](https://travis-ci.com/project-march/input-device) |

However running this on a ESP32 is automatically using the ArduinoTcpHardware instead of the default. See this issue:
https://github.com/ros-drivers/rosserial/issues/354
For now this can be fixed by adjusting the ros.h file and deleting the define(ESP32) in the if statement
## 🛠️ Building
This project uses the cross platform builder [platformio](https://docs.platformio.org/en/latest/what-is-platformio.html).
So you will need to install that first.
Then to install the libraries run:

## Add Custom Messages
Add your custom messages to the rosserial_msgs package in rosserial. And build again ros_lib in the lib folder of this project. http://wiki.ros.org/rosserial/Tutorials/Adding%20Other%20Messages. However, the master (the terminal that run the roscore) should also have access to the custom messages. This means that the rosserial project with the custom messages should be sourced.
pio lib install

## Add Messages from package
http://wiki.ros.org/rosserial_arduino/Tutorials/Adding%20Custom%20Messages

## Building
The project can be built with `pio run`.
The project can then be built with `pio run`.
There exist three environments for building:

1. `demo`: builds in debug mode and does not wait for a response from the
master.
2. `debug`: builds in debug mode.
2. `debug`: builds in debug mode. _This is the default._
2. `release`: builds in release mode.

To choose an environment use the `--environment (-e)` option. For example to
Expand All @@ -32,26 +29,15 @@ build the release environment run:
This only builds the project. To actually upload the project, connect the
input device and use the `--target (-t)` option.

pio run -e <choose an env> -t upload

## Configure CLion
1. Install platformio and integrate it within the Clion ide, using the
following
[tutorial](https://docs.platformio.org/en/latest/ide/clion.html)
2. Git clone the balance repository
3. Initialise platformio through the terminal using ```platformio init
--ide clion ``` in the balance_ipd_firmware directory.
4. Before the device can be connected a wifi access point needs to be
made. The SSID and password of which needs to be specified at the top
of ros_wifi.h in the ipd_firmware directory. In addition the ip
address of the computer running ROS needs to be known and added to
the same header file.
5. You can build the project with ```pio run``` and upload with ```pio run --target upload```

## Launch process
Once a connection is made through wifi, there are two ways that the
input from the ipd can be seen through ROS:

1. run ```roscore``` and ``` rosrun rosserial_python serial_node.py
tcp``` in terminal
2. launch ```roslaunch balance_ipd balance_ipd.launch```
pio run -t upload

## 🚀 Launch process
The input device can be launched with a ROS serial connection.
For this a workspace with the [march repository](https://github.com/project-march/march)
is required.

roslaunch march_launch serial_connection.launch

## 🤖 Install ros_lib
This project uses ROS messages from the [`march_shared_resources`](https://github.com/project-march/march/tree/develop/march_shared_resources) package.
So when these messages are changed the `ros_lib` in the `lib/` directory will need to be updated. How to do this is described here: <http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup>.
3 changes: 3 additions & 0 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
description = Embedded software for the input device embedded in the crutch
default_envs = debug

[env]
platform = espressif32
Expand Down

0 comments on commit 83847b8

Please sign in to comment.