4

It is usually a combination of 2 different pieces software. Generally a higher level software which implements most of your autonomy, advanced navigation algorithms, and a lower level software which deals with interfacing the motors, a simple state estimator, and accepts waypoint commands. Most common is ROS for the higher level software, and a PX4 for lower ...


3

There are quite a lot options for this, each with different features, strengths and weaknesses. A few examples: Gazebo (as mentioned by edwinem): very well known in the robotics community, some would say it's a little bit dated Microsoft Airsim (also mentioned by edwinem): originally developed for autonomous drones and autonomous driving, uses the unreal ...


2

Have you taken a look at LeJOS? It's a port of the Java VM and SDK to the various Lego MINDSTORMS robot kits. The Lego kits themselves are quite capable as hobbyist robotics kits go, I bought the NXT version years ago and had a lot of fun with it. The newest EV3 kit has a powerful ARM CPU and an SD card reader for loading software, it looks like a good ...


2

I would say that in order to learn C++ up to an acceptable level there is no shortcut: you learn it by using it. And more often than not you learn it by using it together with others that know more than you. Then, I would assess three things: Are there C++ projects in my domain of expertise to which I’d like to contribute? This could be open-source ones, or ...


2

How does a controller translate a move x 20 units to moving the stepper x amount of steps and keep dimensional accuracy? If the CAD G-code says move 200 mm in the x direction, how to you translate the G-code to tell the stepper motor that 200 mm? The G-Code interpreter interprets the motion command. It applies some basic transformations on it to make sure ...


1

ROS the Robot Operating System provides a framework and functions for robots - ROS is modular and operates different functions in separate nodes - each their own process. Each node can publish or subscribe to topics(messages) managed through a central core process - nodes can be distributed across machines. ROS has known data structures for messages or you ...


1

Another alternative are robots based on the Raspberry Pi or Arduino microcontrollers. The Pi4J library implements convenient API's for accessing Raspberry Pi I/O's, while the JArduino distribution enables controlling Arduino boards from Java over a serial or Bluetooth connection. You can search for "arduino robot kit" or "raspberry pi robot ...


1

As @jsotola guessed in the comments, it is possible you have magnetic interference between your motors and hall effect encoders. This exact thing happened to me on a very compact electo-mechanical design for a robot hand seen here. If I remember correctly, we wanted to keep our magnetic encoders so we moved the motors farther away. But you might be able ...


1

If you want to test everything together then you need to setup a simulator like Gazebo(integrates well with ROS which I assume you are using). Other options could be Airsim, or some custom simulator. These options though and are more involved in required setup on your part. Testing separately: SLAM is pretty easy to test. Just download some dataset such as ...


1

We have a ShopBot at our Maker Space and have had a similar issue. In short, adjust the distance between your limit-switch trigger screws and your hard-stop. If your hard-stop is too far away from your limit-switch trigger screw and allows the magnetic limit-switch to disengage i.e. turn off after passing the limit switch the software encounters an ...


Only top voted, non community-wiki answers of a minimum length are eligible