I agree with SteveO that there is nothing wrong with reinventing the wheel if you want to learn about wheels. And for a single application, 4 DoF arm, the IK is probably not too hard.
But I feel like I should mention that most of the kinematics libraries out there are mostly targeted towards Linux. And as such, probably not too hard to compile from ...
It is rather straightforward to implement inverse kinematics for a particular manipulator in C++. Of course, you need to begin with the inverse kinematic equations themselves. Putting those into code will only involve a few trigonometric functions such as acos, asin, and atan2 (use atan2 instead of atan), and probably a couple of square and square root ...
The Roomba expects binary data. When you type in gtkterm, you are sending ASCII data. (Unless there is a feature of gtkterm i don't know about). For example when you type "128" into the terminal, you are actually sending 3 bytes of data: [49 50 56]. And because many commands of the OI Spec are outside the typeable ASCII range, using the terminal in this ...
It sounds like you're excited to learn ROS. The best way to learn ROS well is to dive in and learn any necessary bits along the way. Once you finish going through EVERYTHING in the ROS tutorials you can tinker with a project like turtlebot.
Last but not least there is http://answers.ros.org/ for any ROS related questions you may have.
I took the ...
(This questions asks for an opinion which, in most stackexchange.com forums, is discouraged. I'll answer, but would appreciate knowing what is allowed in the robotics.stackexchange.com forum.)
The major difference between most Linux distributions and Android is that features normally relegated to different users are relegated to different applications on ...
Short answer: No. Suggested alternatives below.
The purpose of a compiler is to turn source code into something a machine with a particular computer architecture, like x86, can run. ARM7 is a different architecture. A tool that could statically convert a program from one machine architecture to the other and guarantee the 'correct' program results would be ...
Have you tried sending the example commands from the manual?
Make sure you are entering an OI mode before you try to send an actuator command or sensor reading command. Otherwise, the commands will be ignored.
Posting the commands you are sending would also be helpful in understanding the problem you are having.
Why do so many people keep "Underestimating the complexity of power supply design"?
I'm sure that you already know that every digital electronic device pulls a very brief (transient) surge of power when it is first plugged in and turned on -- at much higher current and power levels than the steady-state current and steady-state power during normal operation....
I believe I encountered the exact same problem that you are encountering. The short/easy fix is downgrade your kernel. The newer kernel version (later than 3.8.x) for UbuntuARM does not use device tree overlays and stores all of these ADC values in god knows where.
You'll also notice that your tutorial is indeed using kernel 3.8.13. One that still ...
To learn and use ROS, you do not need to know anything about Linux kernel development, and at first, you shouldn't need to worry about writing drivers. All you need to know is how to use a command line environment.
Like Jacksonkr said, the Turtlebot tutorials are pretty good. In addition, using Gazebo, you can simulate the robot without needing to have one ...
Well, if no connection with internet is a requirement, I would say that the best option could be using Julius with a self trained corpus model. In this case you can use your own language and intonation. As an advantage, the success percentage of the ASR unit will be higher than using a public trained corpus. As a disadvantage, this corpus will be useful just ...
This is because of using a newer version of gcc compiler (C++11).
Use static_cast<bool>() to resolve the issue.
success = move_group.move();
success = static_cast<bool>(move_group.move());
Met similar problem.
bool success = move_group.move()
bool success = move_group.move() == moveit::planning_interface::MoveItErrorCode::SUCCESS
Perhaps the update is messing with the code. https://robotics.stackexchange.com/a/14949/19080
I have figured out the solution for the problem. I was using the driver folder directly to run the package. Instead if you are going to use the driver on this link http://wiki.ros.org/xsens_mti_driver , follow exactly every step through.
Especially, execute this mtsdk_linux-x##_####.#.sh file as stated, and then follow the 5th step. Otherwise, you may get ...
Welcome to Robotics, Ryan. The ROS page you linked has quite a bit of information, and I am hoping you can please edit your question to clarify the steps you've performed from that page.
Specifically, Step 4.2 Load Firmware into Razor Board:
In this step you copy the Razor firmware from the ROS package and build it and load it into the board using the ...
Chapter 3.5 on page 26 of the user manual says that there are 3 ways to interface with the VN100. (2 different serial types, and SPI). SPI would be useful if you were interfacing with another microcontroller, but not so much for your computer.
Serial port 1 is "regular" RS232 logic levels. Which is +-12 Volts. If your computer has a serial port, you can ...
Depending on the resolution you need, you could use a few multi-channel ADC chips. The TLC1543IN is a through-hole (would work in a breadboard) 10-bit 11-input ADC that communicates over SPI. Connect however many you need to the same SPI bus, and then wire each chip's CS (chip select) pin to a GPIO on the Xavier. Whenever a chip's CS line is held high (at ...
I suggest adopting an existing library.
ROS can be installed on OS X
Tasks also runs on OS X.
Each can also be integrated with V-REP or gazebo fairly easily for simulation and visualization. I have also created a homebrew-robotics tap for installing various robotics related tools on OS X via homebrew and a set of Linux setup scripts in robotics_setup.
I did several implementations of IK with different setups (up to 8-DOF)
Of course you can just sit down and write the algorithms on your own. (Assuming you know what are you doing) For this approach I suggest using the Eigenlib and some basic maths.
Anywas the more elegant approach ( from my point of view) is using matlab: implement the algorithm as you like ...
Are you sure roscore is running? "Failed to contact master" is usually an issue with roscore not initializing.
If roscore indeed is running but you are still getting the message, check if ROS_MASTER_URI is set to something other than the default. Or run "rosnode list" and paste the output here.
As one user has said, ROS is a very good framework for robotics platforms that supports python and c++. I highly recommend downloading the VirtualBox image of ROS and giving it a try, it takes about 5 minutes excluding download.
ROS will give you a communication framework between machines on a network, and also between subsystems on the robot (mobility, ...
Ubuntu is fine if you are familiar with it, if you start having jitter issues you can add the real time mods to the kernel but that is almost certainly not a problem you will face. Adafruit has some decent python libraries for the beagle bone black at https://github.com/adafruit/adafruit-beaglebone-io-python. Genrally it is best to prototype in the easiest ...
You're going to want to do this using ros. This will allow you to use both python and cpp. I would reccomend doing all control and estimation in cpp and and camera stuff in python. Ros also works on networks of computers so you will be able to communicate with other linux machines running ros on the same network.
a couple of years ago I tried Julius and it worked quite well. It is documented here, hope it helps:
Also for completeness, I did find a Julius model for Brazilian Portuguese, but was rather underwhelmed with its performance – Julius would take several seconds to process any utterance, and usually get what I said hilariously wrong. A second model that promised improved performance for dictation would require me to recompile Julius in order to work, but at ...
robotergarten gave some really interesting tips, but in the end I decided to roll my own Google Speech client, using sox to record the user's voice. The ability to work without an Internet connection would be nice but is not really required for my demo, and response time is short enough.