glumb / mrc Goto Github PK
View Code? Open in Web Editor NEWMicroPede robot controller ๐ค๐ฅ๐พ
Home Page: https://micropede.de
License: MIT License
MicroPede robot controller ๐ค๐ฅ๐พ
Home Page: https://micropede.de
License: MIT License
Can you please better explain what do the values in the geometry array present.
float geometry[5][3] = { { 4.2, 0, 8.5 }, { 0, 0, 9.5 }, { 1, 0, 1.85 }, { 14.8, 0, 0 }, { 0, 0, -2.2 } };
Thank you!
Hi,
I've tried to run your library on my UNO and it says that program size (70250 bytes) is way too high then I can handle (32kb).
Is it possible to reduce it to 32kb or I need to buy another arduino version?
P.S. Even Teensy 3.1 won't fit your lib with it 64kb and you mentioned it in .ini file.
Sorry i am new to platformio could you please help me out
Processing megaatmega2560 (platform: atmelavr; board: megaatmega2560; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/megaatmega2560.html
PLATFORM: Atmel AVR > Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)
HARDWARE: ATMEGA2560 16MHz 8KB RAM (248KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 11 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <SPI> 1.0
|-- <TimerOne>
|-- <Adafruit SSD1306> 1.1.2
| |-- <SPI> 1.0
| |-- <Wire> 1.0
| |-- <Adafruit GFX Library> 1.1.5
|-- <Adafruit GFX Library> 1.1.5
|-- <Wire> 1.0
|-- <Servo> 1.1.3
|-- <EEPROM> 2.0
Compiling .pioenvs\megaatmega2560\src\EEPromStorage.cpp.o
Compiling .pioenvs\megaatmega2560\src\IOLogic.cpp.o
Compiling .pioenvs\megaatmega2560\src\Kinematic.cpp.o
Compiling .pioenvs\megaatmega2560\src\Logger.cpp.o
Compiling .pioenvs\megaatmega2560\src\MRCPParser.cpp.o
Compiling .pioenvs\megaatmega2560\src\MRILParser.cpp.o
Compiling .pioenvs\megaatmega2560\src\RingBuffer.cpp.o
Compiling .pioenvs\megaatmega2560\src\RobotController.cpp.o
src\EEPromStorage.cpp: In member function 'void EEPromStorage::appendMessage(char*, char)':
src\EEPromStorage.cpp:27:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (size_t i = 0; i < length; i++) {
^
src\EEPromStorage.cpp:34:19: warning: array subscript has type 'char' [-Wchar-subscripts]
message[length] = 0;
^
src\EEPromStorage.cpp: In member function 'char EEPromStorage::getMessage(unsigned int, char*)':
src\EEPromStorage.cpp:54:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (size_t i = 0; i < messageLength; i++) {
^
src\IOLogic.cpp: In member function 'void IOLogic::addCondition(unsigned int, unsigned int)':
src\IOLogic.cpp:17:22: error: 'INPUT_PULLDOWN' was not declared in this scope
pinMode(pin, INPUT_PULLDOWN);
src\IOLogic.cpp: In member function 'void IOLogic::setOutput(unsigned int, unsigned int)':
src\IOLogic.cpp:32:20: warning: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
logger.info(pin);
^
In file included from src\IOLogic.cpp:4:0:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char *text,
^
src\IOLogic.cpp:34:22: warning: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
logger.info(state);
^
In file included from src\IOLogic.cpp:4:0:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char *text,
^
*** [.pioenvs\megaatmega2560\src\IOLogic.cpp.o] Error 1
src\MRCPParser.cpp: In member function 'void MRCPParser::parseCommand(char*, unsigned int)':
src\MRCPParser.cpp:83:36: warning: invalid conversion from 'char' to 'const char*' [-fpermissive]
logger.info((char)buffer[0]);
^
In file included from src\MRCPR.h:9:0,
from src\MRILParser.h:10,
from src\MRCPParser.h:6,
from src\MRCPParser.cpp:1:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char *text,
^
src\MRCPParser.cpp: In member function 'void MRCPParser::process()':
src\MRCPParser.cpp:164:20: warning: enumeration value 'HALT' not handled in switch [-Wswitch]
switch (this->mrcpMode) {
^
src\MRCPParser.cpp:164:20: warning: enumeration value 'EXECUTE' not handled in switch [-Wswitch]
In file included from src\MRCPR.h:9:0,
from src\MRILParser.h:10,
from src\MRILParser.cpp:1:
src\Logger.h: In member function 'void MRILParser::parse(char*, unsigned int)':
src\Logger.h:24:10: note: initializing argument 1 of 'void Logger::warning(String, bool)'
void warning(String text,
^
src\MRILParser.cpp:254:42: error: no matching function for call to 'Logger::warning(float&)'
_logger.warning(value);
^
In file included from src\MRCPR.h:9:0,
from src\MRILParser.h:10,
from src\MRILParser.cpp:1:
src\Logger.h:24:10: note: candidate: void Logger::warning(String, bool)
void warning(String text,
^
src\Logger.h:24:10: note: no known conversion for argument 1 from 'float' to 'String'
src\Logger.h:24:10: note: initializing argument 1 of 'void Logger::warning(String, bool)'
*** [.pioenvs\megaatmega2560\src\MRILParser.cpp.o] Error 1
In file included from src\RobotController.cpp:2:0:
src\RobotController.h: In constructor 'RobotController::RobotController(VarSpeedServo**, Kinematic&, float (*)[2], void (*)(float*), void (*)(float*))':
src\RobotController.h:119:28: warning: 'RobotController::Servos' will be initialized after [-Wreorder]
VarSpeedServo *Servos[6];
^
src\RobotController.h:118:16: warning: 'Kinematic& RobotController::_Kinematic' [-Wreorder]
Kinematic &_Kinematic;
^
src\RobotController.cpp:47:1: warning: when initialized here [-Wreorder]
RobotController::RobotController(VarSpeedServo *servos[],
^
In file included from src\RobotController.cpp:2:0:
src\RobotController.h:118:16: warning: 'RobotController::_Kinematic' will be initialized after [-Wreorder]
Kinematic &_Kinematic;
^
src\RobotController.h:95:32: warning: 'float RobotController::logicalAngleLimits [6][2]' [-Wreorder]
float logicalAngleLimits[6][2];
^
src\RobotController.cpp:47:1: warning: when initialized here [-Wreorder]
RobotController::RobotController(VarSpeedServo *servos[],
^
src\RobotController.cpp: In member function 'void RobotController::process()':
src\RobotController.cpp:384:49: warning: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
logger.info(currentInterpolationStep);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char *text,
^
src\RobotController.cpp:385:48: warning: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
logger.info(totalInterpolationSteps);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char *text,
^
src\RobotController.cpp:480:16: warning: enumeration value 'CIRCULAR' not handled in switch [-Wswitch]
switch (this->movementMethod) {
^
src\RobotController.cpp:596:27: error: no matching function for call to 'Logger::info(float&)'
logger.info(dx);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:27:10: note: candidate: void Logger::info(String, bool)
void info(String text,
^
src\Logger.h:27:10: note: no known conversion for argument 1 from 'float' to 'String'
src\Logger.h:30:10: note: candidate: void Logger::info(const char*, bool)
void info(const char *text,
^
src\Logger.h:30:10: note: no known conversion for argument 1 from 'float' to 'const char*'
src\RobotController.cpp:597:27: error: no matching function for call to 'Logger::info(float&)'
logger.info(dy);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:27:10: note: candidate: void Logger::info(String, bool)
void info(String text,
^
src\Logger.h:27:10: note: no known conversion for argument 1 from 'float' to 'String'
src\Logger.h:30:10: note: candidate: void Logger::info(const char*, bool)
void info(const char *text,
^
src\Logger.h:30:10: note: no known conversion for argument 1 from 'float' to 'const char*'
src\RobotController.cpp:598:27: error: no matching function for call to 'Logger::info(float&)'
logger.info(dz);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:27:10: note: candidate: void Logger::info(String, bool)
void info(String text,
^
src\Logger.h:27:10: note: no known conversion for argument 1 from 'float' to 'String'
src\Logger.h:30:10: note: candidate: void Logger::info(const char*, bool)
void info(const char *text,
^
src\Logger.h:30:10: note: no known conversion for argument 1 from 'float' to 'const char*'
src\RobotController.cpp:599:27: error: no matching function for call to 'Logger::info(float&)'
.
.
.
.
.
.
.
.
.
.
.
.
.
.
src\RobotController.cpp:645:53: error: no matching function for call to 'Logger::info(float&, bool)'
logger.info(tmpTargetPose[4], false);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:27:10: note: candidate: void Logger::info(String, bool)
void info(String text,
^
src\Logger.h:27:10: note: no known conversion for argument 1 from 'float' to 'String'
src\Logger.h:30:10: note: candidate: void Logger::info(const char*, bool)
void info(const char *text,
^
src\Logger.h:30:10: note: no known conversion for argument 1 from 'float' to 'const char*'
src\RobotController.cpp:646:53: error: no matching function for call to 'Logger::info(float&, bool)'
logger.info(tmpTargetPose[5], false);
^
In file included from src\RobotController.cpp:3:0:
src\Logger.h:27:10: note: candidate: void Logger::info(String, bool)
void info(String text,
^
src\Logger.h:27:10: note: no known conversion for argument 1 from 'float' to 'String'
src\Logger.h:30:10: note: candidate: void Logger::info(const char*, bool)
void info(const char *text,
^
src\Logger.h:30:10: note: no known conversion for argument 1 from 'float' to 'const char*'
src\RobotController.cpp: In member function 'float RobotController::getCurrentPose(RobotController::POSITION)':
src\RobotController.cpp:161:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
src\RobotController.cpp: In member function 'float RobotController::getTargetPose(RobotController::POSITION)':
src\RobotController.cpp:274:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
*** [.pioenvs\megaatmega2560\src\RobotController.cpp.o] Error 1
Hi,
I am working with UR5 as a 6DOF robot and I connect to UR_modern driver trough ROS Kinetic. Actually, I need to translate a g-code file to robot positions. Hence, I tried to find out your g-code insertion method in order to combine it with my robot controller, but I couldn't distinguish it. I would be thankful if you could make this step of your program (g-code interpreting) more clear?
Is there any configuration for the mp-robot-c wich can be used out-of-the-box (like with the https://github.com/glumb/mrc/blob/master/config/mp-robot-d.h) ?
If yes - can you please uplad it to this repository ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.