Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/simulator implementation ky #1

Open
wants to merge 35 commits into
base: main
Choose a base branch
from

Conversation

NhiNguyencmt8
Copy link
Collaborator

Simulation Lidar and IMU done. I'll update the README on the main repo

NhiNguyencmt8 and others added 30 commits August 7, 2023 13:47
2. Updated CMakeLists.txt files.
3. Initial implementation of real robot files (UNTESTED).
2. Added Apptainer definition files to allow building/testing with containers.
2. Added Ackermann steering control interface and real robot code.
3. Cleaned up code.
4. Fixed bugs related to Lua dependency (code doesn't actually need Lua).
Since Ackermann steering doesn't yet exist in ARGoS3, generic classes are added for the time being under the argos3-deepracer repo. Once this is fully tested and works, a PR should be submitted to the `argos3` repo for integration. At this point, the integration should work out as follows:

    - `plugins/robots/deepracer/control_interface/ci_ackermann_steering_actuator.*` -> `plugins/robots/generic/control_interface/ci_ackermann_steering_actuator.*`
    - `plugins/robots/deepracer/simulator/ackermann_steering_default_actuator.*` -> `plugins/robots/generic/simulator/ackermann_steering_default_actuator.*`
    - `plugins/robots/deepracer/simulator/dynamics2d_ackermannsteering_control.*` -> `plugins/simulator/physics_engines/dynamics2d/dynamics2d_ackermannsteering_control.*`
    - `plugins/robots/deepracer/simulator/deepracer_imu_sensor_equipped_entity.*` -> `plugins/simulator/entities/imu_sensor_equipped_entity.*`
    - `plugins/robots/deepracer/simulator/ackermann_wheeled_entity.*` -> `plugins/simulator/entities/ackermann_wheeled_entity.*`
Implementation is incomplete and untested. Currently only a bare-bones implementation to have structures/placeholders in place; not even ready for building.
1. Updated the CI to use regular steering angle and throttle speed.
2. Fixed typo to avoid confusion in indicating vehicle speed from throttle (instead of 'throttled_speed' which could mean 'reduced speed', changed to 'throttle_speed').
3. Updated Ackermann wheeled entity implementation to allow setting of steering and throttle.
The IMU sensor is inspired heavily by the [positioning sensor](https://github.com/ilpincy/argos3/blob/master/src/plugins/robots/generic/simulator/positioning_default_sensor.cpp). Accordingly the CI of the IMU sensor has also been updated. The `real_deepracer_imu_sensor` class hasn't been updated yet.
Build was successful, but code has not been tested on robot. Also fixed some variable names.
1. Modified shared ownership of node object (now a shared pointer) by the device classes.
2. Updated real robot version of the LIDAR sensor to allow sending of start and stop service requests.
3. Updated wheel placement positions.
4. Updated Apptainer image definition file for compiling ARGoS on a real robot.
1. Included .obj and .blend files.
2. Added new measurements and fixed LiDAR fan angle.
3. Updated dynamic model; collision shape is untested still.
4. Minor bugfixes.
1. Collision, IMU sensor untested yet, but LIDAR seems fine.
2. Diffusion controller doesn't actually diffuse; only moves the robot.
3. .argos experiment file executes, but only contains a single robot.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants